35template<
class CloudType>
48template<
class CloudType>
55template<
class CloudType>
65 label typeId =
p.typeId();
67 const label wppIndex =
p.patch();
69 const polyPatch& wpp =
p.mesh().boundaryMesh()[wppIndex];
76 scalar U_dot_nw =
U & nw;
85 while (
mag(Ut) < SMALL)
92 U.x()*(0.8 + 0.2*
rndGen.sample01<scalar>()),
93 U.y()*(0.8 + 0.2*
rndGen.sample01<scalar>()),
94 U.z()*(0.8 + 0.2*
rndGen.sample01<scalar>())
108 scalar
T =
cloud.boundaryT().boundaryField()[wppIndex][wppLocalFace];
110 scalar mass =
cloud.constProps(typeId).mass();
112 direction iDof =
cloud.constProps(typeId).internalDegreesOfFreedom();
117 rndGen.GaussNormal<scalar>()*tw1
118 +
rndGen.GaussNormal<scalar>()*tw2
122 U +=
cloud.boundaryU().boundaryField()[wppIndex][wppLocalFace];
124 Ei =
cloud.equipartitionInternalEnergy(
T, iDof);
MaxwellianThermal(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
virtual ~MaxwellianThermal()
Destructor.
virtual void correct(typename CloudType::parcelType &p)
Apply wall correction.
WallInteractionModel(CloudType &owner)
Construct null from owner.
const dictionary & dict() const
Return the dictionary.
const CloudType & owner() const
Return the owner cloud object.
A cloud is a registry collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A patch is a list of labels that address the faces in the global face list.
label whichFace(const label facei) const noexcept
Return label of face in patch from global face label.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const dimensionedScalar k
Boltzmann constant.
Different types of constants.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
DSMCCloud< dsmcParcel > CloudType
dimensionedScalar log(const dimensionedScalar &ds)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)