Public Types | Public Member Functions | List of all members
CoEulerDdtScheme< Type > Class Template Reference

Courant number limited first-order Euler implicit/explicit ddt. More...

Inheritance diagram for CoEulerDdtScheme< Type >:
Inheritance graph
[legend]
Collaboration diagram for CoEulerDdtScheme< Type >:
Collaboration graph
[legend]

Public Types

typedef ddtScheme< Type >::fluxFieldType fluxFieldType
 
- Public Types inherited from ddtScheme< Type >
typedef GeometricField< typename flux< Type >::type, fvsPatchField, surfaceMeshfluxFieldType
 

Public Member Functions

 TypeName ("CoEuler")
 
 CoEulerDdtScheme (const fvMesh &mesh, Istream &is)
 
const fvMeshmesh () const
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt (const dimensioned< Type > &)
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt (const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt (const dimensionedScalar &, const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt (const volScalarField &, const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &psi)
 
tmp< fvMatrix< Type > > fvmDdt (const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< fvMatrix< Type > > fvmDdt (const dimensionedScalar &, const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< fvMatrix< Type > > fvmDdt (const volScalarField &, const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< fvMatrix< Type > > fvmDdt (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &psi)
 
tmp< fluxFieldTypefvcDdtUfCorr (const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)
 
tmp< fluxFieldTypefvcDdtPhiCorr (const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)
 
tmp< fluxFieldTypefvcDdtUfCorr (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)
 
tmp< fluxFieldTypefvcDdtPhiCorr (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)
 
tmp< surfaceScalarFieldmeshPhi (const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< surfaceScalarFieldfvcDdtUfCorr (const GeometricField< scalar, fvPatchField, volMesh > &U, const GeometricField< scalar, fvsPatchField, surfaceMesh > &Uf)
 
tmp< surfaceScalarFieldfvcDdtPhiCorr (const volScalarField &U, const surfaceScalarField &phi)
 
tmp< surfaceScalarFieldfvcDdtUfCorr (const volScalarField &rho, const volScalarField &U, const surfaceScalarField &Uf)
 
tmp< surfaceScalarFieldfvcDdtPhiCorr (const volScalarField &rho, const volScalarField &U, const surfaceScalarField &phi)
 
- Public Member Functions inherited from ddtScheme< Type >
virtual const wordtype () const =0
 
 declareRunTimeSelectionTable (tmp, ddtScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 ddtScheme (const fvMesh &mesh)
 
 ddtScheme (const fvMesh &mesh, Istream &is)
 
virtual ~ddtScheme ()=default
 
const fvMeshmesh () const
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > fvcDdt (const GeometricField< Type, fvsPatchField, surfaceMesh > &)
 
tmp< surfaceScalarFieldfvcDdtPhiCoeff (const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
 
tmp< surfaceScalarFieldfvcDdtPhiCoeffExperimental (const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr)
 
tmp< surfaceScalarFieldfvcDdtPhiCoeff (const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi, const fluxFieldType &phiCorr, const volScalarField &rho)
 
tmp< surfaceScalarFieldfvcDdtPhiCoeff (const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)
 
tmp< surfaceScalarFieldfvcDdtPhiCoeff (const GeometricField< Type, fvPatchField, volMesh > &rhoU, const fluxFieldType &phi, const volScalarField &rho)
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 
int count () const noexcept
 
bool unique () const noexcept
 
void operator++ () noexcept
 
void operator++ (int) noexcept
 
void operator-- () noexcept
 
void operator-- (int) noexcept
 
- Public Member Functions inherited from ddtSchemeBase
 ddtSchemeBase ()
 
 ddtSchemeBase ()
 

Additional Inherited Members

- Static Public Member Functions inherited from ddtScheme< Type >
static tmp< ddtScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 
- Static Public Attributes inherited from ddtSchemeBase
static bool experimentalDdtCorr
 
- Protected Member Functions inherited from ddtScheme< Type >
 ddtScheme (const ddtScheme &)=delete
 
void operator= (const ddtScheme &)=delete
 
- Protected Attributes inherited from ddtScheme< Type >
const fvMeshmesh_
 
scalar ddtPhiCoeff_
 

Detailed Description

template<class Type>
class Foam::fv::CoEulerDdtScheme< Type >

Courant number limited first-order Euler implicit/explicit ddt.

The time-step is adjusted locally so that the local Courant number does not exceed the specified value.

This scheme should only be used for steady-state computations using transient codes where local time-stepping is preferable to under-relaxation for transport consistency reasons.

Source files

Definition at line 62 of file CoEulerDdtScheme.H.

Member Typedef Documentation

◆ fluxFieldType

Definition at line 173 of file CoEulerDdtScheme.H.

Constructor & Destructor Documentation

◆ CoEulerDdtScheme()

CoEulerDdtScheme ( const fvMesh mesh,
Istream is 
)
inline

Definition at line 103 of file CoEulerDdtScheme.H.

Member Function Documentation

◆ TypeName()

TypeName ( "CoEuler"  )

◆ mesh()

const fvMesh& mesh ( ) const
inline

Definition at line 115 of file CoEulerDdtScheme.H.

References ddtScheme< Type >::mesh().

Here is the call graph for this function:

◆ fvcDdt() [1/5]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt ( const dimensioned< Type > &  dt)
virtual

◆ fvcDdt() [2/5]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt ( const GeometricField< Type, fvPatchField, volMesh > &  vf)
virtual

Implements ddtScheme< Type >.

Definition at line 195 of file CoEulerDdtScheme.C.

References GeometricField::boundaryField(), mesh, GeometricField::oldTime(), GeometricField::primitiveField(), and timeName.

Here is the call graph for this function:

◆ fvcDdt() [3/5]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt ( const dimensionedScalar rho,
const GeometricField< Type, fvPatchField, volMesh > &  vf 
)
virtual

Implements ddtScheme< Type >.

Definition at line 246 of file CoEulerDdtScheme.C.

References GeometricField::boundaryField(), mesh, GeometricField::oldTime(), GeometricField::primitiveField(), rho, and timeName.

Here is the call graph for this function:

◆ fvcDdt() [4/5]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt ( const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  vf 
)
virtual

Implements ddtScheme< Type >.

Definition at line 298 of file CoEulerDdtScheme.C.

References GeometricField::boundaryField(), mesh, GeometricField::oldTime(), GeometricField::primitiveField(), rho, and timeName.

Here is the call graph for this function:

◆ fvcDdt() [5/5]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt ( const volScalarField alpha,
const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  psi 
)
virtual

◆ fvmDdt() [1/4]

tmp< fvMatrix< Type > > fvmDdt ( const GeometricField< Type, fvPatchField, volMesh > &  vf)
virtual

Implements ddtScheme< Type >.

Definition at line 422 of file CoEulerDdtScheme.C.

References Foam::dimTime, Foam::dimVol, mesh, GeometricField::oldTime(), tmp::ref(), and fvMatrix::source().

Here is the call graph for this function:

◆ fvmDdt() [2/4]

tmp< fvMatrix< Type > > fvmDdt ( const dimensionedScalar rho,
const GeometricField< Type, fvPatchField, volMesh > &  vf 
)
virtual

Implements ddtScheme< Type >.

Definition at line 457 of file CoEulerDdtScheme.C.

References Foam::dimTime, Foam::dimVol, mesh, GeometricField::oldTime(), tmp::ref(), rho, and fvMatrix::source().

Here is the call graph for this function:

◆ fvmDdt() [3/4]

tmp< fvMatrix< Type > > fvmDdt ( const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  vf 
)
virtual

Implements ddtScheme< Type >.

Definition at line 494 of file CoEulerDdtScheme.C.

References Foam::dimTime, Foam::dimVol, mesh, GeometricField::oldTime(), tmp::ref(), rho, and fvMatrix::source().

Here is the call graph for this function:

◆ fvmDdt() [4/4]

tmp< fvMatrix< Type > > fvmDdt ( const volScalarField alpha,
const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  psi 
)
virtual

Implements ddtScheme< Type >.

Definition at line 533 of file CoEulerDdtScheme.C.

References Foam::constant::atomic::alpha, dimensioned::dimensions(), Foam::dimTime, Foam::dimVol, mesh, GeometricField::oldTime(), tmp::ref(), rho, and fvMatrix::source().

Here is the call graph for this function:

◆ fvcDdtUfCorr() [1/4]

tmp< typename CoEulerDdtScheme< Type >::fluxFieldType > fvcDdtUfCorr ( const GeometricField< Type, fvPatchField, volMesh > &  U,
const GeometricField< Type, fvsPatchField, surfaceMesh > &  Uf 
)
virtual

Implements ddtScheme< Type >.

Definition at line 576 of file CoEulerDdtScheme.C.

References Foam::fvc::dotInterpolate(), Foam::fvc::interpolate(), mesh, timeName, U, and Uf.

Here is the call graph for this function:

◆ fvcDdtPhiCorr() [1/4]

tmp< typename CoEulerDdtScheme< Type >::fluxFieldType > fvcDdtPhiCorr ( const GeometricField< Type, fvPatchField, volMesh > &  U,
const fluxFieldType phi 
)
virtual

Implements ddtScheme< Type >.

Definition at line 609 of file CoEulerDdtScheme.C.

References Foam::fvc::dotInterpolate(), Foam::fvc::interpolate(), mesh, phi, timeName, and U.

Here is the call graph for this function:

◆ fvcDdtUfCorr() [2/4]

tmp< typename CoEulerDdtScheme< Type >::fluxFieldType > fvcDdtUfCorr ( const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  U,
const GeometricField< Type, fvsPatchField, surfaceMesh > &  Uf 
)
virtual

◆ fvcDdtPhiCorr() [2/4]

tmp< typename CoEulerDdtScheme< Type >::fluxFieldType > fvcDdtPhiCorr ( const volScalarField rho,
const GeometricField< Type, fvPatchField, volMesh > &  U,
const fluxFieldType phi 
)
virtual

Implements ddtScheme< Type >.

Definition at line 726 of file CoEulerDdtScheme.C.

References Foam::abort(), Foam::dimArea, Foam::dimVelocity, Foam::fvc::dotInterpolate(), Foam::FatalError, FatalErrorInFunction, mesh, phi, rho, timeName, and U.

Here is the call graph for this function:

◆ meshPhi()

tmp< surfaceScalarField > meshPhi ( const GeometricField< Type, fvPatchField, volMesh > &  )
virtual

Implements ddtScheme< Type >.

Definition at line 816 of file CoEulerDdtScheme.C.

References Foam::dimTime, Foam::dimVolume, mesh, IOobject::NO_READ, IOobject::NO_WRITE, tmp::ref(), timeName, and Foam::Zero.

Here is the call graph for this function:

◆ fvcDdtUfCorr() [3/4]

tmp< surfaceScalarField > fvcDdtUfCorr ( const GeometricField< scalar, fvPatchField, volMesh > &  U,
const GeometricField< scalar, fvsPatchField, surfaceMesh > &  Uf 
)

◆ fvcDdtPhiCorr() [3/4]

tmp< surfaceScalarField > fvcDdtPhiCorr ( const volScalarField U,
const surfaceScalarField phi 
)

◆ fvcDdtUfCorr() [4/4]

tmp< surfaceScalarField > fvcDdtUfCorr ( const volScalarField rho,
const volScalarField U,
const surfaceScalarField Uf 
)

◆ fvcDdtPhiCorr() [4/4]

tmp< surfaceScalarField > fvcDdtPhiCorr ( const volScalarField rho,
const volScalarField U,
const surfaceScalarField phi 
)

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