maxwellSlipUFvPatchVectorField.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) 2011-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::maxwellSlipUFvPatchVectorField
26 
27 Description
28  Maxwell slip boundary condition including thermal creep and surface
29  curvature terms that can be optionally switched off.
30 
31 SourceFiles
32  fixedRhoFvPatchScalarField.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef maxwellSlipUFvPatchVectorField_H
37 #define maxwellSlipUFvPatchVectorField_H
38 
40 #include "Switch.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 
47 /*---------------------------------------------------------------------------*\
48  Class maxwellSlipUFvPatch Declaration
49 \*---------------------------------------------------------------------------*/
50 
52 :
53  public mixedFixedValueSlipFvPatchVectorField
54 {
55  // Private Data
56 
57  //- Temperature field name, default = "T"
58  word TName_;
59 
60  //- Density field name, default = "rho"
61  word rhoName_;
62 
63  //- Compressibility field name, default = "psi"
64  word psiName_;
65 
66  //- Dynamic viscosity field name, default = "mu"
67  word muName_;
68 
69  // Accommodation coefficient
70  scalar accommodationCoeff_;
71 
72  // Wall velocity
73  vectorField Uwall_;
74 
75  // Include thermal creep term (default on)
76  Switch thermalCreep_;
77 
78  // Include boundary curvature term (default on)
79  Switch curvature_;
80 
81 
82 public:
83 
84  //- Runtime type information
85  TypeName("maxwellSlipU");
86 
87 
88  // Constructors
89 
90  //- Construct from patch, internal field and dictionary
92  (
93  const fvPatch&,
95  const dictionary&
96  );
97 
98  //- Construct by mapping given
99  // maxwellSlipUFvPatchVectorField onto a new patch
101  (
103  const fvPatch&,
105  const fvPatchFieldMapper&
106  );
107 
108  //- Construct as copy setting internal field reference
110  (
113  );
114 
115  //- Construct and return a clone setting internal field reference
117  (
119  ) const
120  {
122  (
123  new maxwellSlipUFvPatchVectorField(*this, iF)
124  );
125  }
126 
127 
128  // Member Functions
129 
130  // Mapping functions
131 
132  //- Map the given fvPatchField onto this fvPatchField
133  virtual void map
134  (
135  const fvPatchVectorField&,
136  const fvPatchFieldMapper&
137  );
138 
139  //- Reset the fvPatchField to the given fvPatchField
140  // Used for mesh to mesh mapping
141  virtual void reset(const fvPatchVectorField&);
142 
143 
144  // Evaluation functions
145 
146  //- Update the coefficients associated with the patch field
147  virtual void updateCoeffs();
148 
149 
150  //- Write
151  virtual void write(Ostream&) const;
152 };
153 
154 
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 
157 } // End namespace Foam
158 
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 
161 #endif
162 
163 // ************************************************************************* //
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 simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:61
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
Foam::fvPatchFieldMapper.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Definition: fvPatchField.H:87
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
Maxwell slip boundary condition including thermal creep and surface curvature terms that can be optio...
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
maxwellSlipUFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("maxwellSlipU")
Runtime type information.
virtual void map(const fvPatchVectorField &, const fvPatchFieldMapper &)
Map the given fvPatchField onto this fvPatchField.
virtual void reset(const fvPatchVectorField &)
Reset the fvPatchField to the given fvPatchField.
A class for managing temporary objects.
Definition: tmp.H:55
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.