Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / postProcessing / functionObjects / utilities / dsmcFields / dsmcFields.H
blobb18ec3c92c2dc306a485fa84da0d34b35fc24c94
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2009-2011 OpenCFD Ltd.
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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, 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
101     virtual ~dsmcFields();
104     // Member Functions
106         //- Return name of the set of dsmcFields
107         virtual const word& name() const
108         {
109             return name_;
110         }
112         //- Read the dsmcFields data
113         virtual void read(const dictionary&);
115         //- Execute, currently does nothing
116         virtual void execute();
118         //- Execute at the final time-loop, currently does nothing
119         virtual void end();
121         //- Calculate the dsmcFields and write
122         virtual void write();
124         //- Update for changes of mesh
125         virtual void updateMesh(const mapPolyMesh&)
126         {}
128         //- Update for changes of mesh
129         virtual void movePoints(const pointField&)
130         {}
134 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 } // End namespace Foam
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 #endif
142 // ************************************************************************* //