41 if (surfaceInterpolation::debug)
44 <<
"Constructing limitedSurfaceInterpolationScheme<Type>" <<
endl;
52 ) <<
"Discretisation scheme not specified" 54 <<
"Valid schemes are :" <<
endl 55 << MeshConstructorTablePtr_->sortedToc()
59 const word schemeName(schemeData);
61 typename MeshConstructorTable::iterator constructorIter =
62 MeshConstructorTablePtr_->find(schemeName);
64 if (constructorIter == MeshConstructorTablePtr_->end())
69 ) <<
"Unknown discretisation scheme " 70 << schemeName <<
nl <<
nl 71 <<
"Valid schemes are :" <<
endl 72 << MeshConstructorTablePtr_->sortedToc()
76 return constructorIter()(
mesh, schemeData);
89 if (surfaceInterpolation::debug)
92 <<
"Constructing limitedSurfaceInterpolationScheme<Type>" 101 ) <<
"Discretisation scheme not specified" 103 <<
"Valid schemes are :" <<
endl 104 << MeshConstructorTablePtr_->sortedToc()
108 const word schemeName(schemeData);
110 typename MeshFluxConstructorTable::iterator constructorIter =
111 MeshFluxConstructorTablePtr_->find(schemeName);
113 if (constructorIter == MeshFluxConstructorTablePtr_->end())
118 ) <<
"Unknown discretisation scheme " 119 << schemeName <<
nl <<
nl 120 <<
"Valid schemes are :" <<
endl 121 << MeshFluxConstructorTablePtr_->sortedToc()
125 return constructorIter()(
mesh, faceFlux, schemeData);
192 this->
mesh().surfaceInterpolation::weights(),
#define forAll(list, i)
Loop across all elements in list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A face is a list of labels corresponding to mesh vertices.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
T & ref() const
Return non-const reference or generate a fatal error.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Ostream & endl(Ostream &os)
Add newline and flush stream.
static tmp< limitedSurfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
A class for handling words, derived from string.
void limiter(surfaceScalarField &lambda, const RdeltaTType &rDeltaT, const RhoType &rho, const volScalarField &psi, const surfaceScalarField &phiBD, const surfaceScalarField &phiCorr, const SpType &Sp, const SuType &Su, const PsiMaxType &psiMax, const PsiMinType &psiMin)
bool eof() const
Return true if end of input seen.
dimensionedScalar pos0(const dimensionedScalar &ds)
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &, const surfaceScalarField &CDweights, tmp< surfaceScalarField > tLimiter) const
Return the interpolation weighting factors for the given field,.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.
#define InfoInFunction
Report an information message using Foam::Info.
virtual ~limitedSurfaceInterpolationScheme()
Destructor.