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 #include <OpenFOAM/calculatedPointPatchField.H>
00027
00028
00029
00030 namespace Foam
00031 {
00032
00033 template<class Type>
00034 const word& pointPatchField<Type>::calculatedType()
00035 {
00036 return calculatedPointPatchField<Type>::typeName;
00037 }
00038
00039
00040
00041
00042 template<class Type>
00043 calculatedPointPatchField<Type>::calculatedPointPatchField
00044 (
00045 const pointPatch& p,
00046 const DimensionedField<Type, pointMesh>& iF
00047 )
00048 :
00049 pointPatchField<Type>(p, iF)
00050 {}
00051
00052
00053 template<class Type>
00054 calculatedPointPatchField<Type>::calculatedPointPatchField
00055 (
00056 const pointPatch& p,
00057 const DimensionedField<Type, pointMesh>& iF,
00058 const dictionary& dict
00059 )
00060 :
00061 pointPatchField<Type>(p, iF, dict)
00062 {}
00063
00064
00065 template<class Type>
00066 calculatedPointPatchField<Type>::calculatedPointPatchField
00067 (
00068 const calculatedPointPatchField<Type>& ptf,
00069 const pointPatch& p,
00070 const DimensionedField<Type, pointMesh>& iF,
00071 const pointPatchFieldMapper&
00072 )
00073 :
00074 pointPatchField<Type>(p, iF)
00075 {}
00076
00077
00078 template<class Type>
00079 calculatedPointPatchField<Type>::calculatedPointPatchField
00080 (
00081 const calculatedPointPatchField<Type>& ptf,
00082 const DimensionedField<Type, pointMesh>& iF
00083 )
00084 :
00085 pointPatchField<Type>(ptf, iF)
00086 {}
00087
00088
00089 template<class Type>
00090 template<class Type2>
00091 autoPtr<pointPatchField<Type> >
00092 pointPatchField<Type>::NewCalculatedType
00093 (
00094 const pointPatchField<Type2>& pf
00095 )
00096 {
00097 typename pointPatchConstructorTable::iterator patchTypeCstrIter =
00098 pointPatchConstructorTablePtr_->find(pf.patch().type());
00099
00100 if (patchTypeCstrIter != pointPatchConstructorTablePtr_->end())
00101 {
00102 return autoPtr<pointPatchField<Type> >
00103 (
00104 patchTypeCstrIter()
00105 (
00106 pf.patch(),
00107 Field<Type>::null()
00108 )
00109 );
00110 }
00111 else
00112 {
00113 return autoPtr<pointPatchField<Type> >
00114 (
00115 new calculatedPointPatchField<Type>
00116 (
00117 pf.patch(),
00118 Field<Type>::null()
00119 )
00120 );
00121 }
00122 }
00123
00124
00125
00126
00127 }
00128
00129