Solidification and melting model for VoF simulations. More...
Public Member Functions | |
TypeName ("VoFSolidificationMelting") | |
Runtime type information. More... | |
VoFSolidificationMelting (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
Construct from explicit source name and mesh. More... | |
VoFSolidificationMelting (const VoFSolidificationMelting &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual wordList | addSupFields () const |
Return the list of fields for which the option adds source term. More... | |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, const volScalarField &he, fvMatrix< scalar > &eqn) const |
Add explicit contribution to phase energy equation. More... | |
virtual void | addSup (const volScalarField &rho, const volVectorField &U, fvMatrix< vector > &eqn) const |
Add implicit contribution to mixture momentum equation. More... | |
virtual void | topoChange (const polyTopoChangeMap &) |
Update topology using the given map. More... | |
virtual void | mapMesh (const polyMeshMap &) |
Update from another mesh using the given map. More... | |
virtual void | distribute (const polyDistributionMap &) |
Redistribute or update using the given distribution map. More... | |
virtual bool | movePoints () |
Update for mesh motion. More... | |
virtual void | correct () |
Correct the model. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
void | operator= (const VoFSolidificationMelting &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from fvModel | |
TypeName ("fvModel") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict),(name, modelType, mesh, dict)) | |
fvModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
Construct from components. More... | |
autoPtr< fvModel > | clone () const |
Return clone. More... | |
virtual | ~fvModel () |
Destructor. More... | |
const word & | name () const |
Return const access to the source name. More... | |
const fvMesh & | mesh () const |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () const |
Return dictionary. More... | |
virtual bool | addsSupToField (const word &fieldName) const |
Return true if the fvModel adds a source term to the given. More... | |
virtual scalar | maxDeltaT () const |
Return the maximum time-step for stable operation. More... | |
virtual void | addSup (fvMatrix< scalar > &eqn) const |
Add a source term to a field-less proxy equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
Add a source term to an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const VolField< Type > &field) const |
Return source for an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
Return source for a compressible equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for a compressible equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
Return source for an equation with a second time derivative. More... | |
virtual void | preUpdateMesh () |
Prepare for mesh update. More... | |
virtual bool | write (const bool write=true) const |
Write fvModel data. More... | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
Foam::dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
template<class AlphaRhoFieldType > | |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
template<class Type , class ... AlphaRhoFieldTypes> | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
Additional Inherited Members | |
Static Public Member Functions inherited from fvModel | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
static dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
Return the dimensions of the matrix of a source term. More... | |
static const dimensionSet & | sourceDims (const dimensionSet &ds) |
Return the dimensions of the matrix of a source term (base. More... | |
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
Return the name of the field associated with a source term. More... | |
template<class AlphaRhoFieldType > | |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
Return the name of the field associated with a source term (base. More... | |
static const word & | fieldName () |
Return the name of the field associated with a source term. Special. More... | |
static autoPtr< fvModel > | New (const word &name, const fvMesh &mesh, const dictionary &dict) |
Return a reference to the selected fvModel. More... | |
Protected Member Functions inherited from fvModel | |
template<class Type > | |
void | addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to an equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to a compressible equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
Add a source term to a phase equation. More... | |
template<class Type , class ... AlphaRhoFieldTypes> | |
tmp< fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
Return a source for an equation. More... | |
Solidification and melting model for VoF simulations.
The presence of the solid phase in the flow field is incorporated into the model as a momentum porosity contribution; the energy associated with the phase change is added as an enthalpy contribution. The solid fraction as a function of temperature alphaSolidT
is specified as a Foam::Function1.
The model writes the field alpha
[01].solid which can be visualised to to show the solid distribution.
VoFSolidificationMelting1 { type VoFSolidificationMelting; select cellZone; cellZone solidZone; alphaSolidT table ( (330 1) (335 0) ); L 334000; }
Where:
Property | Description | Required | Default value |
---|---|---|---|
alphaSolidT | Solid fraction as function of temperature | yes | |
L | Latent heat of fusion [J/kg] | yes | |
relax | Relaxation coefficient [0-1] | no | 0.9 |
Cu | Model coefficient | no | 100000 |
q | Model coefficient | no | 0.001 |
Definition at line 130 of file VoFSolidificationMelting.H.
VoFSolidificationMelting | ( | const word & | name, |
const word & | modelType, | ||
const fvMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from explicit source name and mesh.
Definition at line 97 of file VoFSolidificationMelting.C.
|
delete |
Disallow default bitwise copy construction.
TypeName | ( | "VoFSolidificationMelting" | ) |
Runtime type information.
|
virtual |
Return the list of fields for which the option adds source term.
to the transport equation
Reimplemented from fvModel.
Definition at line 142 of file VoFSolidificationMelting.C.
References he(), and Foam::name().
|
virtual |
Add explicit contribution to phase energy equation.
Definition at line 148 of file VoFSolidificationMelting.C.
References Foam::fvc::ddt(), Foam::endl(), Foam::Info, fvMatrix< Type >::psi(), rho, and Foam::type().
|
virtual |
Add implicit contribution to mixture momentum equation.
Definition at line 165 of file VoFSolidificationMelting.C.
References cells, lduMatrix::diag(), Foam::endl(), forAll, Foam::Info, Foam::pow3(), fvMatrix< Type >::psi(), rho, Foam::fvm::S(), Foam::fvc::Sp(), Foam::sqr(), and Foam::type().
|
virtual |
Update topology using the given map.
Implements fvModel.
Definition at line 234 of file VoFSolidificationMelting.C.
|
virtual |
Update from another mesh using the given map.
Implements fvModel.
Definition at line 243 of file VoFSolidificationMelting.C.
|
virtual |
Redistribute or update using the given distribution map.
Implements fvModel.
Definition at line 249 of file VoFSolidificationMelting.C.
|
virtual |
Update for mesh motion.
Implements fvModel.
Definition at line 258 of file VoFSolidificationMelting.C.
|
virtual |
Correct the model.
Reimplemented from fvModel.
Definition at line 195 of file VoFSolidificationMelting.C.
References cells, Foam::endl(), forAll, Foam::Info, Foam::min(), Foam::name(), thermo, and Foam::type().
|
virtual |
Read source dictionary.
Reimplemented from fvModel.
Definition at line 265 of file VoFSolidificationMelting.C.
References dict, and fvModel::read().
|
delete |
Disallow default bitwise assignment.