39 #ifndef fvcSurfaceOps_H 40 #define fvcSurfaceOps_H 52 #define INPLACE_PRODUCT_OPERATOR(product, CombineOp, Op, OpFunc) \ 54 template<class Type1, class Type2> \ 57 Field<typename product<Type1, Type2>::type>& result, \ 58 const UList<Type1>& f1, \ 59 const UList<Type2>& f2 \ 62 typedef typename product<Type1, Type2>::type resultType; \ 63 TFOR_ALL_F_OP_F_OP_F \ 64 (resultType, result, CombineOp, Type1, f1, Op, Type2, f2) \ 71 #undef INPLACE_PRODUCT_OPERATOR 84 template<
class Type,
class FType,
class ResultType,
class CellToFaceOp>
90 const CellToFaceOp& cop,
107 const CellToFaceOp& cop,
115 template<
class Type,
class ResultType,
class CellToFaceOp>
120 const CellToFaceOp& cop,
127 template<
class Type,
class FType,
class ResultType,
class CellToFaceOp>
133 const CellToFaceOp& cop,
156 const CellToFaceOp& cop,
164 template<
class Type,
class ResultType,
class CellToFaceOp>
169 const CellToFaceOp& cop,
177 template<
class Type,
class ResultType,
class CellToFaceOp>
183 const CellToFaceOp& cop,
189 template<
class Type,
class ResultType,
class CellToFaceOp>
196 const CellToFaceOp& cop,
203 template<
class Type,
class GType,
class ResultType,
class CellToFaceOp>
212 const CellToFaceOp& cop,
237 const CellToFaceOp& cop,
244 template<
class Type,
class GType,
class ResultType,
class CellToFaceOp>
255 const CellToFaceOp& cop,
265 template<
class Type,
class ResultType,
class CellToFaceOp>
271 const CellToFaceOp& cop,
#define INPLACE_PRODUCT_OPERATOR(product, CombineOp, Op, OpFunc)
In-place operations on Fields. Add to FieldFunctions.C ?
Forwards and collection of common volume field types.
static void doCorrectBoundaryConditions(bool correctBCs, VolumeField< Type > &field)
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
void surfaceOp(const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceVectorField &ownLs, const surfaceVectorField &neiLs, const CombineOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
void surfaceSnSum(const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &vf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions)
sum of snGrad
void multiplySubtract(Field< typename outerProduct< Type1, Type2 >::type > &result, const UList< Type1 > &f1, const UList< Type2 > &f2)
tmp< GeometricField< Type, fvPatchField, volMesh > > surfaceSum(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
void multiplyAdd(Field< typename outerProduct< Type1, Type2 >::type > &result, const UList< Type1 > &f1, const UList< Type2 > &f2)
void GaussOp(const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const CombineOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result)