Loading...
Searching...
No Matches
oscillatingDisplacementPointPatchVectorField.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::oscillatingDisplacementPointPatchVectorField
28
29Description
30 Foam::oscillatingDisplacementPointPatchVectorField
31
32SourceFiles
33 oscillatingDisplacementPointPatchVectorField.C
34
35\*---------------------------------------------------------------------------*/
36
37#ifndef oscillatingDisplacementPointPatchVectorField_H
38#define oscillatingDisplacementPointPatchVectorField_H
39
41
42// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44namespace Foam
45{
47/*---------------------------------------------------------------------------*\
48 Class oscillatingDisplacementPointPatchVectorField Declaration
49\*---------------------------------------------------------------------------*/
50
52:
53 public fixedValuePointPatchField<vector>
54{
55 // Private data
56
57 vector amplitude_;
58 scalar omega_;
59
60
61public:
62
63 //- Runtime type information
64 TypeName("oscillatingDisplacement");
65
66
67 // Constructors
68
69 //- Construct from patch and internal field
71 (
72 const pointPatch&,
74 );
75
76 //- Construct from patch, internal field and dictionary
78 (
79 const pointPatch&,
81 const dictionary&
82 );
83
84 //- Construct by mapping given patch field onto a new patch
86 (
88 const pointPatch&,
91 );
92
93 //- Construct as copy setting internal field reference
95 (
98 );
99
100 //- Return a clone
102 {
103 return pointPatchField<vector>::Clone(*this);
104 }
105
106 //- Construct and return a clone setting internal field reference
110 ) const
111 {
112 return pointPatchField<vector>::Clone(*this, iF);
113 }
114
115
116 // Member functions
117
118 // Evaluation functions
119
120 //- Update the coefficients associated with the patch field
121 virtual void updateCoeffs();
122
123
124 //- Write
125 virtual void write(Ostream&) const;
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:59
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
fixedValuePointPatchField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
oscillatingDisplacementPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
Construct from patch and internal field.
TypeName("oscillatingDisplacement")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual autoPtr< pointPatchField< vector > > clone() const
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.
static autoPtr< pointPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Basic pointPatch represents a set of points from the mesh.
Definition pointPatch.H:67
Namespace for OpenFOAM.
Vector< scalar > vector
Definition vector.H:57
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68