maxwellSlipUFvPatchVectorField.H
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-2012 OpenFOAM Foundation
9 Copyright (C) 2017 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::maxwellSlipUFvPatchVectorField
29
30Description
31 Maxwell slip boundary condition including thermal creep and surface
32 curvature terms that can be optionally switched off.
33
34SourceFiles
35 fixedRhoFvPatchScalarField.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef maxwellSlipUFvPatchVectorField_H
40#define maxwellSlipUFvPatchVectorField_H
41
43#include "Switch.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
49
50/*---------------------------------------------------------------------------*\
51 Class maxwellSlipUFvPatch Declaration
52\*---------------------------------------------------------------------------*/
55:
56 public partialSlipFvPatchVectorField
57{
58 // Private data
59
60 //- Temperature field name, default = "T"
61 word TName_;
62
63 //- Density field name, default = "rho"
64 word rhoName_;
65
66 //- Compressibility field name, default = "thermo:psi"
67 word psiName_;
68
69 //- Dynamic viscosity field name, default = "thermo:mu"
70 word muName_;
71
72 //- tauMC field name, default = "tauMC"
73 word tauMCName_;
74
75 // Accommodation coefficient
76 scalar accommodationCoeff_;
77
78 // Wall velocity
79 vectorField Uwall_;
80
81 // Include thermal creep term (default on)
82 Switch thermalCreep_;
83
84 // Include boundary curvature term (default on)
85 Switch curvature_;
86
87
88public:
89
90 //- Runtime type information
91 TypeName("maxwellSlipU");
92
93
94 // Constructors
95
96 //- Construct from patch and internal field
98 (
99 const fvPatch&,
101 );
102
103 //- Construct from patch, internal field and dictionary
105 (
106 const fvPatch&,
108 const dictionary&
109 );
110
111 //- Construct by mapping given
112 // maxwellSlipUFvPatchVectorField onto a new patch
114 (
116 const fvPatch&,
118 const fvPatchFieldMapper&
119 );
120
121 //- Construct and return a clone
122 virtual tmp<fvPatchVectorField> clone() const
123 {
125 (
127 );
128 }
129
130 //- Construct as copy setting internal field reference
132 (
135 );
136
137 //- Construct and return a clone setting internal field reference
139 (
141 ) const
142 {
144 (
145 new maxwellSlipUFvPatchVectorField(*this, iF)
146 );
147 }
148
149
150 // Member functions
151
152 //- Update the coefficients associated with the patch field
153 virtual void updateCoeffs();
154
155 //- Write
156 virtual void write(Ostream&) const;
157};
158
159
160// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161
162} // End namespace Foam
163
164// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165
166#endif
167
168// ************************************************************************* //
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:62
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:78
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
Maxwell slip boundary condition including thermal creep and surface curvature terms that can be optio...
maxwellSlipUFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
TypeName("maxwellSlipU")
Runtime type information.
maxwellSlipUFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
maxwellSlipUFvPatchVectorField(const maxwellSlipUFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
Construct as copy setting internal field reference.
virtual void write(Ostream &) const
Write.
A class for managing temporary objects.
Definition: tmp.H:65
A class for handling words, derived from Foam::string.
Definition: word.H:68
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73