65 const label facei = cFaces[i];
66 const scalar phiSigni =
sign(phi[facei]);
70 (own[facei] == celli && phiSigni == 1)
71 || (own[facei] != celli && phiSigni == -1)
74 alphaf[facei] = cellAlphaf[i];
75 correctedFaces[facei] =
true;
86 const bool unweighted,
147 if (
alpha[celli] < (1 - tol) &&
alpha[celli] > tol)
182 forAll(correctedFaces, facei)
184 if (correctedFaces[facei])
186 initAlphaf[facei] = alphaf[facei];
193 <<
"The " <<
type() <<
" scheme is not compatible with "
230 return tsplicedAlpha;
250 mesh().time().
name(),
258 return surfaceAlpha(vf, phi_, splicedTvff,
true, 1
e-6);
#define forAll(list, i)
Loop across all elements in list.
static volPointInterpolation & New(const word &name, const fvMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
const Mesh & mesh() const
Return mesh.
Generic GeometricField class.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static word group(const word &name)
Return group (extension part of name)
static word groupName(Name name, const word &group)
Multicut Piecewise-Linear Interface Calculation (MPLIC) corrected scheme is a surface interpolation s...
virtual tmp< surfaceScalarField > interpolate(const VolField< scalar > &vf) const
Return the face-interpolate of the given cell field.
tmp< surfaceScalarField > surfaceAlpha(const volScalarField &alpha, const surfaceScalarField &phi, scalarField &splicedTvff, const bool unweighted, const scalar tol, const bool isMPLIC=true) const
Return alpha interpolation.
void setCellAlphaf(const label celli, const scalarField &phi, scalarField &alphaf, boolList &correctedFaces, const DynamicList< scalar > &cellAlphaf, const fvMesh &mesh) const
Set alphaPhi for the faces of the given cell.
Provides local cell addressing for geometry and data for MPLIC class.
Class performs geometric matching of volume fraction and calculates surface interpolation of volume f...
bool matchAlpha(const MPLICcellStorage &cellInfo)
Match cell volume ratios.
const DynamicList< scalar > & alphaf() const
Return face volume fraction.
Specialisation of GeometricField which holds slices of given complete fields in a form that they act ...
tmp< Field< Type > > splice() const
Splice the sliced field and return the complete field.
Holds information regarding type of cell. Used in inside/outside determination in cellClassification.
const word & name() const
Return const reference to name.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
bool conformal() const
Return whether the fvMesh is conformal with the polyMesh.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
virtual const labelList & faceOwner() const
Return face owner.
Cell-face mesh analysis engine.
const cellList & cells() const
Abstract base class for surface interpolation schemes.
const fvMesh & mesh() const
Return mesh reference.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
tmp< PointField< Type > > interpolate(const VolField< Type > &) const
Interpolate volField using inverse distance weighting.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
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 sign(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
surfaceInterpolationScheme< scalar >::addMeshFluxConstructorToTable< MPLIC > addMPLICScalarMeshFluxConstructorToTable_
defineTypeNameAndDebug(combustionModel, 0)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.