34 namespace diameterModels
38 namespace sinteringModels
53 const dictionary&
dict,
54 const fractal& fractalShape
57 sinteringModel(dict, fractalShape),
58 dict_(dict.subDict(
type() +
"Coeffs")),
59 Cs_(dict_.
lookup<scalar>(
"Cs")),
60 n_(dict_.
lookup<scalar>(
"n")),
61 m_(dict_.
lookup<scalar>(
"m")),
62 Ta_(dict_.
lookup<scalar>(
"Ta")),
63 dpMin_(dict_.lookupOrDefault<scalar>(
"dpMin", 0))
79 tmp<volScalarField::Internal> tTau
84 fractal_.SizeGroup().mesh(),
91 const sizeGroup& fi = fractal_.SizeGroup();
97 const scalar dp = 6/
max(6/fi.dSph().value(), kappai[celli]);
100 Cs_*
pow(dp, n_)*
pow(T[celli], m_)*
exp(Ta_/T[celli]*(1 - dpMin_/dp));
110 const sizeGroup& fi = fractal_.SizeGroup();
119 fi.time().timeName(),
130 R[celli] = fi[celli]*alpha[celli]/tau[celli];
133 return fvm::Sp(
R, kappai) - 6/fi.dSph()*
R;
#define forAll(list, i)
Loop across all elements in list.
static tmp< DimensionedField< Type, GeoMesh > > New(const word &name, const Mesh &mesh, const dimensionSet &)
Return a temporary field constructed from name, mesh.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
IOobject(const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
Construct from name, instance, registry, io options.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
DimensionedField< scalar, volMesh > Internal
Type of the internal field from which this GeometricField is derived.
Macros for easy insertion into run-time selection tables.
virtual tmp< volScalarField::Internal > tau() const
Characteristic time for sintering.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimTime
stressControl lookup("compactNormalStress") >> compactNormalStress
dimensionedScalar exp(const dimensionedScalar &ds)
KochFriedlander(const dictionary &dict, const fractal &fractalShape)
Construct from a dictionary.
tmp< GeometricField< Type, PatchField, GeoMesh > > T() const
Return transpose (only if it is a tensor field)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
#define R(A, B, C, D, E, F, K, M)
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.
virtual ~KochFriedlander()
Destructor.
virtual tmp< fvScalarMatrix > R() const
Sintering source term.
A class for managing temporary objects.
Calculate the matrix for implicit and explicit sources.