The interfaceOxideRate
is a simple model to calculate the formation rate of oxide inclusions (mDotOxide
), which is a local function of the volume fraction of reducing agent (alpha
), temperature (T
) and oxide-inclusion density (chi
).
More...
Public Member Functions | |
TypeName ("interfaceOxideRate") | |
interfaceOxideRate (const dictionary &dict, const phasePair &pair) | |
virtual | ~interfaceOxideRate ()=default |
virtual tmp< volScalarField > | Kexp (const volScalarField &field) |
virtual tmp< volScalarField > | KSp (label modelVariable, const volScalarField &field) |
virtual tmp< volScalarField > | KSu (label modelVariable, const volScalarField &field) |
virtual const dimensionedScalar & | Tactivate () const noexcept |
virtual bool | includeDivU () const noexcept |
![]() | |
InterfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
~InterfaceCompositionModel ()=default | |
virtual tmp< volScalarField > | dY (const word &speciesName, const volScalarField &Tf) const |
virtual tmp< volScalarField > | Yf (const word &speciesName, const volScalarField &Tf) const |
virtual tmp< volScalarField > | D (const word &speciesName) const |
virtual tmp< volScalarField > | L (const word &speciesName, const volScalarField &Tf) const |
InterfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
~InterfaceCompositionModel ()=default | |
virtual tmp< volScalarField > | dY (const word &speciesName, const volScalarField &Tf) const |
virtual tmp< volScalarField > | D (const word &speciesName) const |
virtual tmp< volScalarField > | L (const word &speciesName, const volScalarField &Tf) const |
virtual void | addMDotL (const volScalarField &K, const volScalarField &Tf, volScalarField &mDotL, volScalarField &mDotLPrime) const |
template<class ThermoType > | |
const Foam::multiComponentMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const |
template<class ThermoType > | |
const Foam::pureMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const |
template<class ThermoType > | |
Foam::tmp< Foam::volScalarField > | getSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &mixture) const |
template<class ThermoType > | |
Foam::tmp< Foam::volScalarField > | getSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &mixture) const |
template<class ThermoType > | |
Foam::tmp< Foam::volScalarField > | MwMixture (const pureMixture< ThermoType > &mixture) const |
template<class ThermoType > | |
Foam::tmp< Foam::volScalarField > | MwMixture (const multiComponentMixture< ThermoType > &mixture) const |
![]() | |
TypeName ("interfaceCompositionModel") | |
declareRunTimeSelectionTable (autoPtr, interfaceCompositionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair)) | |
interfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
virtual | ~interfaceCompositionModel ()=default |
const word | transferSpecie () const |
const phasePair & | pair () const |
bool | includeVolChange () |
const word & | variable () const |
TypeName ("interfaceCompositionModel") | |
declareRunTimeSelectionTable (autoPtr, interfaceCompositionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair)) | |
interfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
virtual | ~interfaceCompositionModel ()=default |
virtual void | update (const volScalarField &Tf)=0 |
const hashedWordList & | species () const |
bool | transports (word &speciesName) const |
virtual tmp< volScalarField > | YfPrime (const word &speciesName, const volScalarField &Tf) const =0 |
Additional Inherited Members | |
![]() | |
enum | modelVariable { T, P, Y, alpha } |
![]() | |
static autoPtr< interfaceCompositionModel > | New (const dictionary &dict, const phasePair &pair) |
static autoPtr< interfaceCompositionModel > | New (const dictionary &dict, const phasePair &pair) |
![]() | |
template<class ThermoType > | |
const pureMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const |
template<class ThermoType > | |
const multiComponentMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const |
template<class ThermoType > | |
tmp< volScalarField > | getSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &thermo) const |
template<class ThermoType > | |
tmp< volScalarField > | getSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &thermo) const |
template<class ThermoType > | |
tmp< volScalarField > | MwMixture (const pureMixture< ThermoType > &thermo) const |
template<class ThermoType > | |
tmp< volScalarField > | MwMixture (const multiComponentMixture< ThermoType > &) const |
template<class ThermoType > | |
const pureMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const |
template<class ThermoType > | |
const multiComponentMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const |
![]() | |
const Thermo & | fromThermo_ |
const OtherThermo & | toThermo_ |
const dimensionedScalar | Le_ |
const Thermo & | thermo_ |
const OtherThermo & | otherThermo_ |
![]() | |
modelVariable | modelVariable_ |
bool | includeVolChange_ |
const phasePair & | pair_ |
word | speciesName_ |
const fvMesh & | mesh_ |
const hashedWordList | speciesNames_ |
![]() | |
static const Enum< modelVariable > | modelVariableNames_ |
The interfaceOxideRate
is a simple model to calculate the formation rate of oxide inclusions (mDotOxide
), which is a local function of the volume fraction of reducing agent (alpha
), temperature (T
) and oxide-inclusion density (chi
).
The oxide-inclusion formation rate is modelled as follows:
with
where
![]() | = | Oxide-inclusion formation rate [kg/(m^3 s)] |
![]() | = | Oxide-inclusion formation rate constant [kg/(m^3 s)] |
![]() | = | Formation factor due to volume fraction of reducing agent [-] |
![]() | = | Formation factor due to temperature [-] |
![]() | = | Formation factor due to oxide-inclusion density [-] |
![]() | = | Volume fraction of reducing agent [-] |
![]() | = | Local temperature [K] |
![]() | = | Solidus temperature of reducing agent [K] |
![]() | = | Liquidus temperature of reducing agent [K] |
![]() | = | Critical oxide-inclusion density [kg/m^3] |
![]() | = | Current oxide-inclusion density [kg/m^3] |
References:
Oxide-inclusion model (tag:CSC): Cao, L., Sun, F., Chen, T., Tang, Y., & Liao, D. (2018). Quantitative prediction of oxide inclusion defects inside the casting and on the walls during cast-filling processes. International Journal of Heat and Mass Transfer, 119, 614-623. DOI:10.1016/j.ijheatmasstransfer.2017.11.127
constant/phaseProperties.massTransferModel
: massTransferModel ( (liquid to oxide) { type interfaceOxideRate; C <scalar>; Tliquidus <scalar>; Tsolidus <scalar>; oxideCrit <scalar>; isoAlpha <scalar>; } );
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | Type name: interfaceOxideRate | word | yes | - |
C | Oxide-inclusion formation rate constant | scalar | yes | - |
Tliquidus | Liquidus temperature of reducing agent | scalar | yes | - |
Tsolidus | Solidus temperature of reducing agent | scalar | yes | - |
oxideCrit | Critical oxide-inclusion density | scalar | yes | - |
isoAlpha | Location of the source | scalar | no | 0.5 |
oxideCrit
should be determined experimentally (CSC:p. 616).C
should be determined by practical production (CSC:p. 616).Definition at line 223 of file interfaceOxideRate.H.
interfaceOxideRate | ( | const dictionary & | dict, |
const phasePair & | pair | ||
) |
Definition at line 31 of file interfaceOxideRate.C.
|
virtualdefault |
TypeName | ( | "interfaceOxideRate< Thermo, OtherThermo >" | ) |
|
virtual |
Implements interfaceCompositionModel.
Definition at line 91 of file interfaceOxideRate.C.
References GeometricField::boundaryField(), Foam::dimDensity, Foam::constant::electromagnetic::e, Foam::exp(), forAll, phasePair::from(), Foam::fac::interpolate(), Foam::max(), mesh, Foam::New(), tmp::ref(), GeometricField::ref(), phaseModel::rho(), T, phasePair::to(), and Foam::Zero.
|
virtual |
Implements interfaceCompositionModel.
Definition at line 179 of file interfaceOxideRate.C.
|
virtual |
Implements interfaceCompositionModel.
Definition at line 191 of file interfaceOxideRate.C.
|
inlinevirtualnoexcept |
Implements interfaceCompositionModel.
Definition at line 291 of file interfaceOxideRate.H.
|
inlinevirtualnoexcept |
Reimplemented from interfaceCompositionModel.
Definition at line 298 of file interfaceOxideRate.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.