isoCutCell Class Reference

Class for cutting a cell, celli, 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

 isoCutCell (const fvMesh &, scalarField &)
 Construct from fvMesh and a scalarField. More...
 
label calcSubCell (const label celli, const scalar isoValue)
 
const pointsubCellCentre ()
 
scalar subCellVolume ()
 
const DynamicList< point > & isoFacePoints ()
 
const pointisoFaceCentre ()
 
const vectorisoFaceArea ()
 
scalar volumeOfFluid ()
 
scalar isoValue () const
 
void clearStorage ()
 
label vofCutCell (const label celli, const scalar alpha1, const scalar tol, const label maxIter)
 
void volumeOfFluid (volScalarField &alpha1, const scalar f0)
 

Static Public Attributes

static int debug = 0
 

Detailed Description

Class for cutting a cell, celli, 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 66 of file isoCutCell.H.

Constructor & Destructor Documentation

◆ isoCutCell()

isoCutCell ( const fvMesh mesh,
scalarField f 
)

Construct from fvMesh and a scalarField.

Length of scalarField should equal number of mesh points

Definition at line 41 of file isoCutCell.C.

References isoCutCell::clearStorage().

Here is the call graph for this function:

Member Function Documentation

◆ calcSubCell()

Foam::label calcSubCell ( const label  celli,
const scalar  isoValue 
)

Definition at line 324 of file isoCutCell.C.

References Foam::constant::universal::c, forAll, and Foam::mag().

Here is the call graph for this function:

◆ subCellCentre()

const Foam::point & subCellCentre ( )

Definition at line 396 of file isoCutCell.C.

◆ subCellVolume()

Foam::scalar subCellVolume ( )

Definition at line 407 of file isoCutCell.C.

◆ isoFacePoints()

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

Definition at line 418 of file isoCutCell.C.

◆ isoFaceCentre()

const Foam::point & isoFaceCentre ( )

Definition at line 429 of file isoCutCell.C.

◆ isoFaceArea()

const Foam::vector & isoFaceArea ( )

Definition at line 440 of file isoCutCell.C.

◆ volumeOfFluid() [1/2]

Foam::scalar volumeOfFluid ( )

Definition at line 451 of file isoCutCell.C.

◆ isoValue()

Foam::scalar isoValue ( ) const

Definition at line 462 of file isoCutCell.C.

◆ clearStorage()

void clearStorage ( )

Definition at line 468 of file isoCutCell.C.

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

Referenced by isoCutCell::isoCutCell().

Here is the caller graph for this function:

◆ vofCutCell()

Foam::label vofCutCell ( const label  celli,
const scalar  alpha1,
const scalar  tol,
const label  maxIter 
)

Definition at line 492 of file isoCutCell.C.

References alpha1, C, Foam::expressions::patchExpr::debug, DebugInFunction, DebugPout, Foam::constant::electromagnetic::e, Foam::endl(), f(), forAll, Foam::LUsolve(), M, Foam::mag(), Foam::max(), Foam::min(), Foam::nl, Foam::constant::mathematical::pi(), Foam::Pout, Foam::pow(), Foam::pow3(), Foam::sortedOrder(), and Foam::sqr().

Here is the call graph for this function:

◆ volumeOfFluid() [2/2]

void volumeOfFluid ( volScalarField alpha1,
const scalar  f0 
)

Definition at line 682 of file isoCutCell.C.

References alpha1, GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), forAll, Foam::mag(), and Foam::start.

Here is the call graph for this function:

Member Data Documentation

◆ debug

int debug = 0
static

Definition at line 157 of file isoCutCell.H.


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