divide.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::functionObjects::divide
26 
27 Description
28  Divide a list of fields.
29 
30  The numerator can be any volume or surface field and the denominators can
31  be scalar volume or surface fields.
32 
33  Example of function object specification:
34  \verbatim
35  Ttot
36  {
37  type divide;
38  libs ("libfieldFunctionObjects.so");
39  fields (rho p);
40  result psi;
41  executeControl writeTime;
42  writeControl writeTime;
43  }
44  \endverbatim
45 
46 See also
47  Foam::functionObjects::fieldsExpression
48  Foam::functionObjects::fvMeshFunctionObject
49 
50 SourceFiles
51  divide.C
52 
53 \*---------------------------------------------------------------------------*/
54 
55 #ifndef functionObjects_divide_H
56 #define functionObjects_divide_H
57 
58 #include "fieldsExpression.H"
59 
60 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
61 
62 namespace Foam
63 {
64 namespace functionObjects
65 {
66 
67 /*---------------------------------------------------------------------------*\
68  Class divide Declaration
69 \*---------------------------------------------------------------------------*/
70 
71 class divide
72 :
73  public fieldsExpression
74 {
75  // Private Member Functions
76 
77  //- Multiply the list of fields and return true if successful
78  virtual bool calc();
79 
80 
81 public:
82 
83  //- Runtime type information
84  TypeName("divide");
85 
86 
87  // Constructors
88 
89  //- Construct from Time and dictionary
90  divide
91  (
92  const word& name,
93  const Time& runTime,
94  const dictionary& dict
95  );
96 
97 
98  //- Destructor
99  virtual ~divide();
100 };
101 
102 
103 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104 
105 } // End namespace functionObjects
106 } // End namespace Foam
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 #endif
111 
112 // ************************************************************************* //
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:76
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
const word & name() const
Return the name of this functionObject.
Divide a list of fields.
Definition: divide.H:73
divide(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
Definition: divide.C:74
virtual ~divide()
Destructor.
Definition: divide.C:88
TypeName("divide")
Runtime type information.
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
dictionary dict