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 uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField_H
00036 #define uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField_H
00037
00038 #include <OpenFOAM/fixedValuePointPatchField.H>
00039 #include <forces/sixDoFRigidBodyMotion.H>
00040
00041
00042
00043 namespace Foam
00044 {
00045
00046
00047
00048
00049
00050 class uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00051 :
00052 public fixedValuePointPatchField<vector>
00053 {
00054
00055
00056
00057 sixDoFRigidBodyMotion motion_;
00058
00059
00060 pointField initialPoints_;
00061
00062
00063 public:
00064
00065
00066 TypeName("uncoupledSixDoFRigidBodyDisplacement");
00067
00068
00069
00070
00071
00072 uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00073 (
00074 const pointPatch&,
00075 const DimensionedField<vector, pointMesh>&
00076 );
00077
00078
00079 uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00080 (
00081 const pointPatch&,
00082 const DimensionedField<vector, pointMesh>&,
00083 const dictionary&
00084 );
00085
00086
00087 uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00088 (
00089 const uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField&,
00090 const pointPatch&,
00091 const DimensionedField<vector, pointMesh>&,
00092 const pointPatchFieldMapper&
00093 );
00094
00095
00096 virtual autoPtr<pointPatchField<vector> > clone() const
00097 {
00098 return autoPtr<pointPatchField<vector> >
00099 (
00100 new uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00101 (
00102 *this
00103 )
00104 );
00105 }
00106
00107
00108 uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00109 (
00110 const uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField&,
00111 const DimensionedField<vector, pointMesh>&
00112 );
00113
00114
00115 virtual autoPtr<pointPatchField<vector> > clone
00116 (
00117 const DimensionedField<vector, pointMesh>& iF
00118 ) const
00119 {
00120 return autoPtr<pointPatchField<vector> >
00121 (
00122 new uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField
00123 (
00124 *this,
00125 iF
00126 )
00127 );
00128 }
00129
00130
00131
00132
00133
00134
00135
00136 virtual void autoMap
00137 (
00138 const pointPatchFieldMapper&
00139 );
00140
00141
00142 virtual void rmap
00143 (
00144 const pointPatchField<vector>&,
00145 const labelList&
00146 );
00147
00148
00149
00150
00151
00152 virtual void updateCoeffs();
00153
00154
00155
00156 virtual void write(Ostream&) const;
00157 };
00158
00159
00160
00161
00162 }
00163
00164
00165
00166 #endif
00167
00168