Public Member Functions | List of all members
solidification Class Reference

Simple solidification porosity model. More...

Inheritance diagram for solidification:
Inheritance graph
[legend]
Collaboration diagram for solidification:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("solidification")
 
 solidification (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName)
 
virtual ~solidification ()
 
virtual void calcTransformModelData ()
 
virtual void calcForce (const volVectorField &U, const volScalarField &rho, const volScalarField &mu, vectorField &force) const
 
virtual void correct (fvVectorMatrix &UEqn) const
 
virtual void correct (fvVectorMatrix &UEqn, const volScalarField &rho, const volScalarField &mu) const
 
virtual void correct (const fvVectorMatrix &UEqn, volTensorField &AU) const
 
bool writeData (Ostream &os) const
 
- Public Member Functions inherited from porosityModel
 TypeName ("porosityModel")
 
 declareRunTimeSelectionTable (autoPtr, porosityModel, mesh,(const word &modelName, const word &name, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName),(modelName, name, mesh, dict, cellZoneName))
 
 porosityModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName=word::null)
 
virtual ~porosityModel ()=default
 
const wordname () const
 
bool active () const
 
const labelListcellZoneIDs () const
 
const dictionarydict () const
 
virtual void transformModelData ()
 
virtual tmp< vectorFieldforce (const volVectorField &U, const volScalarField &rho, const volScalarField &mu)
 
virtual void addResistance (fvVectorMatrix &UEqn)
 
virtual void addResistance (fvVectorMatrix &UEqn, const volScalarField &rho, const volScalarField &mu)
 
virtual void addResistance (const fvVectorMatrix &UEqn, volTensorField &AU, bool correctAUprocBC)
 
virtual bool global () const
 
virtual fileName filePath () const
 
virtual bool read (const dictionary &dict)
 
virtual bool read ()
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 
 regIOobject (const IOobject &io, const bool isTimeObject=false)
 
 regIOobject (const regIOobject &rio)
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 
virtual ~regIOobject ()
 
bool checkIn ()
 
bool checkOut ()
 
virtual void addWatch ()
 
bool ownedByRegistry () const
 
bool store ()
 
void release (const bool unregister=false)
 
label eventNo () const
 
label & eventNo ()
 
bool upToDate (const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 
void setUpToDate ()
 
virtual void rename (const word &newName)
 
const dictionaryfindMetaData () const noexcept
 
dictionarygetMetaData () noexcept
 
void removeMetaData ()
 
virtual void updateMetaData ()
 
bool headerOk ()
 
IstreamreadStream (const word &, const bool valid=true)
 
void close ()
 
virtual bool readData (Istream &)
 
virtual bool read ()
 
virtual label addWatch (const fileName &)
 
const labelListwatchIndices () const
 
labelListwatchIndices ()
 
virtual bool modified () const
 
virtual bool readIfModified ()
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 
virtual bool write (const bool valid=true) const
 
void operator= (const IOobject &io)
 
virtual bool writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType comp, const bool valid) const
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 
 IOobject (const IOobject &)=default
 
virtual ~IOobject ()=default
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 
 IOobject (const IOobject &io, const word &name)
 
 IOobject (const IOobject &io, readOption, writeOption)
 
autoPtr< IOobjectclone () const
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 
const objectRegistrydb () const noexcept
 
const Timetime () const
 
const wordname () const noexcept
 
const wordheaderClassName () const noexcept
 
wordheaderClassName () noexcept
 
const stringnote () const noexcept
 
stringnote () noexcept
 
bool registerObject () const noexcept
 
bool registerObject (bool on) noexcept
 
bool globalObject () const noexcept
 
bool globalObject (bool on) noexcept
 
unsigned labelByteSize () const noexcept
 
unsigned scalarByteSize () const noexcept
 
bool isHeaderClassName (const word &clsName) const
 
template<class Type >
bool isHeaderClassName () const
 
readOption readOpt () const noexcept
 
readOption readOpt (readOption opt) noexcept
 
writeOption writeOpt () const noexcept
 
writeOption writeOpt (writeOption opt) noexcept
 
word group () const
 
word member () const
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const noexcept
 
fileNameinstance () noexcept
 
const fileNamelocal () const noexcept
 
fileName path () const
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 
fileName objectPath () const
 
fileName objectRelPath () const
 
fileName localFilePath (const word &typeName, const bool search=true) const
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 
IOstreamOption parseHeader (const dictionary &headerDict)
 
bool readHeader (Istream &is)
 
bool readHeader (dictionary &headerDict, Istream &is)
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 
template<class Type >
void warnNoRereading () const
 
bool writeHeader (Ostream &os) const
 
bool writeHeader (Ostream &os, const word &objectType) const
 
void writeHeader (dictionary &dict, IOstreamOption streamOpt) const
 
void writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const
 
bool good () const noexcept
 
bool bad () const noexcept
 
InfoProxy< IOobjectinfo () const
 
void operator= (const IOobject &io)
 
readOptionreadOpt () noexcept
 
writeOptionwriteOpt () noexcept
 
boolregisterObject () noexcept
 
boolglobalObject () noexcept
 
template<>
bool isHeaderClassName () const
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 
enum  readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 
enum  writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 }
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 
- Static Public Member Functions inherited from porosityModel
static autoPtr< porosityModelNew (const word &name, const fvMesh &mesh, const dictionary &dict, const word &cellZoneName=word::null)
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 
- Static Public Member Functions inherited from IOobject
static bool bannerEnabled () noexcept
 
static bool bannerEnabled (bool on) noexcept
 
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 
template<class StringType >
static word groupName (StringType base, const word &group)
 
static word group (const word &name)
 
static word member (const word &name)
 
static word scopedName (const std::string &scope, const word &name)
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 
static OstreamwriteBanner (Ostream &os, const bool noSyntaxHint=false)
 
static OstreamwriteDivider (Ostream &os)
 
static OstreamwriteEndDivider (Ostream &os)
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 
static char scopeSeparator
 
static fileCheckTypes fileModificationChecking
 
static float fileModificationSkew
 
static int maxFileModificationPolls
 
- Protected Member Functions inherited from porosityModel
void adjustNegativeResistance (dimensionedVector &resist)
 
const coordinateSystemcsys () const
 
label fieldIndex (const label index) const
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName)
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 
- Static Protected Member Functions inherited from IOobject
static void writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr)
 
static void writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr)
 
- Protected Attributes inherited from porosityModel
word name_
 
const fvMeshmesh_
 
const dictionary dict_
 
dictionary coeffs_
 
bool active_
 
wordRe zoneName_
 
labelList cellZoneIDs_
 
autoPtr< coordinateSystemcsysPtr_
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 

Detailed Description

Simple solidification porosity model.

This is a simple approximation to solidification where the solid phase is represented as a porous blockage with the drag-coefficient evaluated from

\[ S = - \alpha \rho D(T) U \]

where

$ \alpha $ = Optional phase-fraction of solidifying phase
$ D(T) $ = User-defined drag-coefficient as function of temperature

Note that the latent heat of solidification is not included and the temperature is unchanged by the modelled change of phase.

Example of the solidification model specification:

        type            solidification;

        solidificationCoeffs
        {
            // Solidify between 330K and 330.5K
            D table
            (
                (330.0     10000) // Solid below 330K
                (330.5     0)     // Liquid above 330.5K
            );

            // Optional phase-fraction of solidifying phase
            alpha alpha.liquid;

            // Solidification porosity is isotropic
            // use the global coordinate system
            coordinateSystem
            {
                origin  (0 0 0);
                e1      (1 0 0);
                e2      (0 1 0);
            }
        }
Source files

Definition at line 101 of file solidification.H.

Constructor & Destructor Documentation

◆ solidification()

solidification ( const word name,
const word modelType,
const fvMesh mesh,
const dictionary dict,
const word cellZoneName 
)

Definition at line 42 of file solidification.C.

◆ ~solidification()

~solidification ( )
virtual

Definition at line 60 of file solidification.C.

Member Function Documentation

◆ TypeName()

TypeName ( "solidification"  )

◆ calcTransformModelData()

void calcTransformModelData ( )
virtual

Implements porosityModel.

Definition at line 66 of file solidification.C.

◆ calcForce()

void calcForce ( const volVectorField U,
const volScalarField rho,
const volScalarField mu,
vectorField force 
) const
virtual

Implements porosityModel.

Definition at line 71 of file solidification.C.

References Foam::apply(), rho, U, and Foam::Zero.

Here is the call graph for this function:

◆ correct() [1/3]

void correct ( fvVectorMatrix UEqn) const
virtual

Implements porosityModel.

Definition at line 88 of file solidification.C.

References Foam::apply(), Foam::dimForce, IOobject::groupName(), rho, U, and UEqn.

Here is the call graph for this function:

◆ correct() [2/3]

void correct ( fvVectorMatrix UEqn,
const volScalarField rho,
const volScalarField mu 
) const
virtual

Implements porosityModel.

Definition at line 113 of file solidification.C.

References Foam::apply(), rho, U, and UEqn.

Here is the call graph for this function:

◆ correct() [3/3]

void correct ( const fvVectorMatrix UEqn,
volTensorField AU 
) const
virtual

Implements porosityModel.

Definition at line 128 of file solidification.C.

References Foam::apply(), Foam::dimForce, IOobject::groupName(), rho, U, and UEqn.

Here is the call graph for this function:

◆ writeData()

bool writeData ( Ostream os) const
virtual

Reimplemented from porosityModel.

Definition at line 151 of file solidification.C.

References os().

Here is the call graph for this function:

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