isoCutFace Class Reference

Class for cutting a face, faceI, of an fvMesh, mesh_, at its intersection with an isosurface defined by the mesh point values f_ and the isovalue, isoValue_. More...

Public Member Functions

 isoCutFace (const fvMesh &mesh, scalarField &f)
 Construct from fvMesh and a scalarField. More...
 
label calcSubFace (const label faceI, const scalar isoValue)
 Calculate cut points along edges of faceI. More...
 
label calcSubFace (const pointField &points, const scalarField &f, const scalar isoValue)
 Calculate cut points along edges of face with values f. More...
 
const pointsubFaceCentre ()
 
const vectorsubFaceArea ()
 
const DynamicList< point > & subFacePoints () const
 
const DynamicList< point > & surfacePoints () const
 
void clearStorage ()
 
scalar timeIntegratedFaceFlux (const label facei, const vector &x0, const vector &n0, const scalar Un0, const scalar f0, const scalar dt, const scalar phi, const scalar magSf)
 Calculate volumetric face transport during dt given the isoFace. More...
 
scalar timeIntegratedArea (const pointField &fPts, const scalarField &pTimes, const scalar dt, const scalar magSf, const scalar Un0)
 Calculate time integrated area for a face. More...
 
void cutPoints (const pointField &pts, const scalarField &f, const scalar f0, DynamicList< point > &cutPoints)
 
void quadAreaCoeffs (const DynamicList< point > &pf0, const DynamicList< point > &pf1, scalar &alpha, scalar &beta) const
 

Static Public Attributes

static int debug = 0
 

Detailed Description

Class for cutting a face, faceI, of an fvMesh, mesh_, at its intersection with an isosurface defined by the mesh point values f_ and the isovalue, isoValue_.

Reference:

        Roenby, J., Bredmose, H. and Jasak, H. (2016).
        A computational method for sharp interface advection
        Royal Society Open Science, 3
        doi 10.1098/rsos.160405

Original code supplied by Johan Roenby, DHI (2016)

Source files

Definition at line 64 of file isoCutFace.H.

Constructor & Destructor Documentation

◆ isoCutFace()

isoCutFace ( const fvMesh mesh,
scalarField f 
)

Construct from fvMesh and a scalarField.

Length of scalarField should equal number of mesh points

Definition at line 39 of file isoCutFace.C.

Member Function Documentation

◆ calcSubFace() [1/2]

Foam::label calcSubFace ( const label  faceI,
const scalar  isoValue 
)

Calculate cut points along edges of faceI.

Definition at line 269 of file isoCutFace.C.

References points.

◆ calcSubFace() [2/2]

Foam::label calcSubFace ( const pointField points,
const scalarField f,
const scalar  isoValue 
)

Calculate cut points along edges of face with values f.

Definition at line 282 of file isoCutFace.C.

References f(), Foam::identity(), and points.

Here is the call graph for this function:

◆ subFaceCentre()

const Foam::point & subFaceCentre ( )

Definition at line 294 of file isoCutFace.C.

◆ subFaceArea()

const Foam::vector & subFaceArea ( )

Definition at line 304 of file isoCutFace.C.

◆ subFacePoints()

const Foam::DynamicList< Foam::point > & subFacePoints ( ) const

Definition at line 314 of file isoCutFace.C.

◆ surfacePoints()

const Foam::DynamicList< Foam::point > & surfacePoints ( ) const

Definition at line 320 of file isoCutFace.C.

◆ clearStorage()

void clearStorage ( )

Definition at line 326 of file isoCutFace.C.

References VectorSpace< Vector< scalar >, scalar, 3 >::zero.

◆ timeIntegratedFaceFlux()

Foam::scalar timeIntegratedFaceFlux ( const label  facei,
const vector x0,
const vector n0,
const scalar  Un0,
const scalar  f0,
const scalar  dt,
const scalar  phi,
const scalar  magSf 
)

Calculate volumetric face transport during dt given the isoFace.

data provided as input for face facei

Definition at line 341 of file isoCutFace.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), f(), forAll, Foam::mag(), nPoints, phi, Foam::constant::mathematical::pi(), Foam::sign(), and WarningInFunction.

Here is the call graph for this function:

◆ timeIntegratedArea()

Foam::scalar timeIntegratedArea ( const pointField fPts,
const scalarField pTimes,
const scalar  dt,
const scalar  magSf,
const scalar  Un0 
)

Calculate time integrated area for a face.

Definition at line 487 of file isoCutFace.C.

References Foam::constant::atomic::alpha, beta(), Foam::constant::electromagnetic::e, forAll, Foam::mag(), Foam::max(), Foam::pos0(), Foam::sign(), and Foam::sortedOrder().

Here is the call graph for this function:

◆ cutPoints()

void cutPoints ( const pointField pts,
const scalarField f,
const scalar  f0,
DynamicList< point > &  cutPoints 
)

Definition at line 625 of file isoCutFace.C.

References DynamicList< T, SizeMin >::append(), Foam::endl(), f(), forAll, Foam::mag(), nPoints, Foam::constant::mathematical::pi(), s, and WarningInFunction.

Here is the call graph for this function:

◆ quadAreaCoeffs()

void quadAreaCoeffs ( const DynamicList< point > &  pf0,
const DynamicList< point > &  pf1,
scalar &  alpha,
scalar &  beta 
) const

Definition at line 673 of file isoCutFace.C.

References A, Foam::constant::atomic::alpha, B, beta(), C, D, Foam::endl(), Foam::mag(), Foam::normalised(), WarningInFunction, and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ debug

int debug = 0
static

Definition at line 137 of file isoCutFace.H.


The documentation for this class was generated from the following files: