This source is designed to model the effect of solidification and melting processes, e.g. windhield defrosting. The phase change occurs at the melting temperature, Tmelt
.
More...
Public Types | |
enum | thermoMode { mdThermo, mdLookup } |
Public Types inherited from cellSetOption | |
enum | selectionModeType { smPoints, smCellSet, smCellZone, smAll } |
Enumeration for selection mode types. More... | |
Public Member Functions | |
TypeName ("solidificationMeltingSource") | |
Runtime type information. More... | |
solidificationMeltingSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from explicit source name and mesh. More... | |
virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
Add explicit contribution to enthalpy equation. More... | |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
Add implicit contribution to momentum equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
Add explicit contribution to compressible enthalpy equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
Add implicit contribution to compressible momentum equation. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
Public Member Functions inherited from cellSetOption | |
TypeName ("cellSetOption") | |
Runtime type information. More... | |
cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
virtual | ~cellSetOption () |
Destructor. More... | |
scalar | timeStart () const |
Return const access to the time start. More... | |
scalar | duration () const |
Return const access to the duration. More... | |
bool | inTimeLimits (const scalar time) const |
Return true if within time limits. More... | |
const selectionModeType & | selectionMode () const |
Return const access to the cell selection mode. More... | |
const word & | cellSetName () const |
Return const access to the name of cell set for "cellSet". More... | |
scalar | V () const |
Return const access to the total cell volume. More... | |
const labelList & | cells () const |
Return const access to the cell set. More... | |
scalar & | timeStart () |
Return access to the time start. More... | |
scalar & | duration () |
Return access to the duration. More... | |
virtual bool | isActive () |
Is the source active? More... | |
Public Member Functions inherited from option | |
TypeName ("option") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
autoPtr< option > | clone () const |
Return clone. More... | |
virtual | ~option () |
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... | |
bool | active () const |
Return const access to the source active flag. More... | |
void | setApplied (const label fieldi) |
Set the applied flag to true for field index fieldi. More... | |
Switch & | active () |
Return access to the source active flag. More... | |
virtual label | applyToField (const word &fieldName) const |
Return index of field name if found in fieldNames list. More... | |
virtual void | checkApplied () const |
Check that the source has been applied. More... | |
virtual void | addSup (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | correct (volScalarField &field) |
virtual void | correct (volVectorField &field) |
virtual void | correct (volSphericalTensorField &field) |
virtual void | correct (volSymmTensorField &field) |
virtual void | correct (volTensorField &field) |
virtual void | writeHeader (Ostream &) const |
Write the source header information. More... | |
virtual void | writeFooter (Ostream &) const |
Write the source footer information. More... | |
virtual void | writeData (Ostream &) const |
Write the source properties. More... | |
Static Public Attributes | |
static const NamedEnum< thermoMode, 2 > | thermoModeTypeNames_ |
Static Public Attributes inherited from cellSetOption | |
static const NamedEnum< selectionModeType, 4 > | selectionModeTypeNames_ |
Word list of selection mode type names. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from option | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvOption model. More... | |
Protected Member Functions inherited from cellSetOption | |
void | setSelection (const dictionary &dict) |
Set the cellSet or points selection. More... | |
void | setCellSet () |
Set the cell set based on the user input selection mode. More... | |
Protected Attributes inherited from cellSetOption | |
scalar | timeStart_ |
Time start. More... | |
scalar | duration_ |
Duration. More... | |
selectionModeType | selectionMode_ |
Cell selection mode. More... | |
word | cellSetName_ |
Name of cell set for "cellSet" and "cellZone" selectionMode. More... | |
List< point > | points_ |
List of points for "points" selectionMode. More... | |
labelList | cells_ |
Set of cells to apply source to. More... | |
scalar | V_ |
Sum of cell volumes. More... | |
Protected Attributes inherited from option | |
const word | name_ |
Source name. More... | |
const word | modelType_ |
Model type. More... | |
const fvMesh & | mesh_ |
Reference to the mesh database. More... | |
dictionary | dict_ |
Top level source dictionary. More... | |
dictionary | coeffs_ |
Dictionary containing source coefficients. More... | |
Switch | active_ |
Source active flag. More... | |
wordList | fieldNames_ |
Field names to apply source to - populated by derived models. More... | |
List< bool > | applied_ |
Applied flag list - corresponds to each fieldNames_ entry. More... | |
This source is designed to model the effect of solidification and melting processes, e.g. windhield defrosting. The phase change occurs at the melting temperature, Tmelt
.
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.
Based on the references:
1. V.R. Voller and C. Prakash, A fixed grid numerical modelling methodology for convection-diffusion mushy phase-change problems, Int. J. Heat Mass Transfer 30(8):17091719, 1987. 2. C.R. Swaminathan. and V.R. Voller, A general enthalpy model for modeling solidification processes, Metallurgical Transactions 23B:651664, 1992.
The model generates a field <name>
:alpha1 which can be visualised to to show the melt distribution as a fraction [0-1]
solidificationMeltingSource1 { type solidificationMeltingSource; active yes; solidificationMeltingSourceCoeffs { selectionMode cellZone; cellZone iceZone; Tmelt 273; L 334000; thermoMode thermo; beta 50e-6; rhoRef 800; } }
Where:
Property | Description | Required | Default value | |
---|---|---|---|---|
Tmelt | Melting temperature [K] | yes | ||
L | Latent heat of fusion [J/kg] | yes | ||
relax | Relaxation coefficient [0-1] | no | 0.9 | |
thermoMode | Thermo mode [thermo | lookup] | yes | |
rhoRef | Reference (solid) density | yes | ||
rho | Name of density field | no | rho | |
T | Name of temperature field | no | T | |
Cp | Name of specific heat capacity field | no | Cp | |
U | Name of velocity field | no | U | |
phi | Name of flux field | no | phi | |
Cu | Model coefficient | no | 100000 | |
q | Model coefficient | no | 0.001 | |
beta | Thermal expansion coefficient [1/K] | yes | ||
g | Accelerartion due to gravity | no |
Definition at line 189 of file solidificationMeltingSource.H.
enum thermoMode |
Enumerator | |
---|---|
mdThermo | |
mdLookup |
Definition at line 195 of file solidificationMeltingSource.H.
solidificationMeltingSource | ( | const word & | sourceName, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from explicit source name and mesh.
Definition at line 183 of file solidificationMeltingSource.C.
References Foam::abort(), solidificationMeltingSource::addSup(), dictionaryName::dictName(), Foam::FatalError, FatalErrorInFunction, basicThermo::he(), and IOobject::name().
TypeName | ( | "solidificationMeltingSource" | ) |
Runtime type information.
Add explicit contribution to enthalpy equation.
Reimplemented from option.
Definition at line 253 of file solidificationMeltingSource.C.
Referenced by solidificationMeltingSource::addSup(), and solidificationMeltingSource::solidificationMeltingSource().
Add implicit contribution to momentum equation.
Reimplemented from option.
Definition at line 274 of file solidificationMeltingSource.C.
References solidificationMeltingSource::addSup(), lduMatrix::diag(), Foam::endl(), forAll, g, Foam::Info, IOobject::name(), Foam::pow3(), fvMatrix< Type >::psi(), fvMatrix< Type >::source(), Foam::fvc::Sp(), Foam::sqr(), Foam::fvc::Su(), and Foam::type().
|
virtual |
Add explicit contribution to compressible enthalpy equation.
Reimplemented from option.
Definition at line 263 of file solidificationMeltingSource.C.
References solidificationMeltingSource::addSup().
|
virtual |
Add implicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 311 of file solidificationMeltingSource.C.
|
virtual |
Read source dictionary.
Reimplemented from cellSetOption.
Definition at line 30 of file solidificationMeltingSourceIO.C.
References option::coeffs_, dictionary::lookup(), NamedEnum< Enum, nEnum >::read(), cellSetOption::read(), dictionary::readIfPresent(), and solidificationMeltingSource::thermoModeTypeNames_.
|
static |
Definition at line 201 of file solidificationMeltingSource.H.
Referenced by NamedEnum< Enum, nEnum >::names(), and solidificationMeltingSource::read().