1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
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
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/>.
25 Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField
28 Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField
31 totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef totalFlowRateAdvectiveDiffusiveFvPatchScalarField_H
36 #define totalFlowRateAdvectiveDiffusiveFvPatchScalarField_H
38 #include "mixedFvPatchField.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class totalFlowRateAdvectiveDiffusiveFvPatchScalarField Declaration
47 \*---------------------------------------------------------------------------*/
49 class totalFlowRateAdvectiveDiffusiveFvPatchScalarField
51 public mixedFvPatchField<scalar>
55 //- Name of the flux transporting the field
58 //- Name of the density field used to normalise the mass flux
65 //- Runtime type information
66 TypeName("totalFlowRateAdvectiveDiffusive");
71 //- Construct from patch and internal field
72 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
75 const DimensionedField<scalar, volMesh>&
78 //- Construct from patch, internal field and dictionary
79 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
82 const DimensionedField<scalar, volMesh>&,
86 //- Construct by mapping given
87 // totalFlowRateAdvectiveDiffusiveFvPatchScalarField
89 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
91 const totalFlowRateAdvectiveDiffusiveFvPatchScalarField&,
93 const DimensionedField<scalar, volMesh>&,
94 const fvPatchFieldMapper&
98 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
100 const totalFlowRateAdvectiveDiffusiveFvPatchScalarField&
103 //- Construct and return a clone
104 virtual tmp<fvPatchField<scalar> > clone() const
106 return tmp<fvPatchField<scalar> >
109 totalFlowRateAdvectiveDiffusiveFvPatchScalarField(*this)
113 //- Construct as copy setting internal field reference
114 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
116 const totalFlowRateAdvectiveDiffusiveFvPatchScalarField&,
117 const DimensionedField<scalar, volMesh>&
120 //- Construct and return a clone setting internal field reference
121 virtual tmp<fvPatchField<scalar> > clone
123 const DimensionedField<scalar, volMesh>& iF
126 return tmp<fvPatchField<scalar> >
129 totalFlowRateAdvectiveDiffusiveFvPatchScalarField
142 //- Return reference to the name of the flux field
151 //- Map (and resize as needed) from self given a mapping object
154 const fvPatchFieldMapper&
157 //- Reverse map the given fvPatchField onto this fvPatchField
160 const fvPatchScalarField&,
165 // Evaluation functions
167 //- Update the coefficients associated with the patch field
168 virtual void updateCoeffs();
172 virtual void write(Ostream&) const;
176 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 } // End namespace Foam
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184 // ************************************************************************* //