Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / postProcessing / functionObjects / utilities / dsmcFields / dsmcFields.H
blob611a210f135f78507ba5699159879a877a7c185a
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::dsmcFields
27 Description
28     Calculate intensive fields:
29     - UMean
30     - translationalT
31     - internalT
32     - overallT
33     from averaged extensive fields from a DSMC calculation.
35 SourceFiles
36     dsmcFields.C
37     IOdsmcFields.H
39 \*---------------------------------------------------------------------------*/
41 #ifndef dsmcFields_H
42 #define dsmcFields_H
44 #include "pointFieldFwd.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 namespace Foam
51 // Forward declaration of classes
52 class objectRegistry;
53 class dictionary;
54 class mapPolyMesh;
56 /*---------------------------------------------------------------------------*\
57                            Class dsmcFields Declaration
58 \*---------------------------------------------------------------------------*/
60 class dsmcFields
62     // Private data
64         //- Name of this set of dsmcFields objects
65         word name_;
67         const objectRegistry& obr_;
69         //- on/off switch
70         bool active_;
72     // Private Member Functions
74         //- Disallow default bitwise copy construct
75         dsmcFields(const dsmcFields&);
77         //- Disallow default bitwise assignment
78         void operator=(const dsmcFields&);
81 public:
83     //- Runtime type information
84     TypeName("dsmcFields");
87     // Constructors
89         //- Construct for given objectRegistry and dictionary.
90         //  Allow the possibility to load fields from files
91         dsmcFields
92         (
93             const word& name,
94             const objectRegistry&,
95             const dictionary&,
96             const bool loadFromFiles = false
97         );
100     // Destructor
102         virtual ~dsmcFields();
105     // Member Functions
107         //- Return name of the set of dsmcFields
108         virtual const word& name() const
109         {
110             return name_;
111         }
113         //- Read the dsmcFields data
114         virtual void read(const dictionary&);
116         //- Execute, currently does nothing
117         virtual void execute();
119         //- Execute at the final time-loop, currently does nothing
120         virtual void end();
122         //- Calculate the dsmcFields and write
123         virtual void write();
125         //- Update for changes of mesh
126         virtual void updateMesh(const mapPolyMesh&)
127         {}
129         //- Update for changes of mesh
130         virtual void movePoints(const pointField&)
131         {}
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 } // End namespace Foam
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 #endif
143 // ************************************************************************* //