oscillatingDisplacementPointPatchVectorField.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::oscillatingDisplacementPointPatchVectorField
26 
27 Description
28  Foam::oscillatingDisplacementPointPatchVectorField
29 
30 SourceFiles
31  oscillatingDisplacementPointPatchVectorField.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef oscillatingDisplacementPointPatchVectorField_H
36 #define oscillatingDisplacementPointPatchVectorField_H
37 
38 #include "pointPatchFields.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class oscillatingDisplacementPointPatchVectorField Declaration
48 \*---------------------------------------------------------------------------*/
49 
51 :
52  public fixedValuePointPatchVectorField
53 {
54  // Private Data
55 
56  vector amplitude_;
57 
58  scalar omega_;
59 
60 
61 public:
62 
63  //- Runtime type information
64  TypeName("oscillatingDisplacement");
65 
66 
67  // Constructors
68 
69  //- Construct from patch, internal field and dictionary
71  (
72  const pointPatch&,
74  const dictionary&
75  );
76 
77  //- Construct by mapping given patchField<vector> onto a new patch
79  (
81  const pointPatch&,
83  const fieldMapper&
84  );
85 
86  //- Construct as copy setting internal field reference
88  (
91  );
92 
93  //- Construct and return a clone setting internal field reference
95  (
97  ) const
98  {
100  (
102  (
103  *this,
104  iF
105  )
106  );
107  }
108 
109 
110  // Member Functions
111 
112  // Evaluation functions
113 
114  //- Update the coefficients associated with the patch field
115  virtual void updateCoeffs();
116 
117 
118  //- Write
119  virtual void write(Ostream&) const;
120 
121 
122  // Member Operators
123 
124  //- Inherit assignment
125  using fixedValuePointPatchVectorField::operator=;
126 };
127 
128 
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 
131 } // End namespace Foam
132 
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134 
135 #endif
136 
137 // ************************************************************************* //
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
TypeName("oscillatingDisplacement")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
oscillatingDisplacementPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual autoPtr< pointPatchVectorField > clone(const DimensionedField< vector, pointMesh > &iF) const
Construct and return a clone setting internal field reference.
Basic pointPatch represents a set of points from the mesh.
Definition: pointPatch.H:61
Namespace for OpenFOAM.