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 -------------------------------------------------------------------------------
11 License
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 
27 Class
28  Foam::maxwellSlipUFvPatchVectorField
29 
30 Description
31  Maxwell slip boundary condition including thermal creep and surface
32  curvature terms that can be optionally switched off.
33 
34 SourceFiles
35  fixedRhoFvPatchScalarField.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef maxwellSlipUFvPatchVectorField_H
40 #define maxwellSlipUFvPatchVectorField_H
41 
43 #include "Switch.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class maxwellSlipUFvPatch Declaration
52 \*---------------------------------------------------------------------------*/
53 
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 
88 public:
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 as copy setting internal field reference
123  (
126  );
127 
128  //- Return a clone
129  virtual tmp<fvPatchField<vector>> clone() const
130  {
131  return fvPatchField<vector>::Clone(*this);
132  }
133 
134  //- Clone with an internal field reference
136  (
138  ) const
139  {
140  return fvPatchField<vector>::Clone(*this, iF);
141  }
142 
143 
144  // Member functions
145 
146  //- Update the coefficients associated with the patch field
147  virtual void updateCoeffs();
148 
149  //- Write
150  virtual void write(Ostream&) const;
151 };
152 
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 } // End namespace Foam
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #endif
161 
162 // ************************************************************************* //
virtual void write(Ostream &) const
Write.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
Definition: Switch.H:77
Maxwell slip boundary condition including thermal creep and surface curvature terms that can be optio...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("maxwellSlipU")
Runtime type information.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Definition: fvPatchField.H:597
A class for handling words, derived from Foam::string.
Definition: word.H:63
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
maxwellSlipUFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
Namespace for OpenFOAM.