Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 #ifndef angularOscillatingVelocityPointPatchVectorField_H
00036 #define angularOscillatingVelocityPointPatchVectorField_H
00037 
00038 #include <OpenFOAM/fixedValuePointPatchField.H>
00039 
00040 
00041 
00042 namespace Foam
00043 {
00044 
00045 
00046 
00047 
00048 
00049 class angularOscillatingVelocityPointPatchVectorField
00050 :
00051     public fixedValuePointPatchField<vector>
00052 {
00053     
00054 
00055         vector axis_;
00056         vector origin_;
00057         scalar angle0_;
00058         scalar amplitude_;
00059         scalar omega_;
00060 
00061         pointField p0_;
00062 
00063 
00064 public:
00065 
00066     
00067     TypeName("angularOscillatingVelocity");
00068 
00069 
00070     
00071 
00072         
00073         angularOscillatingVelocityPointPatchVectorField
00074         (
00075             const pointPatch&,
00076             const DimensionedField<vector, pointMesh>&
00077         );
00078 
00079         
00080         angularOscillatingVelocityPointPatchVectorField
00081         (
00082             const pointPatch&,
00083             const DimensionedField<vector, pointMesh>&,
00084             const dictionary&
00085         );
00086 
00087         
00088         angularOscillatingVelocityPointPatchVectorField
00089         (
00090             const angularOscillatingVelocityPointPatchVectorField&,
00091             const pointPatch&,
00092             const DimensionedField<vector, pointMesh>&,
00093             const pointPatchFieldMapper&
00094         );
00095 
00096         
00097         virtual autoPtr<pointPatchField<vector> > clone() const
00098         {
00099             return autoPtr<pointPatchField<vector> >
00100             (
00101                 new angularOscillatingVelocityPointPatchVectorField
00102                 (
00103                     *this
00104                 )
00105             );
00106         }
00107 
00108         
00109         angularOscillatingVelocityPointPatchVectorField
00110         (
00111             const angularOscillatingVelocityPointPatchVectorField&,
00112             const DimensionedField<vector, pointMesh>&
00113         );
00114 
00115         
00116         virtual autoPtr<pointPatchField<vector> > clone
00117         (
00118             const DimensionedField<vector, pointMesh>& iF
00119         ) const
00120         {
00121             return autoPtr<pointPatchField<vector> >
00122             (
00123                 new angularOscillatingVelocityPointPatchVectorField
00124                 (
00125                     *this,
00126                     iF
00127                 )
00128             );
00129         }
00130 
00131 
00132     
00133 
00134         
00135 
00136             
00137             virtual void autoMap
00138             (
00139                 const pointPatchFieldMapper&
00140             );
00141 
00142             
00143             virtual void rmap
00144             (
00145                 const pointPatchField<vector>&,
00146                 const labelList&
00147             );
00148 
00149 
00150         
00151 
00152             
00153             virtual void updateCoeffs();
00154 
00155 
00156         
00157         virtual void write(Ostream&) const;
00158 };
00159 
00160 
00161 
00162 
00163 } 
00164 
00165 
00166 
00167 #endif
00168 
00169