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") | |
isoAdvection (volScalarField &alpha1, const surfaceScalarField &phi, const volVectorField &U) | |
virtual | ~isoAdvection ()=default |
template<class SpType , class SuType > | |
void | advect (const SpType &Sp, const SuType &Su) |
reconstructionSchemes & | surf () noexcept |
const volScalarField & | alpha () const noexcept |
const dictionary & | dict () const noexcept |
void | writeSurfaceCells () const |
tmp< surfaceScalarField > | getRhoPhi (const dimensionedScalar rho1, const dimensionedScalar rho2) const |
tmp< surfaceScalarField > | getRhoPhi (const volScalarField &rho1, const volScalarField &rho2) |
const surfaceScalarField & | alphaPhi () const noexcept |
scalar | advectionTime () const noexcept |
void | writeIsoFaces (const DynamicList< List< point >> &isoFacePts) const |
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 | ||
) |
Definition at line 49 of file isoAdvection.C.
References Foam::expressions::patchExpr::debug, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::gMax(), Foam::gMin(), and porosityProperties().
|
virtualdefault |
TypeName | ( | "isoAdvection" | ) |
void advect | ( | const SpType & | Sp, |
const SuType & | Su | ||
) |
Definition at line 385 of file isoAdvectionTemplates.C.
References addProfilingInFunction, DebugInfo, DebugInFunction, Foam::endl(), zeroField::field(), limitedSurfaceInterpolationScheme< Type >::flux(), Foam::gMax(), Foam::gMin(), Foam::Info, Sp, Su, and Foam::fvc::surfaceIntegrate().
|
inlinenoexcept |
Definition at line 330 of file isoAdvection.H.
|
inlinenoexcept |
Definition at line 336 of file isoAdvection.H.
|
inlinenoexcept |
Definition at line 342 of file isoAdvection.H.
void writeSurfaceCells | ( | ) | const |
Definition at line 633 of file isoAdvection.C.
References HashSet::insert(), IOobject::NO_READ, and regIOobject::write().
|
inline |
Definition at line 352 of file isoAdvection.H.
References TimeState::deltaT(), rho1, rho2, and fvMesh::time().
|
inline |
Definition at line 369 of file isoAdvection.H.
References Foam::fvc::interpolate(), rho1, and rho2.
|
inlinenoexcept |
Definition at line 386 of file isoAdvection.H.
|
inlinenoexcept |
Definition at line 392 of file isoAdvection.H.
void writeIsoFaces | ( | const DynamicList< List< point >> & | isoFacePts | ) | const |
Definition at line 658 of file isoAdvection.C.
References Foam::endl(), f(), forAll, Pstream::gatherList(), Foam::identity(), Foam::Info, UPstream::master(), Foam::mkDir(), UPstream::myProcNo(), OFstream::name(), Foam::nl, UPstream::nProcs(), os(), UPstream::parRun(), fileName::path(), word::printf(), and OBJstream::write().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.