waveVelocityFvPatchVectorField.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::waveVelocityFvPatchVectorField
28
29Description
30 Example of the boundary condition specification:
31 \verbatim
32 inlet
33 {
34 type waveVelocity;
35 value uniform (0 0 0);
36 }
37 \endverbatim
38
39Usage
40 \table
41 Property | Description | Required | Default value
42 type | type: waveVelocity | yes |
43 waveDict | Dictionary specifying wave variables | no | waveProperties
44 \endtable
45
46Note
47 - The value is positive inwards
48 - May not work correctly for transonic inlets
49 - Strange behaviour with potentialFoam since the U equation is not solved
50
51SourceFiles
52 waveVelocityFvPatchVectorField.C
53
54\*---------------------------------------------------------------------------*/
55
56#ifndef waveVelocityFvPatchVectorField_H
57#define waveVelocityFvPatchVectorField_H
58
60
61// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62
63namespace Foam
64{
65
66/*---------------------------------------------------------------------------*\
67 Class waveVelocityFvPatchVectorField Declaration
68\*---------------------------------------------------------------------------*/
69
70class waveVelocityFvPatchVectorField
71:
72 public fixedValueFvPatchVectorField
73{
74 // Private data
75
76 //- Dictionary name
77 word waveDictName_;
78
79
80public:
81
82 //- Runtime type information
83 TypeName("waveVelocity");
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 // waveVelocityFvPatchVectorField
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<fvPatchVectorField> 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 waveVelocityFvPatchVectorField(*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< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("waveVelocity")
Runtime type information.
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