relaxedNonOrthoGaussLaplacianScheme< Type, GType > Class Template Reference

Basic second-order laplacian using face-gradients and Gauss' theorem. More...

Inheritance diagram for relaxedNonOrthoGaussLaplacianScheme< Type, GType >:
Collaboration diagram for relaxedNonOrthoGaussLaplacianScheme< Type, GType >:

Public Member Functions

 TypeName ("relaxedNonOrthoGauss")
 Runtime type information. More...
 
 relaxedNonOrthoGaussLaplacianScheme (const fvMesh &mesh)
 Construct null. More...
 
 relaxedNonOrthoGaussLaplacianScheme (const fvMesh &mesh, Istream &is)
 Construct from Istream. More...
 
 relaxedNonOrthoGaussLaplacianScheme (const fvMesh &mesh, const tmp< surfaceInterpolationScheme< GType >> &igs, const tmp< snGradScheme< Type >> &sngs)
 Construct from mesh, interpolation and snGradScheme schemes. More...
 
virtual ~relaxedNonOrthoGaussLaplacianScheme ()=default
 Destructor. More...
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< fvMatrix< Type > > fvmLaplacian (const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
 
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
 
template<>
tmp< fvMatrix< scalar > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< scalar, fvPatchField, volMesh > &)
 
template<>
tmp< GeometricField< scalar, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< scalar, fvPatchField, volMesh > &)
 
template<>
tmp< fvMatrix< vector > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< vector, fvPatchField, volMesh > &)
 
template<>
tmp< GeometricField< vector, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< vector, fvPatchField, volMesh > &)
 
template<>
tmp< fvMatrix< sphericalTensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< sphericalTensor, fvPatchField, volMesh > &)
 
template<>
tmp< GeometricField< sphericalTensor, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< sphericalTensor, fvPatchField, volMesh > &)
 
template<>
tmp< fvMatrix< symmTensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< symmTensor, fvPatchField, volMesh > &)
 
template<>
tmp< GeometricField< symmTensor, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< symmTensor, fvPatchField, volMesh > &)
 
template<>
tmp< fvMatrix< tensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< tensor, fvPatchField, volMesh > &)
 
template<>
tmp< GeometricField< tensor, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &, const GeometricField< tensor, fvPatchField, volMesh > &)
 
template<>
Foam::tmp< Foam::GeometricField< Foam::scalar, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< scalar, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::fvMatrix< Foam::vector > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< vector, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::GeometricField< Foam::vector, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< vector, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::fvMatrix< Foam::sphericalTensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< sphericalTensor, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::GeometricField< Foam::sphericalTensor, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< sphericalTensor, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::fvMatrix< Foam::symmTensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< symmTensor, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::GeometricField< Foam::symmTensor, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< symmTensor, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::fvMatrix< Foam::tensor > > fvmLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< tensor, fvPatchField, volMesh > &vf)
 
template<>
Foam::tmp< Foam::GeometricField< Foam::tensor, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian (const GeometricField< scalar, fvsPatchField, surfaceMesh > &gamma, const GeometricField< tensor, fvPatchField, volMesh > &vf)
 
- Public Member Functions inherited from laplacianScheme< Type, GType >
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, laplacianScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 laplacianScheme (const fvMesh &mesh)
 Construct from mesh. More...
 
 laplacianScheme (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream. More...
 
 laplacianScheme (const fvMesh &mesh, const tmp< surfaceInterpolationScheme< GType >> &igs, const tmp< snGradScheme< Type >> &sngs)
 Construct from mesh, interpolation and snGradScheme schemes. More...
 
virtual ~laplacianScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return mesh reference. More...
 
virtual tmp< fvMatrix< Type > > fvmLaplacian (const GeometricField< GType, fvPatchField, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
 
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian (const GeometricField< GType, fvPatchField, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int use_count () const noexcept
 Return the current reference count. More...
 
bool unique () const noexcept
 Return true if the reference count is zero. More...
 
void operator++ () noexcept
 Increment the reference count. More...
 
void operator++ (int) noexcept
 Increment the reference count. More...
 
void operator-- () noexcept
 Decrement the reference count. More...
 
void operator-- (int) noexcept
 Decrement the reference count. More...
 

Static Public Member Functions

static tmp< fvMatrix< Type > > fvmLaplacianUncorrected (const surfaceScalarField &gammaMagSf, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &)
 
- Static Public Member Functions inherited from laplacianScheme< Type, GType >
static tmp< laplacianScheme< Type, GType > > New (const fvMesh &mesh, Istream &schemeData)
 Return a pointer to a new laplacianScheme created on freestore. More...
 

Additional Inherited Members

- Protected Attributes inherited from laplacianScheme< Type, GType >
const fvMeshmesh_
 
tmp< surfaceInterpolationScheme< GType > > tinterpGammaScheme_
 
tmp< snGradScheme< Type > > tsnGradScheme_
 

Detailed Description

template<class Type, class GType>
class Foam::fv::relaxedNonOrthoGaussLaplacianScheme< Type, GType >

Basic second-order laplacian using face-gradients and Gauss' theorem.

Usage
Minimal example by using system/fvSchemes:
laplacianSchemes
{
    laplacian(<term>)    relaxedNonOrthoGauss <other options>;
}

and by using system/fvSolution:

relaxationFactors
{
    equations
    {
        <term>           <relaxation factor>;
    }
}
Source files

Definition at line 72 of file relaxedNonOrthoGaussLaplacianScheme.H.

Constructor & Destructor Documentation

◆ relaxedNonOrthoGaussLaplacianScheme() [1/3]

relaxedNonOrthoGaussLaplacianScheme ( const fvMesh mesh)
inline

Construct null.

Definition at line 111 of file relaxedNonOrthoGaussLaplacianScheme.H.

◆ relaxedNonOrthoGaussLaplacianScheme() [2/3]

relaxedNonOrthoGaussLaplacianScheme ( const fvMesh mesh,
Istream is 
)
inline

Construct from Istream.

Definition at line 119 of file relaxedNonOrthoGaussLaplacianScheme.H.

◆ relaxedNonOrthoGaussLaplacianScheme() [3/3]

relaxedNonOrthoGaussLaplacianScheme ( const fvMesh mesh,
const tmp< surfaceInterpolationScheme< GType >> &  igs,
const tmp< snGradScheme< Type >> &  sngs 
)
inline

Construct from mesh, interpolation and snGradScheme schemes.

Definition at line 128 of file relaxedNonOrthoGaussLaplacianScheme.H.

◆ ~relaxedNonOrthoGaussLaplacianScheme()

virtual ~relaxedNonOrthoGaussLaplacianScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "relaxedNonOrthoGauss"  )

Runtime type information.

◆ fvmLaplacianUncorrected()

◆ fvcLaplacian() [1/12]

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

Implements laplacianScheme< Type, GType >.

Definition at line 132 of file relaxedNonOrthoGaussLaplacianScheme.C.

References Foam::fvc::div(), mesh, IOobject::name(), tmp< T >::ref(), and Foam::fvc::snGrad().

Here is the call graph for this function:

◆ fvmLaplacian() [1/10]

◆ fvcLaplacian() [2/12]

tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian ( const GeometricField< GType, fvsPatchField, surfaceMesh > &  gamma,
const GeometricField< Type, fvPatchField, volMesh > &  vf 
)
virtual

Implements laplacianScheme< Type, GType >.

Definition at line 228 of file relaxedNonOrthoGaussLaplacianScheme.C.

References Foam::fvc::div(), gamma, mesh, IOobject::name(), tmp< T >::ref(), Foam::Sn(), and Foam::fvc::snGrad().

Here is the call graph for this function:

◆ fvmLaplacian() [2/10]

tmp< fvMatrix< scalar > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< scalar, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [3/12]

tmp< GeometricField< scalar, fvPatchField, volMesh > > fvcLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< scalar, fvPatchField, volMesh > &   
)

◆ fvmLaplacian() [3/10]

tmp< fvMatrix< vector > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< vector, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [4/12]

tmp< GeometricField< vector, fvPatchField, volMesh > > fvcLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< vector, fvPatchField, volMesh > &   
)

◆ fvmLaplacian() [4/10]

tmp< fvMatrix< sphericalTensor > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< sphericalTensor, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [5/12]

◆ fvmLaplacian() [5/10]

tmp< fvMatrix< symmTensor > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< symmTensor, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [6/12]

◆ fvmLaplacian() [6/10]

tmp< fvMatrix< tensor > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< tensor, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [7/12]

tmp< GeometricField< tensor, fvPatchField, volMesh > > fvcLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  ,
const GeometricField< tensor, fvPatchField, volMesh > &   
)

◆ fvcLaplacian() [8/12]

Foam::tmp< Foam::GeometricField< Foam::scalar, Foam::fvPatchField, Foam::volMesh > > fvcLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  gamma,
const GeometricField< scalar, fvPatchField, volMesh > &  vf 
)

Definition at line 126 of file relaxedNonOrthoGaussLaplacianSchemes.C.

◆ fvmLaplacian() [7/10]

Foam::tmp< Foam::fvMatrix< Foam::vector > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  gamma,
const GeometricField< vector, fvPatchField, volMesh > &  vf 
)

Definition at line 127 of file relaxedNonOrthoGaussLaplacianSchemes.C.

◆ fvcLaplacian() [9/12]

◆ fvmLaplacian() [8/10]

◆ fvcLaplacian() [10/12]

◆ fvmLaplacian() [9/10]

Foam::tmp< Foam::fvMatrix< Foam::symmTensor > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  gamma,
const GeometricField< symmTensor, fvPatchField, volMesh > &  vf 
)

Definition at line 129 of file relaxedNonOrthoGaussLaplacianSchemes.C.

◆ fvcLaplacian() [11/12]

◆ fvmLaplacian() [10/10]

Foam::tmp< Foam::fvMatrix< Foam::tensor > > fvmLaplacian ( const GeometricField< scalar, fvsPatchField, surfaceMesh > &  gamma,
const GeometricField< tensor, fvPatchField, volMesh > &  vf 
)

Definition at line 130 of file relaxedNonOrthoGaussLaplacianSchemes.C.

◆ fvcLaplacian() [12/12]


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