Loading...
Searching...
No Matches
fvcSurfaceOps.H File Reference

Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField. More...

Include dependency graph for fvcSurfaceOps.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Foam
 Namespace for OpenFOAM.
namespace  Foam::fvc
 Namespace of functions to calculate explicit derivatives.

Macros

#define INPLACE_PRODUCT_OPERATOR(product, CombineOp, Op, OpFunc)
 In-place operations on Fields. Add to FieldFunctions.C ?

Functions

template<class Type1, class Type2>
void multiplyAdd (Field< typename outerProduct< Type1, Type2 >::type > &result, const UList< Type1 > &f1, const UList< Type2 > &f2)
template<class Type1, class Type2>
void multiplySubtract (Field< typename outerProduct< Type1, Type2 >::type > &result, const UList< Type1 > &f1, const UList< Type2 > &f2)
template<class Type, class FType, class ResultType, class CellToFaceOp>
void interpolate (const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const GeometricField< FType, fvsPatchField, surfaceMesh > &sf, const CellToFaceOp &cop, GeometricField< ResultType, fvsPatchField, surfaceMesh > &result)
 Interpolate to face (using cop) and additional face field.
template<class Type0, class Type1, class ResultType, class CellToFaceOp>
void interpolate (const surfaceScalarField &weights, const GeometricField< Type0, fvPatchField, volMesh > &vf0, const GeometricField< Type1, fvPatchField, volMesh > &vf1, const CellToFaceOp &cop, GeometricField< ResultType, fvsPatchField, surfaceMesh > &result)
 Interpolate to face (using cop).
template<class Type, class ResultType, class CellToFaceOp>
void surfaceSum (const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions=true)
 Interpolate to face (using cop) and accumulate.
template<class Type, class FType, class ResultType, class CellToFaceOp>
void surfaceSum (const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const GeometricField< FType, fvsPatchField, surfaceMesh > &sf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions=true)
 Interpolate to face (using cop) and accumulate. Additional face field.
template<class Type, class FType0, class FType1, class ResultType, class CellToFaceOp>
void surfaceSum (const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const GeometricField< FType0, fvsPatchField, surfaceMesh > &sf0, const GeometricField< FType1, fvsPatchField, surfaceMesh > &sf1, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions=true)
 Interpolate to face (using cop) and accumulate. Additional face fields.
template<class Type, class ResultType, class CellToFaceOp>
void GaussOp (const surfaceScalarField &lambdas, const GeometricField< Type, fvPatchField, volMesh > &vf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result)
 Interpolate to face (using cop) and apply Gauss. Note: uses V(),.
template<class Type, class ResultType, class CellToFaceOp>
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
template<class Type, class ResultType, class CellToFaceOp>
void surfaceSnSum (const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &vf, const GeometricField< Type, fvsPatchField, surfaceMesh > &sadd, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions)
 sum of snGrad with additional surface field
template<class Type, class GType, class ResultType, class CellToFaceOp>
void surfaceSnSum (const surfaceScalarField &gammaWeights, const GeometricField< GType, fvPatchField, volMesh > &gamma, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &vf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions)
 sum of snGrad with additional (interpolated) volField
template<class Type, class GType0, class GType1, class ResultType, class CellToFaceOp>
void surfaceSnSum (const surfaceScalarField &weights, const GeometricField< GType0, fvPatchField, volMesh > &gamma0, const GeometricField< GType1, fvPatchField, volMesh > &gamma1, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &vf, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions)
 sum of snGrad with additional (interpolated) volfields
template<class Type, class GType, class ResultType, class CellToFaceOp>
void surfaceSnSum (const surfaceScalarField &gammaWeights, const GeometricField< GType, fvPatchField, volMesh > &gamma, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &vf, const GeometricField< Type, fvsPatchField, surfaceMesh > &sadd, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result, const bool doCorrectBoundaryConditions)
 sum of snGrad with additional surface field
template<class Type, class ResultType, class CellToFaceOp>
void surfaceOp (const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceVectorField &ownLs, const surfaceVectorField &neiLs, const CellToFaceOp &cop, GeometricField< ResultType, fvPatchField, volMesh > &result)
 Interpolate to face (using cop) and apply distribution vectors.

Detailed Description

Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.

Original source file fvcSurfaceOps.H

InNamespace Foam::fvc

Source files

Definition in file fvcSurfaceOps.H.

Macro Definition Documentation

◆ INPLACE_PRODUCT_OPERATOR

#define INPLACE_PRODUCT_OPERATOR ( product,
CombineOp,
Op,
OpFunc )
Value:
\
template<class Type1, class Type2> \
void OpFunc \
( \
Field<typename product<Type1, Type2>::type>& result, \
const UList<Type1>& f1, \
const UList<Type2>& f2 \
) \
{ \
typedef typename product<Type1, Type2>::type resultType; \
(resultType, result, CombineOp, Type1, f1, Op, Type2, f2) \
}
#define TFOR_ALL_F_OP_F_OP_F(typeF1, f1, OP1, typeF2, f2, OP2, typeF3, f3)
Definition FieldM.H:391
#define Op(opName, op)
Definition ops.H:99

In-place operations on Fields. Add to FieldFunctions.C ?

Definition at line 49 of file fvcSurfaceOps.H.

Referenced by Foam::multiplySubtract().