injectionModel.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2017 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "injectionModel.H"
29 
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31 
32 namespace Foam
33 {
34 namespace regionModels
35 {
36 namespace surfaceFilmModels
37 {
38 
39 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
40 
43 
44 // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
45 
46 void injectionModel::addToInjectedMass(const scalar dMass)
47 {
48  injectedMass_ += dMass;
49 }
50 
51 
52 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
53 
54 injectionModel::injectionModel(surfaceFilmRegionModel& film)
55 :
56  filmSubModelBase(film),
57  injectedMass_(0.0)
58 {}
59 
60 
61 injectionModel::injectionModel
62 (
63  const word& modelType,
65  const dictionary& dict
66 )
67 :
68  filmSubModelBase(film, dict, typeName, modelType),
69  injectedMass_(0.0)
70 {}
71 
72 
73 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
74 
76 {}
77 
78 
79 // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
80 
82 {
83  if (writeTime())
84  {
85  scalar injectedMass0 = getModelProperty<scalar>("injectedMass");
86  injectedMass0 += returnReduce(injectedMass_, sumOp<scalar>());
87  setModelProperty<scalar>("injectedMass", injectedMass0);
88  injectedMass_ = 0.0;
89  }
90 }
91 
92 
94 {
95  scalar injectedMass0 = getModelProperty<scalar>("injectedMass");
96  return injectedMass0 + returnReduce(injectedMass_, sumOp<scalar>());
97 }
98 
99 
100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 
102 } // End namespace surfaceFilmModels
103 } // End namespace regionModels
104 } // End namespace Foam
105 
106 // ************************************************************************* //
dictionary dict
Base class for surface film sub-models.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
virtual bool writeTime() const
Flag to indicate when to write a property.
A class for handling words, derived from Foam::string.
Definition: word.H:63
void addToInjectedMass(const scalar dMass)
Add to injected mass.
Base class for film injection models, handling mass transfer from the film.
defineRunTimeSelectionTable(filmThermoModel, dictionary)
virtual scalar injectedMassTotal() const
Return the total mass injected.
defineTypeNameAndDebug(kinematicSingleLayer, 0)
Namespace for OpenFOAM.