42 const DimensionedField<scalar, volMesh>& iF
45 mixedFvPatchScalarField(p, iF),
46 accommodationCoeff_(1.0),
47 Twall_(p.size(), 0.0),
52 valueFraction() = 0.0;
57 const smoluchowskiJumpTFvPatchScalarField& ptf,
59 const DimensionedField<scalar, volMesh>& iF,
60 const fvPatchFieldMapper& mapper
63 mixedFvPatchScalarField(ptf, p, iF, mapper),
64 accommodationCoeff_(ptf.accommodationCoeff_),
73 const DimensionedField<scalar, volMesh>& iF,
74 const dictionary& dict
77 mixedFvPatchScalarField(p, iF),
78 accommodationCoeff_(
readScalar(dict.lookup(
"accommodationCoeff"))),
79 Twall_(
"Twall", dict, p.size()),
80 gamma_(dict.lookupOrDefault<scalar>(
"gamma", 1.4))
84 mag(accommodationCoeff_) < SMALL
85 ||
mag(accommodationCoeff_) > 2.0
90 "smoluchowskiJumpTFvPatchScalarField::"
91 "smoluchowskiJumpTFvPatchScalarField"
94 " const DimensionedField<scalar, volMesh>&,"
98 ) <<
"unphysical accommodationCoeff specified"
99 <<
"(0 < accommodationCoeff <= 1)" <<
endl
103 if (dict.found(
"value"))
117 valueFraction() = 0.0;
123 const smoluchowskiJumpTFvPatchScalarField& ptpsf,
124 const DimensionedField<scalar, volMesh>& iF
127 mixedFvPatchScalarField(ptpsf, iF),
128 accommodationCoeff_(ptpsf.accommodationCoeff_),
129 Twall_(ptpsf.Twall_),
139 const fvPatchFieldMapper& m
149 const fvPatchField<scalar>& ptf,
169 const fvPatchField<scalar>& ppsi =
175 const dictionary& thermophysicalProperties =
176 db().lookupObject<IOdictionary>(
"thermophysicalProperties");
178 if (thermophysicalProperties.found(
"Pr"))
180 Pr = thermophysicalProperties.lookup(
"Pr");
183 Field<scalar>
C2 = pmu/prho
185 *2.0*gamma_/Pr.value()/(gamma_ + 1.0)
186 *(2.0 - accommodationCoeff_)/accommodationCoeff_;
188 Field<scalar> aCoeff = prho.snGrad() - prho/
C2;
189 Field<scalar> KEbyRho = 0.5*
magSqr(pU);
191 valueFraction() = (1.0/(1.0 + patch().deltaCoeffs()*
C2));
203 os.writeKeyword(
"accommodationCoeff")
206 os.writeKeyword(
"gamma")
208 writeEntry(
"value", os);