Go to the documentation of this file.
39 tmp<limitedSurfaceInterpolationScheme<Type> >
46 if (surfaceInterpolation::debug)
48 Info<<
"limitedSurfaceInterpolationScheme<Type>::"
49 "New(const fvMesh&, Istream&)"
50 " : constructing limitedSurfaceInterpolationScheme<Type>"
59 ) <<
"Discretisation scheme not specified"
61 <<
"Valid schemes are :" <<
endl
62 << MeshConstructorTablePtr_->sortedToc()
66 const word schemeName(schemeData);
68 typename MeshConstructorTable::iterator constructorIter =
69 MeshConstructorTablePtr_->find(schemeName);
71 if (constructorIter == MeshConstructorTablePtr_->end())
76 ) <<
"Unknown discretisation scheme "
77 << schemeName <<
nl <<
nl
78 <<
"Valid schemes are :" <<
endl
79 << MeshConstructorTablePtr_->sortedToc()
83 return constructorIter()(
mesh, schemeData);
97 if (surfaceInterpolation::debug)
99 Info<<
"limitedSurfaceInterpolationScheme<Type>::New"
100 "(const fvMesh&, const surfaceScalarField&, Istream&) : "
101 "constructing limitedSurfaceInterpolationScheme<Type>"
105 if (schemeData.
eof())
110 ) <<
"Discretisation scheme not specified"
112 <<
"Valid schemes are :" <<
endl
113 << MeshConstructorTablePtr_->sortedToc()
117 const word schemeName(schemeData);
119 typename MeshFluxConstructorTable::iterator constructorIter =
120 MeshFluxConstructorTablePtr_->find(schemeName);
122 if (constructorIter == MeshFluxConstructorTablePtr_->end())
127 ) <<
"Unknown discretisation scheme "
128 << schemeName <<
nl <<
nl
129 <<
"Valid schemes are :" <<
endl
130 << MeshFluxConstructorTablePtr_->sortedToc()
134 return constructorIter()(
mesh, faceFlux, schemeData);
176 const scalarField& pFaceFlux = faceFlux_.boundaryField()[patchI];
A class for handling words, derived from string.
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
bool eof() const
Return true if end of input seen.
virtual ~limitedSurfaceInterpolationScheme()
Destructor.
void limiter(scalarField &allLambda, const RdeltaTType &rDeltaT, const RhoType &rho, const volScalarField &psi, const surfaceScalarField &phiBD, const surfaceScalarField &phiCorr, const SpType &Sp, const SuType &Su, const scalar psiMax, const scalar psiMin)
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
Ostream & endl(Ostream &os)
Add newline and flush stream.
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
Pre-declare SubField and related Field type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
InternalField & internalField()
Return internal field.
Mesh data needed to do the Finite Volume discretisation.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const surfaceScalarField & weights() const
Return reference to linear difference weighting factors.
static tmp< limitedSurfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors.
A face is a list of labels corresponding to mesh vertices.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Generic GeometricField class.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &, const surfaceScalarField &CDweights, tmp< surfaceScalarField > tLimiter) const
Return the interpolation weighting factors for the given field,.
dimensionedScalar pos(const dimensionedScalar &ds)