38 namespace diameterModels
54 >::names[] = {
"hardSphere",
"ParkRogak",
"conserved"};
92 group.VelocityGroup().
f().boundaryField().types()
128 mixedFvPatchScalarField&
kappa =
129 refCast<mixedFvPatchScalarField>
166 Foam::diameterModels::shapeModels::fractal::dColl()
const
182 *
pow(sizeGroup_.x()*
pow3(kappa_)/(36*
pi*alphaC_), 1/Df_);
197 sizeGroup_.VelocityGroup().popBalName()
211 - sinteringModel_->R()
219 /sizeGroup_.mesh().time().deltaT(),
234 max(kappa_, 6/sizeGroup_.dSph()),
238 kappa_.correctBoundaryConditions();
248 return kappa_*sizeGroup_.x();
268 SecondaryPropertyModelTable()[SecondaryPropertyName(fu)]->fld();
274 Su_ += sourceKappa*fu.
dSph()/sizeGroup_.dSph()*
Su;
282 refCast<const fractal>
296 + sourceShape.Df_*(1/sourceShape.
d() - 1/dp)
300 dp += 6*(dv*a - fu.
x()*da1)/
sqr(a);
307 dv*(4/dp + 2*Df_/3*(1/dc - 1/dp))
310 Su_ += (a + 0.5*da1 + 0.5*da2)/sizeGroup_.x()*
Su;
325 <<
"Unknown surface growth type. Valid types are:"
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
Internal & ref()
Return a reference to the dimensioned internal field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
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 & sizeGroup_
Reference to 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 fvMesh & mesh() const
Return reference to the mesh.
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.
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.
fractal(const dictionary &dict, const sizeGroup &group)
Construct from dictionary and sizeGroup.
static autoPtr< sinteringModel > New(const dictionary &dict, const fractal &fractalShape)
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 label & i() const
Return index of the size group within the population balance.
const dimensionedScalar & x() const
Return representative volume of the sizeGroup.
const phaseModel & phase() const
Return const-reference to the phase.
autoPtr< shapeModel > & shapeModelPtr()
Return reference to diameterModel of the phase.
const dictionary & dict() const
Return const-reference to the dictionary.
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.
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 Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
const dimensionedScalar & residualAlpha() const
Return the residual phase-fraction for given 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.
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
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 > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
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
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
word name(const complex &)
Return a string representation of a complex.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.