Added Yi Wang's RMS correction factor and parameter alpha.
This commit is contained in:
parent
c1aa2b60d6
commit
c7ca458e18
@ -44,6 +44,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
|
||||
ranGen_(label(0)),
|
||||
fluctuationScale_(pTraits<Type>::zero),
|
||||
referenceField_(p.size()),
|
||||
alpha_(0.1),
|
||||
curTimeIndex_(-1)
|
||||
{}
|
||||
|
||||
@ -61,6 +62,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
|
||||
ranGen_(label(0)),
|
||||
fluctuationScale_(ptf.fluctuationScale_),
|
||||
referenceField_(ptf.referenceField_, mapper),
|
||||
alpha_(ptf.alpha_),
|
||||
curTimeIndex_(-1)
|
||||
{}
|
||||
|
||||
@ -77,6 +79,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
|
||||
ranGen_(label(0)),
|
||||
fluctuationScale_(pTraits<Type>(dict.lookup("fluctuationScale"))),
|
||||
referenceField_("referenceField", dict, p.size()),
|
||||
alpha_(dict.lookupOrDefault<scalar>("alpha", 0.1)),
|
||||
curTimeIndex_(-1)
|
||||
{
|
||||
if (dict.found("value"))
|
||||
@ -103,6 +106,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
|
||||
ranGen_(ptf.ranGen_),
|
||||
fluctuationScale_(ptf.fluctuationScale_),
|
||||
referenceField_(ptf.referenceField_),
|
||||
alpha_(ptf.alpha_),
|
||||
curTimeIndex_(-1)
|
||||
{}
|
||||
|
||||
@ -118,6 +122,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
|
||||
ranGen_(ptf.ranGen_),
|
||||
fluctuationScale_(ptf.fluctuationScale_),
|
||||
referenceField_(ptf.referenceField_),
|
||||
alpha_(ptf.alpha_),
|
||||
curTimeIndex_(-1)
|
||||
{}
|
||||
|
||||
@ -170,9 +175,14 @@ void turbulentInletFvPatchField<Type>::updateCoeffs()
|
||||
ranGen_.randomise(randomField[facei]);
|
||||
}
|
||||
|
||||
patchField =
|
||||
0.9*patchField
|
||||
+ 0.1*
|
||||
// Correction-factor proposed by Yi Wang to compensate for the loss
|
||||
// of RMS fluctuation due to the temporal correlation introduced by
|
||||
// the alpha parameter.
|
||||
scalar rmsCorr = sqrt(12*(2*alpha_ - sqr(alpha_)))/alpha_;
|
||||
|
||||
patchField =
|
||||
(rmsCorr*(1 - alpha_))*patchField
|
||||
+ (rmsCorr*alpha_)*
|
||||
(
|
||||
referenceField_
|
||||
+ cmptMultiply
|
||||
|
@ -26,7 +26,17 @@ Class
|
||||
Foam::turbulentInletFvPatchField
|
||||
|
||||
Description
|
||||
Foam::turbulentInletFvPatchField
|
||||
Generate a fluctuating inlet condition by adding a random component
|
||||
to a reference (mean) field.
|
||||
Input:
|
||||
referenceField
|
||||
Mean field.
|
||||
fluctuationScale
|
||||
RMS fluctuation, provided as the fraction of the mean field.
|
||||
alpha
|
||||
temporal correlation factor;
|
||||
the fraction of the new random component added to the previous
|
||||
time-step (defaults to 0.1).
|
||||
|
||||
SourceFiles
|
||||
turbulentInletFvPatchField.C
|
||||
@ -59,6 +69,7 @@ class turbulentInletFvPatchField
|
||||
Random ranGen_;
|
||||
Type fluctuationScale_;
|
||||
Field<Type> referenceField_;
|
||||
scalar alpha_;
|
||||
label curTimeIndex_;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user