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 << MeshFluxConstructorTablePtr_->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.
Generic GeometricBoundaryField class.
Generic GeometricField class.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
bool eof() const
Return true if end of input seen.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A face is a list of labels corresponding to mesh vertices.
Mesh data needed to do the Finite Volume discretisation.
static tmp< limitedSurfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
tmp< surfaceScalarField > weights(const VolField< Type > &, const surfaceScalarField &CDweights, tmp< surfaceScalarField > tLimiter) const
Return the interpolation weighting factors for the given field,.
virtual ~limitedSurfaceInterpolationScheme()
Destructor.
virtual tmp< SurfaceField< Type > > flux(const VolField< Type > &) const
Return the interpolation weighting factors.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
A class for handling words, derived from string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define InfoInFunction
Report an information message using Foam::Info.
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)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedScalar pos0(const dimensionedScalar &ds)
Ostream & endl(Ostream &os)
Add newline and flush stream.