Go to the documentation of this file.
53 #ifndef limitedSnGrad_H
54 #define limitedSnGrad_H
93 token nextToken(schemeData);
97 limitCoeff_ = nextToken.
number();
111 schemeData >> limitCoeff_;
113 return tcorrectedScheme;
139 correctedScheme_(lookupCorrectedScheme(schemeData))
141 if (limitCoeff_ < 0 || limitCoeff_ > 1)
144 <<
"limitCoeff is specified as " << limitCoeff_
145 <<
" but should be >= 0 && <= 1"
virtual const surfaceScalarField & nonOrthDeltaCoeffs() const
Return reference to non-orthogonal cell-centre difference.
A class for managing temporary objects.
A token holds an item read from Istream.
TypeName("limited")
Runtime type information.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the explicit correction to the limitedSnGrad.
bool isNumber() const noexcept
Token is LABEL, FLOAT or DOUBLE.
scalar number() const
Return label, float or double value.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
limitedSnGrad(const fvMesh &mesh, Istream &schemeData)
Construct from mesh and data stream.
Mesh data needed to do the Finite Volume discretisation.
virtual ~limitedSnGrad()
Destructor.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const fvMesh & mesh() const
Return mesh reference.
Run-time selected snGrad scheme with limited non-orthogonal correction.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
void putBack(const token &tok)
Put back token.
Simple central-difference snGrad scheme with non-orthogonal correction.
Abstract base class for snGrad schemes.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
limitedSnGrad(const fvMesh &mesh)
Construct from mesh.
virtual tmp< surfaceScalarField > deltaCoeffs(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors for the given field.