Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / postProcessing / foamCalcFunctions / field / componentsTurbo / componentsTurbo.H
blob29dde457cd51c204fe8cceb96084a4ce75a5a618
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::calcTypes::componentsTurbo
27 Description
28     Writes turbo scalar fields corresponding to radial, tangential and z
29     components of the supplied vector field (name) (usually a velocity field)
30     for each time.
32     Caveat: the current implementation expect the vector field to be centered
33             around the z-axis.
35 Author
36     Martin Beaudoin, Hydro-Quebec, 2012.  All rights reserved
38 SourceFiles
39     componentsTurbo.C
41 \*---------------------------------------------------------------------------*/
43 #ifndef componentsTurbo_H
44 #define componentsTurbo_H
46 #include "calcType.H"
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 namespace Foam
53 namespace calcTypes
56 /*---------------------------------------------------------------------------*\
57                          Class componentsTurbo Declaration
58 \*---------------------------------------------------------------------------*/
60 class componentsTurbo
62     public calcType
64     // Private Member Functions
66         //- Disallow default bitwise copy construct
67         componentsTurbo(const componentsTurbo&);
69         //- Disallow default bitwise assignment
70         void operator=(const componentsTurbo&);
73 protected:
75     // Member Functions
77         // Calculation routines
79             //- Initialise - typically setting static variables,
80             //  e.g. command line arguments
81             virtual void init();
83             //- Pre-time loop calculations
84             virtual void preCalc
85             (
86                 const argList& args,
87                 const Time& runTime,
88                 const fvMesh& mesh
89             );
91             //- Time loop calculations
92             virtual void calc
93             (
94                 const argList& args,
95                 const Time& runTime,
96                 const fvMesh& mesh
97             );
100         // I-O
102             //- Write component fields
103             template<class Type>
104             void writeComponentFields
105             (
106                 const IOobject& header,
107                 const fvMesh& mesh,
108                 bool& processed
109             );
112 public:
114     //- Runtime type information
115     TypeName("componentsTurbo");
118     // Constructors
120         //- Construct null
121         componentsTurbo();
124     // Destructor
126         virtual ~componentsTurbo();
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 } // End namespace calcTypes
133 } // End namespace Foam
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 #ifdef NoRepository
138 #   include "writeComponentTurboFields.C"
139 #endif
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 #endif
145 // ************************************************************************* //