40 namespace diameterModels
56 >::names[] = {
"hardSphere",
"ParkRogak",
"conserved"};
68 Foam::diameterModels::shapeModels::fractal::dColl()
const
106 alphaC_(
"alphaC",
dimless, groupDict),
131 if (groupDict.
found(
"kappa"))
134 <<
"A 'kappa' entry should not be specified for size-group #"
135 <<
group.
i() <<
" of population balance "
137 <<
". Instead, the value should be initialised within the field, "
138 << this->
name() <<
" (or the default field, "
140 <<
", as appropriate)."
177 group().group().popBalName()
191 - sinteringModel_->R()
199 /
group().mesh().time().deltaT(),
218 kappa_.correctBoundaryConditions();
228 return kappa_*
group().x();
248 SecondaryPropertyModelTable()[SecondaryPropertyName(fu)]->fld();
262 refCast<const fractal>
276 + sourceShape.Df_*(1/sourceShape.
d() - 1/dp)
280 dp += 6*(dv*a - fu.
x()*da1)/
sqr(a);
287 dv*(4/dp + 2*Df_/3*(1/dc - 1/dp))
290 Su_ += (a + 0.5*da1 + 0.5*da2)/
group().x()*
Su;
305 <<
"Unknown surface growth type. Valid types are:"
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
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...
const word & name() const
Return name.
static word groupName(Name name, const word &group)
Initialise the NamedEnum HashTable from the static list of names.
Base class for modeling evolution of secondary representative properties of a size class....
const sizeGroup & group() const
Access the sizeGroup.
virtual void addDrift(const volScalarField &Su, const sizeGroup &fu, const driftModel &model)
Add drift contribution to secondary property source.
Base class for drift models.
const dictionary & dict() const
Return reference to model dictionary.
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
const UPtrList< sizeGroup > & sizeGroups() const
Return the size groups belonging to this populationBalance.
const volScalarField & Sp(const label i) const
Return implicit source terms.
Base class for modelling the shape of the particles belonging to a size class through alternative dia...
Class for modelling the shape of particle aggregates using the concept of fractal geometry....
virtual void correct()
Correct the collisional diameter.
fractal(const dictionary &dict, const sizeGroup &group, const dictionary &groupDict)
Construct from dictionaries and sizeGroup.
surfaceGrowthTypes
Surface growth type enumeration.
virtual const tmp< volScalarField > a() const
Return representative surface area of the sizeGroup.
virtual const tmp< volScalarField > d() const
Return representative diameter of the sizeGroup.
virtual void addDrift(const volScalarField &Su, const sizeGroup &fu, const driftModel &model)
Add drift contribution to secondary property source.
virtual const volScalarField & fld() const
Return reference to secondary property field.
static const NamedEnum< surfaceGrowthTypes, 3 > sgTypeNames_
Surface growth type names.
virtual ~fractal()
Destructor.
virtual volScalarField & src()
Access to secondary property source.
Abstract base class for modelling sintering of primary particles in fractal aggregates.
Single size class fraction field representing a fixed particle volume as defined by the user through ...
const dimensionedScalar & dSph() const
Return representative spherical diameter of the sizeGroup.
const dimensionedScalar & x() const
Return representative volume of the sizeGroup.
const velocityGroup & group() const
Return const-reference to the velocityGroup.
const phaseModel & phase() const
Return const-reference to the phase.
autoPtr< shapeModel > & shapeModelPtr()
Return reference to diameterModel of the phase.
label i() const
Return index of the size group within the population balance.
const word & popBalName() const
Return name of populationBalance this velocityGroup belongs to.
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
const dimensionedScalar & residualAlpha() const
Return the residual phase-fraction for given phase.
const word & name() const
Return the name of this phase.
virtual tmp< surfaceScalarField > alphaPhi() const =0
Return the volumetric flux of the phase.
A class for managing temporary objects.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Calculate the matrix for the first temporal derivative.
Calculate the matrix for the divergence of the given field and flux.
Calculate the matrix for implicit and explicit sources.
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.
addToRunTimeSelectionTable(shapeModel, fractal, dictionary)
defineTypeNameAndDebug(fractal, 0)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const HashTable< dimensionSet > & dimensions()
Get the table of dimension sets.
dimensionedScalar pow3(const dimensionedScalar &ds)
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
const dimensionSet dimLength
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
const dimensionSet dimTime
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.