Fix tutorials: typo in tutorials/viscoelastic/viscoelasticFluidFoam/S-MDCPP/constant...
[OpenFOAM-1.6-ext.git] / src / fvMotionSolver / pointPatchFields / derived / angularOscillatingDisplacement / angularOscillatingDisplacementPointPatchVectorField.H
blobbbb9f5b71f21b3fc1e8dd03011c02cc0cc4d3dbe
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::angularOscillatingDisplacementPointPatchVectorField
28 Description
29     Foam::angularOscillatingDisplacementPointPatchVectorField
31 SourceFiles
32     angularOscillatingDisplacementPointPatchVectorField.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef angularOscillatingDisplacementPointPatchVectorField_H
37 #define angularOscillatingDisplacementPointPatchVectorField_H
39 #include "fixedValuePointPatchFields.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 /*---------------------------------------------------------------------------*\
47         Class angularOscillatingDisplacementPointPatchVectorField Declaration
48 \*---------------------------------------------------------------------------*/
50 class angularOscillatingDisplacementPointPatchVectorField
52     public FixedValuePointPatchField
53     <
54         pointPatchField,
55         pointMesh,
56         pointPatch,
57         DummyMatrix,
58         vector
59     >
61     // Private data
63         vector axis_;
64         vector origin_;
65         scalar angle0_;
66         scalar amplitude_;
67         scalar omega_;
69         pointField p0_;
72 public:
74     //- Runtime type information
75     TypeName("angularOscillatingDisplacement");
78     // Constructors
80         //- Construct from patch and internal field
81         angularOscillatingDisplacementPointPatchVectorField
82         (
83             const pointPatch&,
84             const DimensionedField<vector, pointMesh>&
85         );
87         //- Construct from patch, internal field and dictionary
88         angularOscillatingDisplacementPointPatchVectorField
89         (
90             const pointPatch&,
91             const DimensionedField<vector, pointMesh>&,
92             const dictionary&
93         );
95         //- Construct by mapping given patchField<vector> onto a new patch
96         angularOscillatingDisplacementPointPatchVectorField
97         (
98             const angularOscillatingDisplacementPointPatchVectorField&,
99             const pointPatch&,
100             const DimensionedField<vector, pointMesh>&,
101             const PointPatchFieldMapper&
102         );
104         //- Construct and return a clone
105         virtual autoPtr<pointPatchField<vector> > clone() const
106         {
107             return autoPtr<pointPatchField<vector> >
108             (
109                 new angularOscillatingDisplacementPointPatchVectorField
110                 (
111                     *this
112                 )
113             );
114         }
116         //- Construct as copy setting internal field reference
117         angularOscillatingDisplacementPointPatchVectorField
118         (
119             const angularOscillatingDisplacementPointPatchVectorField&,
120             const DimensionedField<vector, pointMesh>&
121         );
123         //- Construct and return a clone setting internal field reference
124         virtual autoPtr<pointPatchField<vector> > clone
125         (
126             const DimensionedField<vector, pointMesh>& iF
127         ) const
128         {
129             return autoPtr<pointPatchField<vector> >
130             (
131                 new angularOscillatingDisplacementPointPatchVectorField
132                 (
133                     *this,
134                     iF
135                 )
136             );
137         }
140     // Member functions
142         // Evaluation functions
144             //- Update the coefficients associated with the patch field
145             virtual void updateCoeffs();
148         //- Write
149         virtual void write(Ostream&) const;
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 } // End namespace Foam
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 #endif
161 // ************************************************************************* //