From c7ca458e18aa1d9aee5a700b9309b2c094479c54 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Tue, 6 May 2008 11:59:46 +0100 Subject: [PATCH] Added Yi Wang's RMS correction factor and parameter alpha. --- .../turbulentInlet/turbulentInletFvPatchField.C | 16 +++++++++++++--- .../turbulentInlet/turbulentInletFvPatchField.H | 13 ++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C index e3aa394f352..f56c7f21848 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C @@ -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 diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H index 9e2fbfdf1f1..00e05fd58b5 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H @@ -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_; -- GitLab