waveAlphaFvPatchScalarField.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) 2016 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::waveAlphaFvPatchScalarField
28
29Description
30
31 Example of the boundary condition specification:
32 \verbatim
33 inlet
34 {
35 type waveAlpha;
36 value uniform (0 0 0);
37 }
38 \endverbatim
39
40Usage
41 \table
42 Property | Description | Required | Default value
43 type | type: waveAlpha | yes |
44 waveDict | Dictionary specifying wave variables | no | waveProperties
45 \endtable
46
47Note
48 - The value is positive inwards
49 - May not work correctly for transonic inlets
50 - Strange behaviour with potentialFoam since the U equation is not solved
51
52SourceFiles
53 waveAlphaFvPatchScalarField.C
54
55\*---------------------------------------------------------------------------*/
56
57#ifndef waveAlphaFvPatchScalarField_H
58#define waveAlphaFvPatchScalarField_H
59
61
62// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
63
64namespace Foam
65{
66/*---------------------------------------------------------------------------*\
67 class waveAlphaFvPatchScalarField Declaration
68\*---------------------------------------------------------------------------*/
69
70class waveAlphaFvPatchScalarField
71:
72 public fixedValueFvPatchScalarField
73{
74 // Private data
75
76 //- Dictionary name
77 word waveDictName_;
78
79
80public:
81
82 //- Runtime type information
83 TypeName("waveAlpha");
85
86 // Constructors
87
88 //- Construct from patch and internal field
90 (
91 const fvPatch&,
93 );
94
95 //- Construct from patch, internal field and dictionary
97 (
98 const fvPatch&,
100 const dictionary&
101 );
102
103 //- Construct by mapping given
104 // waveAlphaFvPatchScalarField
105 // onto a new patch
107 (
109 const fvPatch&,
111 const fvPatchFieldMapper&
112 );
113
114 //- Construct as copy
116 (
118 );
119
120 //- Construct and return a clone
121 virtual tmp<fvPatchScalarField> clone() const
122 {
124 (
126 );
127 }
128
129 //- Construct as copy setting internal field reference
131 (
134 );
136 //- Construct and return a clone setting internal field reference
138 (
140 ) const
141 {
143 (
144 new waveAlphaFvPatchScalarField(*this, iF)
145 );
146 }
147
148
149 // Member functions
150
151 //- Update the coefficients associated with the patch field
152 virtual void updateCoeffs();
153
154 //- Write
155 virtual void write(Ostream&) const;
156};
157
158
159// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160
161} // End namespace Foam
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:62
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
A class for managing temporary objects.
Definition: tmp.H:65
Example of the boundary condition specification:
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
TypeName("waveAlpha")
Runtime type information.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
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