Merge remote-tracking branch 'origin/nr/multiSolverFix' into nextRelease
[foam-extend-3.2.git] / src / postProcessing / functionObjects / utilities / dsmcFields / dsmcFields.H
blobb4ad8303643d7c166fad1e98dc28c9fda2456201
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM 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 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::dsmcFields
28 Description
29     Calculate intensive fields:
30     - UMean
31     - translationalT
32     - internalT
33     - overallT
34     from averaged extensive fields from a DSMC calculation.
36 SourceFiles
37     dsmcFields.C
38     IOdsmcFields.H
40 \*---------------------------------------------------------------------------*/
42 #ifndef dsmcFields_H
43 #define dsmcFields_H
45 #include "pointFieldFwd.H"
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 namespace Foam
52 // Forward declaration of classes
53 class objectRegistry;
54 class dictionary;
55 class mapPolyMesh;
57 /*---------------------------------------------------------------------------*\
58                            Class dsmcFields Declaration
59 \*---------------------------------------------------------------------------*/
61 class dsmcFields
63     // Private data
65         //- Name of this set of dsmcFields objects
66         word name_;
68         const objectRegistry& obr_;
70         //- on/off switch
71         bool active_;
73     // Private Member Functions
75         //- Disallow default bitwise copy construct
76         dsmcFields(const dsmcFields&);
78         //- Disallow default bitwise assignment
79         void operator=(const dsmcFields&);
82 public:
84     //- Runtime type information
85     TypeName("dsmcFields");
88     // Constructors
90         //- Construct for given objectRegistry and dictionary.
91         //  Allow the possibility to load fields from files
92         dsmcFields
93         (
94             const word& name,
95             const objectRegistry&,
96             const dictionary&,
97             const bool loadFromFiles = false
98         );
101     // Destructor
103         virtual ~dsmcFields();
106     // Member Functions
108         //- Return name of the set of dsmcFields
109         virtual const word& name() const
110         {
111             return name_;
112         }
114         //- Read the dsmcFields data
115         virtual void read(const dictionary&);
117         //- Execute, currently does nothing
118         virtual void execute();
120         //- Execute at the final time-loop, currently does nothing
121         virtual void end();
123         //- Calculate the dsmcFields and write
124         virtual void write();
126         //- Update for changes of mesh
127         virtual void updateMesh(const mapPolyMesh&)
128         {}
130         //- Update for changes of mesh
131         virtual void movePoints(const pointField&)
132         {}
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 } // End namespace Foam
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 #endif
144 // ************************************************************************* //