Public Member Functions | List of all members
interfaceOxideRate< Thermo, OtherThermo > Class Template Reference

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

Inheritance diagram for interfaceOxideRate< Thermo, OtherThermo >:
Inheritance graph
[legend]
Collaboration diagram for interfaceOxideRate< Thermo, OtherThermo >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("interfaceOxideRate")
 
 interfaceOxideRate (const dictionary &dict, const phasePair &pair)
 
virtual ~interfaceOxideRate ()=default
 
virtual tmp< volScalarFieldKexp (const volScalarField &field)
 
virtual tmp< volScalarFieldKSp (label modelVariable, const volScalarField &field)
 
virtual tmp< volScalarFieldKSu (label modelVariable, const volScalarField &field)
 
virtual const dimensionedScalarTactivate () const noexcept
 
virtual bool includeDivU () const noexcept
 
- Public Member Functions inherited from InterfaceCompositionModel< Thermo, OtherThermo >
 InterfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
 ~InterfaceCompositionModel ()=default
 
virtual tmp< volScalarFielddY (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldYf (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldD (const word &speciesName) const
 
virtual tmp< volScalarFieldL (const word &speciesName, const volScalarField &Tf) const
 
 InterfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
 ~InterfaceCompositionModel ()=default
 
virtual tmp< volScalarFielddY (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldD (const word &speciesName) const
 
virtual tmp< volScalarFieldL (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::volScalarFieldgetSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldgetSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldMwMixture (const pureMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldMwMixture (const multiComponentMixture< ThermoType > &mixture) const
 
- Public Member Functions inherited from interfaceCompositionModel
 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 phasePairpair () const
 
bool includeVolChange ()
 
const wordvariable () 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 hashedWordListspecies () const
 
bool transports (word &speciesName) const
 
virtual tmp< volScalarFieldYfPrime (const word &speciesName, const volScalarField &Tf) const =0
 

Additional Inherited Members

- Public Types inherited from interfaceCompositionModel
enum  modelVariable { T, P, Y, alpha }
 
- Static Public Member Functions inherited from interfaceCompositionModel
static autoPtr< interfaceCompositionModelNew (const dictionary &dict, const phasePair &pair)
 
static autoPtr< interfaceCompositionModelNew (const dictionary &dict, const phasePair &pair)
 
- Protected Member Functions inherited from InterfaceCompositionModel< Thermo, OtherThermo >
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< volScalarFieldgetSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldgetSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldMwMixture (const pureMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldMwMixture (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
 
- Protected Attributes inherited from InterfaceCompositionModel< Thermo, OtherThermo >
const Thermo & fromThermo_
 
const OtherThermo & toThermo_
 
const dimensionedScalar Le_
 
const Thermo & thermo_
 
const OtherThermo & otherThermo_
 
- Protected Attributes inherited from interfaceCompositionModel
modelVariable modelVariable_
 
bool includeVolChange_
 
const phasePairpair_
 
word speciesName_
 
const fvMeshmesh_
 
const hashedWordList speciesNames_
 
- Static Protected Attributes inherited from interfaceCompositionModel
static const Enum< modelVariablemodelVariableNames_
 

Detailed Description

template<class Thermo, class OtherThermo>
class Foam::meltingEvaporationModels::interfaceOxideRate< Thermo, OtherThermo >

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:

\[ S_\chi = C_\chi S_\alpha S_T S_\rho \]

with

\[ S_\alpha = \alpha (1 - \alpha) \]

\[ S_T = \exp{ 1 - \frac{1}{max(T - T_{solidus}/(T_liquidus - T_solidus), 1e-6)} } \]

\[ S_\rho = max \left(\frac{\chi_{crit} - \chi_{curr}}{\chi_{curr}}, 0\right) \]

where

$ S_\chi $ = Oxide-inclusion formation rate [kg/(m^3 s)]
$ C_\chi $ = Oxide-inclusion formation rate constant [kg/(m^3 s)]
$ S_\alpha $ = Formation factor due to volume fraction of reducing agent [-]
$ S_T $ = Formation factor due to temperature [-]
$ S_\rho $ = Formation factor due to oxide-inclusion density [-]
$ \alpha $ = Volume fraction of reducing agent [-]
$ T $ = Local temperature [K]
$ T_{solidus} $ = Solidus temperature of reducing agent [K]
$ T_{liquidus} $ = Liquidus temperature of reducing agent [K]
$ \chi_{crit} $ = Critical oxide-inclusion density [kg/m^3]
$ \chi_{curr} $ = 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
Usage
Minimal example by using 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
Note
  • oxideCrit should be determined experimentally (CSC:p. 616).
  • C should be determined by practical production (CSC:p. 616).
Source files

Definition at line 223 of file interfaceOxideRate.H.

Constructor & Destructor Documentation

◆ interfaceOxideRate()

interfaceOxideRate ( const dictionary dict,
const phasePair pair 
)

Definition at line 31 of file interfaceOxideRate.C.

◆ ~interfaceOxideRate()

virtual ~interfaceOxideRate ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "interfaceOxideRate< Thermo, OtherThermo >"  )

◆ Kexp()

Foam::tmp< Foam::volScalarField > Kexp ( const volScalarField field)
virtual

◆ KSp()

Foam::tmp< Foam::volScalarField > KSp ( label  modelVariable,
const volScalarField field 
)
virtual

Implements interfaceCompositionModel.

Definition at line 179 of file interfaceOxideRate.C.

◆ KSu()

Foam::tmp< Foam::volScalarField > KSu ( label  modelVariable,
const volScalarField field 
)
virtual

Implements interfaceCompositionModel.

Definition at line 191 of file interfaceOxideRate.C.

◆ Tactivate()

virtual const dimensionedScalar& Tactivate ( ) const
inlinevirtualnoexcept

Implements interfaceCompositionModel.

Definition at line 291 of file interfaceOxideRate.H.

◆ includeDivU()

virtual bool includeDivU ( ) const
inlinevirtualnoexcept

Reimplemented from interfaceCompositionModel.

Definition at line 298 of file interfaceOxideRate.H.


The documentation for this class was generated from the following files: