timeVaryingMassSorptionFvPatchScalarField Class Reference

This boundary condition provides a first order fixed-value condition for a given scalar field to model time-dependent adsorption-desoprtion processes to be used with the interfaceOxideRate mass model. More...

Inheritance diagram for timeVaryingMassSorptionFvPatchScalarField:
[legend]
Collaboration diagram for timeVaryingMassSorptionFvPatchScalarField:
[legend]

Public Types

enum  ddtSchemeType { tsEuler , tsCrankNicolson , tsBackward }
 Enumeration defining the available ddt schemes. More...
 

Public Member Functions

 TypeName ("timeVaryingMassSorption")
 Runtime type information. More...
 
 timeVaryingMassSorptionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 timeVaryingMassSorptionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 timeVaryingMassSorptionFvPatchScalarField (const timeVaryingMassSorptionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 
 timeVaryingMassSorptionFvPatchScalarField (const timeVaryingMassSorptionFvPatchScalarField &)
 Construct as copy. More...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 timeVaryingMassSorptionFvPatchScalarField (const timeVaryingMassSorptionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object. More...
 
virtual void rmap (const fvPatchScalarField &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField. More...
 
tmp< scalarFieldsource () const
 Return source rate. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Detailed Description

This boundary condition provides a first order fixed-value condition for a given scalar field to model time-dependent adsorption-desoprtion processes to be used with the interfaceOxideRate mass model.

\[ \frac{d c}{d t} = k_{abs} w (c_{int} - c_{p_{w}}) + k_{des} (c_{p_{w}} - c_{int}) \]

\[ w = \max(1 - c_{p_{w}}/max, 0) \]

where

\( c_{int} \) = Concentration at cell
\( c_{p_{w}} \) = Concentration at wall
\( k_{abs} \) = Adsorption rate constant [1/s]
\( k_{des} \) = Desorption rate constant [1/s]
\( w \) = Weight function
\( max \) = Max concentration at wall
Usage
Example of the boundary condition specification:
<patchName>
{
    // Mandatory entries
    type        timeVaryingMassSorption;
    kbas        <scalar>;
    max         <scalar>;

    // Optional entries
    kdes        <scalar>;

    // Inherited entries
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: timeVaryingAdsorption word yes -
kbas Adsorption rate constant scalar yes -
max Maximum concentation at wall scalar yes -
kdes Desorption rate constant scalar no 0

The inherited entries are elaborated in:

Source files

Definition at line 158 of file timeVaryingMassSorptionFvPatchScalarField.H.

Member Enumeration Documentation

◆ ddtSchemeType

Enumeration defining the available ddt schemes.

Enumerator
tsEuler 
tsCrankNicolson 
tsBackward 

Definition at line 167 of file timeVaryingMassSorptionFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ timeVaryingMassSorptionFvPatchScalarField() [1/5]

timeVaryingMassSorptionFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF 
)

Construct from patch and internal field.

Definition at line 61 of file timeVaryingMassSorptionFvPatchScalarField.C.

◆ timeVaryingMassSorptionFvPatchScalarField() [2/5]

timeVaryingMassSorptionFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const dictionary dict 
)

Construct from patch, internal field and dictionary.

Definition at line 75 of file timeVaryingMassSorptionFvPatchScalarField.C.

References dict, dictionary::found(), fvPatchField< scalar >::operator, fvPatchField< Type >::operator=(), p, UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ timeVaryingMassSorptionFvPatchScalarField() [3/5]

Construct by mapping given timeVaryingMassSorptionFvPatchScalarField onto a new patch

Definition at line 102 of file timeVaryingMassSorptionFvPatchScalarField.C.

◆ timeVaryingMassSorptionFvPatchScalarField() [4/5]

◆ timeVaryingMassSorptionFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 131 of file timeVaryingMassSorptionFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "timeVaryingMassSorption"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp< fvPatchScalarField > clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 232 of file timeVaryingMassSorptionFvPatchScalarField.H.

◆ clone() [2/2]

virtual tmp< fvPatchScalarField > clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Definition at line 248 of file timeVaryingMassSorptionFvPatchScalarField.H.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper m)
virtual

Map (and resize as needed) from self given a mapping object.

Definition at line 147 of file timeVaryingMassSorptionFvPatchScalarField.C.

◆ rmap()

void rmap ( const fvPatchScalarField ptf,
const labelList addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Definition at line 156 of file timeVaryingMassSorptionFvPatchScalarField.C.

◆ source()

Foam::tmp< Foam::scalarField > source ( ) const

Return source rate.

Definition at line 167 of file timeVaryingMassSorptionFvPatchScalarField.C.

References cp, Foam::max(), Time::New(), and Foam::Zero.

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 183 of file timeVaryingMassSorptionFvPatchScalarField.C.

References cp, Foam::exit(), Foam::FatalError, FatalErrorInFunction, fld(), Foam::max(), Foam::nl, Foam::operator==(), and tmp< T >::ref().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 259 of file timeVaryingMassSorptionFvPatchScalarField.C.

References os(), ObukhovLength::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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