Loading...
Searching...
No Matches
linearUpwindNormal< Type > Class Template Reference

linearUpwindNormal interpolation scheme class derived from upwind and returns upwind weighting factors and also applies a gradient-based explicit correction. The magnitude of the correcting gradient is equal to 1 More...

#include <linearUpwindNormal.H>

Inheritance diagram for linearUpwindNormal< Type >:
Collaboration diagram for linearUpwindNormal< Type >:

Public Member Functions

 TypeName ("linearUpwindNormal")
 Runtime type information.
 linearUpwindNormal (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from faceFlux.
 linearUpwindNormal (const fvMesh &mesh, Istream &schemeData)
 Construct from Istream.
 linearUpwindNormal (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Construct from faceFlux and Istream.
virtual bool corrected () const
 Return true if this scheme uses an explicit correction.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the explicit correction to the face-interpolate.
Public Member Functions inherited from upwind< Type >
 TypeName ("upwind")
 Runtime type information.
 upwind (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from faceFlux.
 upwind (const fvMesh &mesh, Istream &is)
 Construct from Istream.
 upwind (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &)
 Construct from faceFlux and Istream.
virtual tmp< surfaceScalarFieldlimiter (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation limiter.
tmp< surfaceScalarFieldweights () const
 Return the interpolation weighting factors.
virtual tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation weighting factors.
Public Member Functions inherited from limitedSurfaceInterpolationScheme< Type >
 TypeName ("limitedSurfaceInterpolationScheme")
 Runtime type information.
 declareRunTimeSelectionTable (tmp, limitedSurfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 declareRunTimeSelectionTable (tmp, limitedSurfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 limitedSurfaceInterpolationScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from mesh and faceFlux.
 limitedSurfaceInterpolationScheme (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream.
virtual ~limitedSurfaceInterpolationScheme ()
 Destructor.
tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &, const surfaceScalarField &CDweights, tmp< surfaceScalarField > tLimiter) const
 Return the interpolation weighting factors for the given field,.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation weighting factors.
Public Member Functions inherited from surfaceInterpolationScheme< Type >
 TypeName ("surfaceInterpolationScheme")
 Runtime type information.
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 surfaceInterpolationScheme (const fvMesh &mesh)
 Construct from mesh.
virtual ~surfaceInterpolationScheme ()=default
 Destructor.
const fvMeshmesh () const
 Return mesh reference.
virtual tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf) const
 Return the face-interpolate of the given cell field.
tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 Return the face-interpolate of the given tmp cell field.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the face-interpolate of the given cell field.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 Return the face-interpolate of the given tmp cell field.
template<class SFType>
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< typename SFType::value_type, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas)
tmp< GeometricField< typename innerProduct< vector, scalar >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Foam::scalar >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

Additional Inherited Members

Static Public Member Functions inherited from limitedSurfaceInterpolationScheme< Type >
static tmp< limitedSurfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< limitedSurfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme.
Static Public Member Functions inherited from surfaceInterpolationScheme< Type >
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &)
 Return the face-interpolate of the given cell field.
template<class SFType>
static tmp< GeometricField< typename innerProduct< typename SFType::value_type, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas)
 Return the face-interpolate of the given cell field.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &)
 Return the face-interpolate of the given cell field.
Protected Attributes inherited from limitedSurfaceInterpolationScheme< Type >
const surfaceScalarFieldfaceFlux_

Detailed Description

template<class Type>
class Foam::linearUpwindNormal< Type >

linearUpwindNormal interpolation scheme class derived from upwind and returns upwind weighting factors and also applies a gradient-based explicit correction. The magnitude of the correcting gradient is equal to 1

Source files

Definition at line 53 of file linearUpwindNormal.H.

Constructor & Destructor Documentation

◆ linearUpwindNormal() [1/3]

template<class Type>
linearUpwindNormal ( const fvMesh & mesh,
const surfaceScalarField & faceFlux )
inline

Construct from faceFlux.

Definition at line 89 of file linearUpwindNormal.H.

References surfaceInterpolationScheme< Type >::mesh(), and upwind< Type >::upwind().

Here is the call graph for this function:

◆ linearUpwindNormal() [2/3]

template<class Type>
linearUpwindNormal ( const fvMesh & mesh,
Istream & schemeData )
inline

Construct from Istream.

The name of the flux field is read from the Istream and looked-up from the mesh objectRegistry

Definition at line 109 of file linearUpwindNormal.H.

References surfaceInterpolationScheme< Type >::mesh(), limitedSurfaceInterpolationScheme< Type >::New(), and upwind< Type >::upwind().

Here is the call graph for this function:

◆ linearUpwindNormal() [3/3]

template<class Type>
linearUpwindNormal ( const fvMesh & mesh,
const surfaceScalarField & faceFlux,
Istream & schemeData )
inline

Construct from faceFlux and Istream.

Definition at line 130 of file linearUpwindNormal.H.

References surfaceInterpolationScheme< Type >::mesh(), limitedSurfaceInterpolationScheme< Type >::New(), and upwind< Type >::upwind().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "linearUpwindNormal< Type >" )

Runtime type information.

◆ corrected()

template<class Type>
virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 155 of file linearUpwindNormal.H.

◆ correction()


The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/finiteVolume/interpolation/surfaceInterpolation/schemes/limitedSchemes/linearUpwindNormal/linearUpwindNormal.H
  • src/optimisation/adjointOptimisation/adjoint/finiteVolume/interpolation/surfaceInterpolation/schemes/limitedSchemes/linearUpwindNormal/linearUpwindNormal.C