oscillatingVelocityPointPatchVectorField.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-2016 OpenFOAM Foundation
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::oscillatingVelocityPointPatchVectorField
28
29Description
30 Foam::oscillatingVelocityPointPatchVectorField
31
32SourceFiles
33 oscillatingVelocityPointPatchVectorField.C
34
35\*---------------------------------------------------------------------------*/
36
37#ifndef oscillatingVelocityPointPatchVectorField_H
38#define oscillatingVelocityPointPatchVectorField_H
39
41
42// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44namespace Foam
45{
46
47/*---------------------------------------------------------------------------*\
48 Class oscillatingVelocityPointPatchVectorField Declaration
49\*---------------------------------------------------------------------------*/
52:
53 public fixedValuePointPatchField<vector>
54{
55 // Private data
56
57 vector amplitude_;
58 scalar omega_;
59
60 pointField p0_;
61
62
63public:
64
65 //- Runtime type information
66 TypeName("oscillatingVelocity");
67
68
69 // Constructors
70
71 //- Construct from patch and internal field
73 (
74 const pointPatch&,
76 );
77
78 //- Construct from patch, internal field and dictionary
80 (
81 const pointPatch&,
83 const dictionary&
84 );
85
86 //- Construct by mapping given patchField<vector> onto a new patch
88 (
90 const pointPatch&,
93 );
94
95 //- Construct and return a clone
97 {
99 (
101 (
102 *this
103 )
104 );
105 }
106
107 //- Construct as copy setting internal field reference
109 (
112 );
113
114 //- Construct and return a clone setting internal field reference
116 (
118 ) const
119 {
121 (
123 (
124 *this,
125 iF
126 )
127 );
128 }
129
130
131 // Member functions
132
133 // Mapping functions
134
135 //- Map (and resize as needed) from self given a mapping object
136 virtual void autoMap
137 (
139 );
140
141 //- Reverse map the given pointPatchField onto this pointPatchField
142 virtual void rmap
143 (
145 const labelList&
146 );
147
148
149 // Evaluation functions
150
151 //- Update the coefficients associated with the patch field
152 virtual void updateCoeffs();
153
154
155 //- Write
156 virtual void write(Ostream&) const;
157};
158
159
160// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161
162} // End namespace Foam
163
164// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165
166#endif
167
168// ************************************************************************* //
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
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FixedValue boundary condition for pointField.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void rmap(const pointPatchField< vector > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
TypeName("oscillatingVelocity")
Runtime type information.
virtual autoPtr< pointPatchField< vector > > clone() const
Construct and return a clone.
virtual autoPtr< pointPatchField< vector > > clone(const DimensionedField< vector, pointMesh > &iF) const
Construct and return a clone setting internal field reference.
Foam::pointPatchFieldMapper.
Abstract base class for point-mesh patch fields.
Basic pointPatch represents a set of points from the mesh.
Definition: pointPatch.H:64
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73