31 template<
class CloudType>
41 this->coeffDict().template lookup<scalar>(
"diffuseFraction")
48 template<
class CloudType>
55 template<
class CloudType>
61 const polyMesh& mesh = this->owner().mesh();
69 const label wppIndex =
p.patch(mesh);
75 const vector nw =
p.normal(mesh);
78 scalar U_dot_nw =
U & nw;
92 while (
mag(Ut) < small)
107 Ut =
U - U_dot_nw*nw;
116 scalar
T =
cloud.boundaryT().boundaryField()[wppIndex][wppLocalFace];
118 scalar mass =
cloud.constProps(typeId).mass();
120 direction iDof =
cloud.constProps(typeId).internalDegreesOfFreedom();
130 U +=
cloud.boundaryU().boundaryField()[wppIndex][wppLocalFace];
132 Ei =
cloud.equipartitionInternalEnergy(
T, iDof);
140 U -= 2.0*U_dot_nw*nw;
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
virtual ~MixedDiffuseSpecular()
Destructor.
virtual void correct(typename CloudType::parcelType &p)
Apply wall correction.
MixedDiffuseSpecular(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Templated wall interaction model class.
A cloud is a collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Standard normal distribution. Not selectable.
virtual scalar sample() const
Sample the distribution.
Mesh consisting of general polyhedral cells.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
A patch is a list of labels that address the faces in the global face list.
label whichFace(const label l) const
Return label of face in patch from global face label.
scalar scalar01()
Return a scalar uniformly distributed between zero and one.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedScalar log(const dimensionedScalar &ds)
Vector< scalar > vector
A scalar version of the templated Vector.
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
randomGenerator rndGen(653213)