transferModel.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) 2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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 "transferModel.H"
29
30// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31
32namespace Foam
33{
34namespace regionModels
35{
36namespace surfaceFilmModels
37{
38
39// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
40
43
44// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
45
47{
48 transferredMass_ += dMass;
49}
50
51
52// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
53
55:
56 filmSubModelBase(film),
57 transferredMass_(0.0)
58{}
59
60
62(
63 const word& modelType,
65 const dictionary& dict
66)
67:
68 filmSubModelBase(film, dict, typeName, modelType),
69 transferredMass_(0)
70{}
71
72
73// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
74
76{}
77
78
79// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
80
82{
83 if (writeTime())
84 {
85 scalar transferredMass0 = getModelProperty<scalar>("transferredMass");
86 transferredMass0 += returnReduce(transferredMass_, sumOp<scalar>());
87 setModelProperty<scalar>("transferredMass", transferredMass0);
88 transferredMass_ = 0.0;
89 }
90}
91
93(
94 scalarField& availableMass,
95 scalarField& massToTransfer,
96 scalarField& energyToTransfer
97)
98{
99 scalarField massToTransfer0(massToTransfer.size(), Zero);
100 correct(availableMass, massToTransfer0);
101 massToTransfer += massToTransfer0;
102 energyToTransfer += massToTransfer0*film().hs();
103}
104
106{
107 scalar transferredMass0 = getModelProperty<scalar>("transferredMass");
108 return transferredMass0 + returnReduce(transferredMass_, sumOp<scalar>());
109}
110
111
112// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113
114} // End namespace surfaceFilmModels
115} // End namespace regionModels
116} // End namespace Foam
117
118// ************************************************************************* //
void size(const label n)
Older name for setAddressableSize.
Definition: UList.H:114
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Base class for surface film sub-models.
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
virtual bool writeTime() const
Flag to indicate when to write a property.
virtual const volScalarField & hs() const =0
Return the film surface temperature [J/kg].
Base class for film transfer models, handling mass transfer between the film and the continuous phase...
Definition: transferModel.H:61
void addToTransferredMass(const scalar dMass)
Add to transferred mass.
Definition: transferModel.C:46
virtual scalar transferredMassTotal() const
Return the total mass transferred.
A class for handling words, derived from Foam::string.
Definition: word.H:68
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition: className.H:121
Namespace for OpenFOAM.
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce (copy) and return value.
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
dictionary dict