Loading...
Searching...
No Matches
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
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");
84
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 as copy setting internal field reference
122 (
125 );
126
127 //- Return a clone
128 virtual tmp<fvPatchField<vector>> clone() const
129 {
130 return fvPatchField<vector>::Clone(*this);
131 }
132
133 //- Clone with an internal field reference
135 (
137 ) const
138 {
139 return fvPatchField<vector>::Clone(*this, iF);
140 }
141
142
143 // Member functions
144
145 //- Update the coefficients associated with the patch field
146 virtual void updateCoeffs();
147
148 //- Write
149 virtual void write(Ostream&) const;
150};
151
152
153// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154
155} // End namespace Foam
156
157// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158
159#endif
160
161// ************************************************************************* //
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:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
A class for managing temporary objects.
Definition tmp.H:75
Example of the boundary condition specification:
waveVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< fvPatchField< vector > > clone(const DimensionedField< vector, volMesh > &iF) const
Clone with an internal field reference.
TypeName("waveVelocity")
Runtime type information.
A class for handling words, derived from Foam::string.
Definition word.H:66
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68