51 mixedFvPatchScalarField(
p, iF,
dict, false),
52 restitutionCoefficient_
54 "restitutionCoefficient",
56 dict.lookup(
"restitutionCoefficient")
58 specularityCoefficient_
60 "specularityCoefficient",
62 dict.lookup(
"specularityCoefficient")
67 (restitutionCoefficient_.
value() < 0)
68 || (restitutionCoefficient_.
value() > 1)
72 <<
"The restitution coefficient has to be between 0 and 1"
78 (specularityCoefficient_.
value() < 0)
79 || (specularityCoefficient_.
value() > 1)
83 <<
"The specularity coefficient has to be between 0 and 1"
103 mixedFvPatchScalarField(ptf,
p, iF, mapper),
104 restitutionCoefficient_(ptf.restitutionCoefficient_),
105 specularityCoefficient_(ptf.specularityCoefficient_)
117 mixedFvPatchScalarField(ptf, iF),
118 restitutionCoefficient_(ptf.restitutionCoefficient_),
119 specularityCoefficient_(ptf.specularityCoefficient_)
144 patch().lookupPatchField<volScalarField, scalar>
146 phase.volScalarField::name()
152 patch().lookupPatchField<volVectorField, vector>
160 patch().lookupPatchField<volScalarField, scalar>
164 Foam::typedName<RASModels::kineticTheoryModel>(
"gs0"),
172 patch().lookupPatchField<volScalarField, scalar>
176 Foam::typedName<RASModels::kineticTheoryModel>(
"kappa"),
185 if (restitutionCoefficient_.value() != 1.0)
189 *specularityCoefficient_.value()
191 /(scalar(1) -
sqr(restitutionCoefficient_.value()));
193 this->refGrad() = 0.0;
200 *(scalar(1) -
sqr(restitutionCoefficient_.value()))
202 /
max(4*
kappa*phase.alphaMax(), small)
205 this->valueFraction() =
c/(
c + patch().deltaCoeffs());
212 this->refValue() = 0.0;
217 *specularityCoefficient_.value()
222 /
max(6*
kappa*phase.alphaMax(), small);
224 this->valueFraction() = 0;
227 mixedFvPatchScalarField::updateCoeffs();
237 writeEntry(os,
"restitutionCoefficient", restitutionCoefficient_);
238 writeEntry(os,
"specularityCoefficient", specularityCoefficient_);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static word groupName(Name name, const word &group)
Robin condition for the particulate granular temperature.
virtual void write(Ostream &) const
Write.
virtual void updateCoeffs()
Update the coefficients.
JohnsonJacksonParticleThetaFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by any number of values (e....
const Type & value() const
Return const reference to value.
Foam::fvPatchFieldMapper.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Class to represent a system of phases and model interfacial transfers between them.
static const word propertiesName
Default name of the phase properties dictionary.
const phaseModelList & phases() const
Return the phase models.
#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))
const char *const group
Group name for atomic constants.
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
const dimensionedScalar c
Speed of light in a vacuum.
dimensionedScalar pos0(const dimensionedScalar &ds)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
errorManip< error > abort(error &err)
const dimensionSet dimless
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
dimensionedScalar sqrt(const dimensionedScalar &ds)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
dimensioned< scalar > magSqr(const dimensioned< Type > &)