specieTransferVelocityFvPatchVectorField.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) 2019-2023 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::specieTransferVelocityFvPatchVectorField
26 
27 Description
28  This is a velocity boundary condition for a specie-transferring wall.
29 
30  This condition must be used in conjunction with mass-fraction boundary
31  conditions derived from specieTransferMassFractionFvPatchScalarField, and a
32  specieTransferTemperature condition for the temperature.
33 
34  This condition sums the species' mass fluxes generated by the
35  mass-fraction conditions, and uses this total to set the normal velocity
36  into or out of the wall.
37 
38 Usage
39  \table
40  Property | Description | Req'd? | Default
41  rho | Name of the density field | no | rho
42  \endtable
43 
44  Example of the boundary condition specification:
45  \verbatim
46  <patchName>
47  {
48  type specieTransferVelocity;
49  value $internalField;
50  }
51  \endverbatim
52 
53 See also
54  Foam::specieTransferMassFractionFvPatchScalarField
55  Foam::specieTransferTemperatureFvPatchScalarField
56 
57 SourceFiles
58  specieTransferVelocityFvPatchVectorField.C
59 
60 \*---------------------------------------------------------------------------*/
61 
62 #ifndef specieTransferVelocityFvPatchVectorField_H
63 #define specieTransferVelocityFvPatchVectorField_H
64 
66 
67 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
68 
69 namespace Foam
70 {
71 
72 /*---------------------------------------------------------------------------*\
73  Class specieTransferVelocityFvPatchVectorField Declaration
74 \*---------------------------------------------------------------------------*/
75 
76 class specieTransferVelocityFvPatchVectorField
77 :
78  public fixedValueInletOutletFvPatchField<vector>
79 {
80  // Private Data
81 
82  //- Name of the density field
83  const word rhoName_;
84 
85 
86 public:
87 
88  //- Runtime type information
89  TypeName("specieTransferVelocity");
90 
91 
92  // Constructors
93 
94  //- Construct from patch, internal field and dictionary
96  (
97  const fvPatch&,
99  const dictionary&
100  );
101 
102  //- Construct by mapping given fixedValueTypeFvPatchField
103  // onto a new patch
105  (
107  const fvPatch&,
109  const fvPatchFieldMapper&
110  );
111 
112  //- Disallow copy without setting internal field reference
114  (
116  ) = delete;
117 
118  //- Copy constructor setting internal field reference
120  (
123  );
124 
125  //- Construct and return a clone setting internal field reference
127  (
129  ) const
130  {
132  (
134  (
135  *this,
136  iF
137  )
138  );
139  }
140 
141 
142  // Member Functions
143 
144  // Evaluation functions
145 
146  //- Return the flux
147  const tmp<scalarField> phip() const;
148 
149  //- Update the coefficients associated with the patch field
150  virtual void updateCoeffs();
151 
152 
153  //- Write
154  virtual void write(Ostream&) const;
155 };
156 
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 } // End namespace Foam
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 
165 #endif
166 
167 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
Foam::fvPatchFieldMapper.
tmp< fvPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
Definition: fvPatchField.H:203
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
This is a velocity boundary condition for a specie-transferring wall.
const tmp< scalarField > phip() const
Return the flux.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
specieTransferVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
TypeName("specieTransferVelocity")
Runtime type information.
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.