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 word & | keyword () const |
| Return name as the keyword. More... | |
| const fvMesh & | mesh () const |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs (const dictionary &) const |
| Return the coefficients sub-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 | |
| static const dictionary & | coeffs (const word &modelType, const dictionary &) |
| Return the coefficients sub-dictionary for a given model type. More... | |
| 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... | |
Static Public Attributes inherited from fvModel | |
| static const wordHashSet | keywords |
| The keywords read by this class. 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;
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 129 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.
References fvModel::coeffs(), and dict.

|
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, mesh, Foam::pow3(), fvMatrix< Type >::psi(), rho, Foam::fvm::S(), Foam::fvc::Sp(), Foam::sqr(), Foam::type(), and fvMesh::V().

|
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, mesh, 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.