waWallFunctionFvPatchScalarField.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) 2014-2022 PCOpt/NTUA
9 Copyright (C) 2014-2022 FOSS GP
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
27
28Class
29 Foam::waWallFunctionFvPatchScalarField
30
31Description
32
33SourceFiles
34 waWallFunctionFvPatchScalarField.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef waWallFunctionFvPatchScalarField_H
39#define waWallFunctionFvPatchScalarField_H
40
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class waWallFunctionFvPatchScalarField Declaration
51\*---------------------------------------------------------------------------*/
54:
55 public fixedValueFvPatchField<scalar>,
57{
58
59 // Private member functions
60
61 //- Check the type of the patch
62 void checkType();
63
64
65public:
66
67 //- Runtime type information
68 TypeName("waWallFunction");
69
70
71 // Constructors
72
73 //- Construct from patch and internal field
75 (
76 const fvPatch&,
78 );
79
80 //- Construct from patch, internal field and dictionary
82 (
83 const fvPatch&,
85 const dictionary&
86 );
87
88 //- Construct by mapping given
89 // waWallFunctionFvPatchScalarField
90 // onto a new patch
92 (
94 const fvPatch&,
97 );
98
99 //- Construct as copy
101 (
103 );
104
105 //- Construct and return a clone
106 virtual tmp<fvPatchScalarField> clone() const
107 {
109 (
111 );
112 }
113
114 //- Construct as copy setting internal field reference
116 (
119 );
120
121 //- Construct and return a clone setting internal field reference
123 (
125 ) const
126 {
128 (
130 );
131 }
132
133
134 // Member functions
135
136 // Evaluation functions
137
138 //- Manipulate waEqn at the cells next to the wall
139 virtual void manipulateMatrix(fvMatrix<scalar>& matrix);
140
141 //- Update the coefficients associated with the patch field
142 virtual void updateCoeffs();
143
144 //- Return the matrix diagonal coefficients corresponding to the
145 //- evaluation of the value of this patchField with given weights
147 (
148 const tmp<scalarField>&
149 ) const;
150
151 //- Return the matrix source coefficients corresponding to the
152 //- evaluation of the value of this patchField with given weights
154 (
155 const tmp<scalarField>&
156
157 ) const;
158
159 //- Return the matrix source coefficients corresponding to the
160 //- evaluation of the gradient of this patchField
162
163 //- Return the matrix diagonal coefficients corresponding to the
164 //- evaluation of the gradient of this patchField
166
167
168
169 // I-O
170
171 //- Write
172 void write(Ostream&) const;
173};
174
175
176// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177
178} // End namespace Foam
179
180// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181
182#endif
183
184// ************************************************************************* //
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
Base class for solution control classes.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
This boundary condition supplies a fixed value constraint, and is the base class for a number of othe...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Definition: fvMatrix.H:121
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
A class for managing temporary objects.
Definition: tmp.H:65
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< Field< scalar > > gradientBoundaryCoeffs() const
TypeName("waWallFunction")
Runtime type information.
virtual void manipulateMatrix(fvMatrix< scalar > &matrix)
Manipulate waEqn at the cells next to the wall.
virtual tmp< Field< scalar > > valueBoundaryCoeffs(const tmp< scalarField > &) const
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
virtual tmp< Field< scalar > > valueInternalCoeffs(const tmp< scalarField > &) const
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< Field< scalar > > gradientInternalCoeffs() const
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73