Go to the documentation of this file.
36 template<
class CloudType>
46 this->owner().
name() +
":alpha",
51 applyGravity_(this->coeffDict().
lookup(
"applyGravity")),
59 template<
class CloudType>
79 template<
class CloudType>
86 template<
class CloudType>
111 mesh.setFluxRequired(alpha_.name());
117 alpha_ =
max(this->owner().theta(), alphaMin_);
118 alpha_.correctBoundaryConditions();
126 this->owner().db().time().
timeName(),
136 rho.correctBoundaryConditions();
154 this->owner().db().time().
timeName(),
165 this->particleStressModel_->dTaudTheta
167 alpha_.internalField(),
230 uCorrect_->correctBoundaryConditions();
247 template<
class CloudType>
257 const label cellI =
p.cell();
258 const label faceI =
p.tetFace();
264 const vector U = uCorrect_()[cellI];
268 const scalar nMag =
mag(nHat);
273 const label patchI =
mesh.boundaryMesh().whichPatch(faceI);
276 phi = phiCorrect_()[faceI];
281 phiCorrect_().boundaryField()[patchI]
283 mesh.boundaryMesh()[patchI].whichFace(faceI)
288 const scalar t = tetCoordinates[0];
292 return U + (1.0 - t)*nHat*(
phi/nMag - (
U & nHat));
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
const dimensionSet dimPressure
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
tetPointRef tet(const polyMesh &mesh) const
Return the geometry corresponding to this tet from the.
tmp< surfaceScalarField > phiCorrect_
Correction flux.
A class for handling words, derived from string.
scalar alphaMin_
Minimum stable volume fraction.
A class for managing temporary objects.
const dimensionSet dimDensity
tmp< surfaceScalarField > interpolate(const RhoType &rho)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
virtual ~Implicit()
Destructor.
const dimensionedVector & g
virtual void cacheFields(const bool store)
Calculate the inter particles stresses.
dimensioned< scalar > mag(const dimensioned< Type > &)
virtual tmp< Field< Type > > internalField() const =0
Return an internal field of the average.
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
Calculate the matrix for the divergence of the given field and flux.
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const
Calculate the velocity correction.
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
volScalarField alpha_
Private data.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const fvMesh & mesh() const
Return refernce to the mesh.
Calculate the matrix for the laplacian of the field.
InternalField & internalField()
Return internal field.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Templated base class for dsmc cloud.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
scalar rhoMin_
Minimum stable density.
Implicit(const dictionary &dict, CloudType &owner)
Construct from components.
void correctBoundaryConditions()
Correct boundary field.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
Implicit model for applying an inter-particle stress to the particles.
const word cloudName(propsDict.lookup("cloudName"))
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Reconstruct volField from a face flux field.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
Switch applyGravity_
Flag to indicate whether gravity is applied.
scalar barycentric(const point &pt, List< scalar > &bary) const
Calculate the barycentric coordinates of the given.
Generic GeometricField class.
word name(const complex &)
Return a string representation of a complex.
tmp< volVectorField > uCorrect_
Correction cell-centred velocity.
Calulate the matrix for the first temporal derivative.
stressControl lookup("compactNormalStress") >> compactNormalStress