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 point & | subCellCentre () |
scalar | subCellVolume () |
const DynamicList< point > & | isoFacePoints () |
const point & | isoFaceCentre () |
const vector & | isoFaceArea () |
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 |
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_.
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)
Definition at line 66 of file isoCutCell.H.
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().
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().
const Foam::point & subCellCentre | ( | ) |
Definition at line 396 of file isoCutCell.C.
Foam::scalar subCellVolume | ( | ) |
Definition at line 407 of file isoCutCell.C.
const Foam::DynamicList< Foam::point > & isoFacePoints | ( | ) |
Definition at line 418 of file isoCutCell.C.
const Foam::point & isoFaceCentre | ( | ) |
Definition at line 429 of file isoCutCell.C.
const Foam::vector & isoFaceArea | ( | ) |
Definition at line 440 of file isoCutCell.C.
Foam::scalar volumeOfFluid | ( | ) |
Definition at line 451 of file isoCutCell.C.
Foam::scalar isoValue | ( | ) | const |
Definition at line 462 of file isoCutCell.C.
void clearStorage | ( | ) |
Definition at line 468 of file isoCutCell.C.
References VectorSpace< Vector< scalar >, scalar, 3 >::zero.
Referenced by isoCutCell::isoCutCell().
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().
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.
|
static |
Definition at line 157 of file isoCutCell.H.