30 #include "diameterModel.H" 34 #include "surfaceInterpolate.H" 41 const word& phaseName,
50 IOobject::groupName(
"alpha", phaseName),
59 phaseDict_(phaseDict),
100 IOobject::groupName(
"DDtU", phaseName),
111 IOobject::groupName(
"alphaPhi", phaseName),
126 mesh.time().timeName(),
133 Info<<
"Reading face flux field " << phiName <<
endl;
142 mesh.time().timeName(),
153 Info<<
"Calculating face flux field " << phiName <<
endl;
170 phiTypes[i] = fixedValueFvPatchScalarField::typeName;
181 mesh.time().timeName(),
224 phaseDict_ = phaseDict;
229 phaseDict_.readEntry(
"kappa", kappa_.value());
230 phaseDict_.readEntry(
"Cp", Cp_.value());
231 phaseDict_.readEntry(
"rho", rho_.value());
246 forAll(alphaPhiBf, patchi)
250 if (!alphaPhip.coupled())
252 alphaPhip = phiBf[patchi]*alphaBf[patchi];
fvsPatchField< scalar > fvsPatchScalarField
void correctInflowOutflow(surfaceScalarField &alphaPhi) const
Ensure that the flux at inflow/outflow BCs is preserved.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
autoPtr< phaseModel > clone() const
Return clone.
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
const dimensionSet dimViscosity
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimSpecificHeatCapacity(dimGasConstant)
static const word & calculatedType() noexcept
The type name for calculated patch fields.
GeometricBoundaryField< scalar, fvsPatchField, surfaceMesh > Boundary
Type of boundary fields.
#define forAll(list, i)
Loop across all elements in list.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
Find entry and assign to T val. FatalIOError if it is found and the number of tokens is incorrect...
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
A class for handling words, derived from Foam::string.
Calculate the face-flux of the given field.
label size() const noexcept
The number of entries in the list.
void setOriented(bool on=true) noexcept
Set the oriented flag: on/off.
void correct()
Correct the phase properties.
const Mesh & mesh() const noexcept
Return mesh.
static autoPtr< diameterModel > New(const dictionary &dict, const phaseModel &phase)
const dimensionSet dimDensity
phaseModel(const word &phaseName, const dictionary &phaseDict, const fvMesh &mesh)
Mesh data needed to do the Finite Volume discretisation.
Automatically write from objectRegistry::writeObject()
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
surfaceScalarField alphaPhi(phi.name()+alpha1.name(), fvc::flux(phi, alpha1, alphaScheme))
virtual bool read()
Read phase properties dictionary.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Defines the attributes of an object for which implicit objectRegistry management is supported...
tmp< volScalarField > d() const
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
virtual ~phaseModel()
Destructor.
static constexpr const zero Zero
Global zero (0)
const dimensionSet dimVelocity