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 
00036 #ifndef tractionDisplacementFvPatchVectorField_H
00037 #define tractionDisplacementFvPatchVectorField_H
00038 
00039 #include <finiteVolume/fvPatchFields.H>
00040 #include <finiteVolume/fixedGradientFvPatchFields.H>
00041 
00042 
00043 
00044 namespace Foam
00045 {
00046 
00047 
00048 
00049 
00050 
00051 class tractionDisplacementFvPatchVectorField
00052 :
00053     public fixedGradientFvPatchVectorField
00054 {
00055 
00056     
00057 
00058         vectorField traction_;
00059         scalarField pressure_;
00060 
00061 
00062 public:
00063 
00064     
00065     TypeName("tractionDisplacement");
00066 
00067 
00068     
00069 
00070         
00071         tractionDisplacementFvPatchVectorField
00072         (
00073             const fvPatch&,
00074             const DimensionedField<vector, volMesh>&
00075         );
00076 
00077         
00078         tractionDisplacementFvPatchVectorField
00079         (
00080             const fvPatch&,
00081             const DimensionedField<vector, volMesh>&,
00082             const dictionary&
00083         );
00084 
00085         
00086         
00087         tractionDisplacementFvPatchVectorField
00088         (
00089             const tractionDisplacementFvPatchVectorField&,
00090             const fvPatch&,
00091             const DimensionedField<vector, volMesh>&,
00092             const fvPatchFieldMapper&
00093         );
00094 
00095         
00096         tractionDisplacementFvPatchVectorField
00097         (
00098             const tractionDisplacementFvPatchVectorField&
00099         );
00100 
00101         
00102         virtual tmp<fvPatchVectorField> clone() const
00103         {
00104             return tmp<fvPatchVectorField>
00105             (
00106                 new tractionDisplacementFvPatchVectorField(*this)
00107             );
00108         }
00109 
00110         
00111         tractionDisplacementFvPatchVectorField
00112         (
00113             const tractionDisplacementFvPatchVectorField&,
00114             const DimensionedField<vector, volMesh>&
00115         );
00116 
00117         
00118         virtual tmp<fvPatchVectorField> clone
00119         (
00120             const DimensionedField<vector, volMesh>& iF
00121         ) const
00122         {
00123             return tmp<fvPatchVectorField>
00124             (
00125                 new tractionDisplacementFvPatchVectorField(*this, iF)
00126             );
00127         }
00128 
00129 
00130     
00131 
00132         
00133 
00134             virtual const vectorField& traction() const
00135             {
00136                 return traction_;
00137             }
00138 
00139             virtual vectorField& traction()
00140             {
00141                 return traction_;
00142             }
00143 
00144             virtual const scalarField& pressure() const
00145             {
00146                 return pressure_;
00147             }
00148 
00149             virtual  scalarField& pressure()
00150             {
00151                 return pressure_;
00152             }
00153 
00154 
00155         
00156 
00157             
00158             virtual void autoMap
00159             (
00160                 const fvPatchFieldMapper&
00161             );
00162 
00163             
00164             virtual void rmap
00165             (
00166                 const fvPatchVectorField&,
00167                 const labelList&
00168             );
00169 
00170 
00171         
00172         virtual void updateCoeffs();
00173 
00174         
00175         virtual void write(Ostream&) const;
00176 };
00177 
00178 
00179 
00180 
00181 } 
00182 
00183 
00184 
00185 #endif
00186 
00187