37 namespace reconstruction
47 Foam::reconstruction::isoAlpha::isoAlpha
68 isoFaceTol_(modelDict().getOrDefault<scalar>(
"isoFaceTol", 1
e-8)),
69 surfCellTol_(modelDict().getOrDefault<scalar>(
"surfCellTol", 1
e-8)),
70 sIterIso_(mesh_, ap_, surfCellTol_)
83 if (uptodate && !forceUpdate)
104 DynamicList<List<point>> facePts;
Original code supplied by Henning Scheufler, DLR (2019)
addToRunTimeSelectionTable(reconstructionSchemes, isoAlpha, components)
tmp< GeometricField< Type, pointPatchField, pointMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &) const
Interpolate volField using inverse distance weighting.
void size(const label n)
Older name for setAddressableSize.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void resize(const label len)
Adjust allocated size of list.
label nPoints() const noexcept
Number of mesh points.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static const volPointInterpolation & New(const fvMesh &mesh, Args &&... args)
Get existing or create a new MeshObject.
volVectorField centre_
Interface centres.
Reconstructs an interface (centre and normal vectors) consisting of isosurfaces to match the internal...
Macros for easy insertion into run-time selection tables.
boolList interfaceCell_
Is interface cell?
const vector & surfaceArea() const
The area vector of cutting isosurface.
#define forAll(list, i)
Loop across all elements in list.
volVectorField normal_
Interface area normals.
const dimensionedScalar e
Elementary charge.
label vofCutCell(const label celli, const scalar alpha1, const scalar tol, const label maxIter)
finds matching isoValue for the given value fraction returns the cellStatus
const point & surfaceCentre() const
The centre of cutting isosurface.
virtual void reconstruct(bool forceUpdate=true)
Reconstructs the interface.
void clear() noexcept
Clear the addressed list, i.e. set the size to zero.
volScalarField & alpha1_
Reference to the VoF Field.
bool topoChanging() const noexcept
Is mesh topology changing.
#define addProfilingInFunction(name)
Define profiling trigger with specified name and description corresponding to the compiler-defined fu...
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
label nCells() const noexcept
Number of mesh cells.
void append(const T &val)
Append an element at the end of the list.
defineTypeNameAndDebug(isoAlpha, 0)
bool alreadyReconstructed(bool forceUpdate=true) const
Is the interface already up-to-date?
DynamicField< label > interfaceLabels_
List of cell labels that have an interface.
bool isASurfaceCell(const scalar alpha1) const
Determine if a cell is a surface cell.
label cellStatus()
The cellStatus.
static constexpr const zero Zero
Global zero (0)
const volScalarField & alpha1