oscillatingVelocityPointPatchVectorField.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2026 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::oscillatingVelocityPointPatchVectorField
26 
27 Description
28  Foam::oscillatingVelocityPointPatchVectorField
29 
30 SourceFiles
31  oscillatingVelocityPointPatchVectorField.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef oscillatingVelocityPointPatchVectorField_H
36 #define oscillatingVelocityPointPatchVectorField_H
37 
38 #include "pointPatchFields.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class oscillatingVelocityPointPatchVectorField Declaration
48 \*---------------------------------------------------------------------------*/
49 
51 :
52  public fixedValuePointPatchVectorField
53 {
54  // Private Data
55 
56  vector amplitude_;
57 
58  scalar omega_;
59 
60  pointField p0_;
61 
62 
63 public:
64 
65  //- Runtime type information
66  TypeName("oscillatingVelocity");
67 
68 
69  // Constructors
70 
71  //- Construct from patch, internal field and dictionary
73  (
74  const pointPatch&,
76  const dictionary&
77  );
78 
79  //- Construct by mapping given
80  // oscillatingVelocityPointPatchVectorField
81  // onto a new patch
83  (
85  const pointPatch&,
87  const fieldMapper&
88  );
89 
90  //- Construct as copy setting internal field reference
92  (
95  );
96 
97  //- Construct and return a clone setting internal field reference
99  (
101  ) const
102  {
104  (
106  (
107  *this,
108  iF
109  )
110  );
111  }
112 
113 
114  // Member Functions
115 
116  // Mapping functions
117 
118  //- Map the given pointPatchField onto this pointPatchField
119  virtual void map(const pointPatchVectorField&, const fieldMapper&);
120 
121  //- Reset the pointPatchField to the given pointPatchField
122  // Used for mesh to mesh mapping
123  virtual void reset(const pointPatchVectorField&);
124 
125 
126  // Evaluation functions
127 
128  //- Update the coefficients associated with the patch field
129  virtual void updateCoeffs();
130 
131 
132  //- Write
133  virtual void write(Ostream&) const;
134 
135 
136  // Member Operators
137 
138  //- Inherit assignment
139  using fixedValuePointPatchVectorField::operator=;
140 };
141 
142 
143 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 
145 } // End namespace Foam
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 #endif
150 
151 // ************************************************************************* //
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:57
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Abstract base class for field mapping.
Definition: fieldMapper.H:48
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void reset(const pointPatchVectorField &)
Reset the pointPatchField to the given pointPatchField.
virtual void map(const pointPatchVectorField &, const fieldMapper &)
Map the given pointPatchField onto this pointPatchField.
virtual autoPtr< pointPatchVectorField > clone(const DimensionedField< vector, pointMesh > &iF) const
Construct and return a clone setting internal field reference.
TypeName("oscillatingVelocity")
Runtime type information.
oscillatingVelocityPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
Abstract base class for point-mesh patch fields.
Basic pointPatch represents a set of points from the mesh.
Definition: pointPatch.H:61
Namespace for OpenFOAM.