An implementation of the isoAdvector geometric Volume-of-Fluid method advancing the provided volume fraction field (alpha1) in time using the given velocity field, U, and corresponding face fluxes, phi. More...
Public Member Functions | |
TypeName ("isoAdvection") | |
Runtime type information. More... | |
isoAdvection (volScalarField &alpha1, const surfaceScalarField &phi, const volVectorField &U) | |
Constructors. More... | |
virtual | ~isoAdvection ()=default |
Destructor. More... | |
template<class SpType , class SuType > | |
void | advect (const SpType &Sp, const SuType &Su) |
Advect the free surface. Updates alpha field, taking into account. More... | |
reconstructionSchemes & | surf () noexcept |
Return reconstructionSchemes. More... | |
const volScalarField & | alpha () const noexcept |
Return alpha field. More... | |
const dictionary & | dict () const noexcept |
Return the controls dictionary. More... | |
void | writeSurfaceCells () const |
Return cellSet of surface cells. More... | |
tmp< surfaceScalarField > | getRhoPhi (const dimensionedScalar &rho1, const dimensionedScalar &rho2) const |
Return mass flux. More... | |
tmp< surfaceScalarField > | getRhoPhi (const volScalarField &rho1, const volScalarField &rho2) |
Return mass flux. More... | |
const surfaceScalarField & | alphaPhi () const noexcept |
reference to alphaPhi More... | |
scalar | advectionTime () const noexcept |
time spend in the advection step More... | |
void | writeIsoFaces (const DynamicList< List< point >> &isoFacePts) const |
Write isoface points to .obj file. More... | |
An implementation of the isoAdvector geometric Volume-of-Fluid method advancing the provided volume fraction field (alpha1) in time using the given velocity field, U, and corresponding face fluxes, phi.
Main isoAdvector idea:
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
Calculation of rhoPhi:
Roenby, J., Bredmose, H., & Jasak, H. (2019). IsoAdvector: Geometric VOF on general meshes. OpenFOAMĀ® (pp. 281-296). Springer, Cham.
Extension to porous media flows:
Missios, K., Jacobsen, N. G., Moeller, K., & Roenby, J. Using the isoAdvector Geometric VOF Method for Interfacial Flows Through Porous Media. MARINE 2021.
Original code supplied by Johan Roenby, DHI (2016) Modified Henning Scheufler, DLR
Definition at line 87 of file isoAdvection.H.
isoAdvection | ( | volScalarField & | alpha1, |
const surfaceScalarField & | phi, | ||
const volVectorField & | U | ||
) |
Constructors.
Construct given alpha, phi and velocity field. Note: phi should be
divergence free up to a sufficient tolerance
|
virtualdefault |
Destructor.
TypeName | ( | "isoAdvection" | ) |
Runtime type information.
void advect | ( | const SpType & | Sp, |
const SuType & | Su | ||
) |
Advect the free surface. Updates alpha field, taking into account.
multiple calls within a single time step.
Definition at line 384 of file isoAdvectionTemplates.C.
References addProfilingInFunction, DebugInfo, DebugInFunction, Foam::endl(), zeroField::field(), Foam::fvc::flux(), Foam::gMax(), Foam::gMin(), Foam::Info, Sp, Su, and Foam::fvc::surfaceIntegrate().
|
inlinenoexcept |
Return reconstructionSchemes.
Definition at line 426 of file isoAdvection.H.
|
inlinenoexcept |
Return alpha field.
Definition at line 434 of file isoAdvection.H.
|
inlinenoexcept |
Return the controls dictionary.
Definition at line 442 of file isoAdvection.H.
void writeSurfaceCells | ( | ) | const |
Return cellSet of surface cells.
Definition at line 641 of file isoAdvection.C.
References HashSet< Key, Hash >::insert(), IOobjectOption::NO_READ, and regIOobject::write().
|
inline |
Return mass flux.
Definition at line 456 of file isoAdvection.H.
References TimeState::deltaT(), GeometricField< scalar, fvsPatchField, surfaceMesh >::New(), IOobjectOption::NO_REGISTER, rho1, rho2, and fvMesh::time().
|
inline |
Return mass flux.
Definition at line 475 of file isoAdvection.H.
References Foam::fvc::interpolate(), GeometricField< scalar, fvsPatchField, surfaceMesh >::New(), IOobjectOption::NO_REGISTER, rho1, and rho2.
|
inlinenoexcept |
reference to alphaPhi
Definition at line 494 of file isoAdvection.H.
|
inlinenoexcept |
time spend in the advection step
Definition at line 502 of file isoAdvection.H.
void writeIsoFaces | ( | const DynamicList< List< point >> & | isoFacePts | ) | const |
Write isoface points to .obj file.
Definition at line 666 of file isoAdvection.C.
References Foam::endl(), Pstream::gatherList(), Foam::Info, UPstream::master(), Foam::mkDir(), UPstream::myProcNo(), OFstream::name(), Foam::nl, UPstream::nProcs(), os(), UPstream::parRun(), fileName::path(), word::printf(), and OBJstream::writeFace().