mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
inletOutlet BCs: update turbulence inletOutlet conditions
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -38,7 +38,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
mixedFvPatchScalarField(p, iF),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
UName_("U"),
|
||||
phiName_("phi"),
|
||||
psiName_("psi"),
|
||||
@ -60,7 +60,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
mixedFvPatchScalarField(ptf, p, iF, mapper),
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
UName_(ptf.UName_),
|
||||
phiName_(ptf.phiName_),
|
||||
psiName_(ptf.psiName_),
|
||||
@ -77,7 +77,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
mixedFvPatchScalarField(p, iF),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
UName_(dict.lookupOrDefault<word>("U", "U")),
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
|
||||
psiName_(dict.lookupOrDefault<word>("psi", "psi")),
|
||||
@ -108,7 +108,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||
const inletOutletTotalTemperatureFvPatchScalarField& tppsf
|
||||
)
|
||||
:
|
||||
mixedFvPatchScalarField(tppsf),
|
||||
inletOutletFvPatchScalarField(tppsf),
|
||||
UName_(tppsf.UName_),
|
||||
phiName_(tppsf.phiName_),
|
||||
psiName_(tppsf.psiName_),
|
||||
@ -124,7 +124,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
mixedFvPatchScalarField(tppsf, iF),
|
||||
inletOutletFvPatchScalarField(tppsf, iF),
|
||||
UName_(tppsf.UName_),
|
||||
phiName_(tppsf.phiName_),
|
||||
psiName_(tppsf.psiName_),
|
||||
@ -140,7 +140,7 @@ void Foam::inletOutletTotalTemperatureFvPatchScalarField::autoMap
|
||||
const fvPatchFieldMapper& m
|
||||
)
|
||||
{
|
||||
mixedFvPatchScalarField::autoMap(m);
|
||||
inletOutletFvPatchScalarField::autoMap(m);
|
||||
T0_.autoMap(m);
|
||||
}
|
||||
|
||||
@ -151,7 +151,7 @@ void Foam::inletOutletTotalTemperatureFvPatchScalarField::rmap
|
||||
const labelList& addr
|
||||
)
|
||||
{
|
||||
mixedFvPatchScalarField::rmap(ptf, addr);
|
||||
inletOutletFvPatchScalarField::rmap(ptf, addr);
|
||||
|
||||
const inletOutletTotalTemperatureFvPatchScalarField& tiptf =
|
||||
refCast<const inletOutletTotalTemperatureFvPatchScalarField>(ptf);
|
||||
@ -182,7 +182,7 @@ void Foam::inletOutletTotalTemperatureFvPatchScalarField::updateCoeffs()
|
||||
T0_/(1.0 + 0.5*psip*gM1ByG*(1.0 - pos(phip))*magSqr(Up));
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
mixedFvPatchScalarField::updateCoeffs();
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -35,7 +35,7 @@ SourceFiles
|
||||
#ifndef inletOutletTotalTemperatureFvPatchScalarField_H
|
||||
#define inletOutletTotalTemperatureFvPatchScalarField_H
|
||||
|
||||
#include "mixedFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -48,7 +48,7 @@ namespace Foam
|
||||
|
||||
class inletOutletTotalTemperatureFvPatchScalarField
|
||||
:
|
||||
public mixedFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -38,10 +38,15 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
UName_("U"),
|
||||
intensity_(0.05)
|
||||
{}
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
intensity_(0.0),
|
||||
UName_("undefined-U"),
|
||||
phiName_("undefined-phi")
|
||||
{
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
Foam::turbulentIntensityKineticEnergyInletFvPatchScalarField::
|
||||
turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
@ -52,9 +57,10 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
intensity_(ptf.intensity_),
|
||||
UName_(ptf.UName_),
|
||||
intensity_(ptf.intensity_)
|
||||
phiName_(ptf.phiName_)
|
||||
{}
|
||||
|
||||
Foam::turbulentIntensityKineticEnergyInletFvPatchScalarField::
|
||||
@ -65,9 +71,10 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
intensity_(readScalar(dict.lookup("intensity"))),
|
||||
UName_(dict.lookupOrDefault<word>("U", "U")),
|
||||
intensity_(readScalar(dict.lookup("intensity")))
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi"))
|
||||
{
|
||||
if (intensity_ < 0 || intensity_ > 1)
|
||||
{
|
||||
@ -85,6 +92,12 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
<< " in file " << this->dimensionedInternalField().objectPath()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
Foam::turbulentIntensityKineticEnergyInletFvPatchScalarField::
|
||||
@ -93,9 +106,10 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
const turbulentIntensityKineticEnergyInletFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
inletOutletFvPatchScalarField(ptf),
|
||||
intensity_(ptf.intensity_),
|
||||
UName_(ptf.UName_),
|
||||
intensity_(ptf.intensity_)
|
||||
phiName_(ptf.phiName_)
|
||||
{}
|
||||
|
||||
|
||||
@ -106,9 +120,10 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
inletOutletFvPatchScalarField(ptf, iF),
|
||||
intensity_(ptf.intensity_),
|
||||
UName_(ptf.UName_),
|
||||
intensity_(ptf.intensity_)
|
||||
phiName_(ptf.phiName_)
|
||||
{}
|
||||
|
||||
|
||||
@ -122,12 +137,16 @@ updateCoeffs()
|
||||
return;
|
||||
}
|
||||
|
||||
const fvPatchField<vector>& Up =
|
||||
const fvPatchVectorField& Up =
|
||||
patch().lookupPatchField<volVectorField, vector>(UName_);
|
||||
|
||||
operator==(1.5*sqr(intensity_)*magSqr(Up));
|
||||
const fvsPatchScalarField& phip =
|
||||
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
this->refValue() = 1.5*sqr(intensity_)*magSqr(Up);
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
@ -136,9 +155,10 @@ void Foam::turbulentIntensityKineticEnergyInletFvPatchScalarField::write
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
||||
fvPatchScalarField::write(os);
|
||||
os.writeKeyword("intensity") << intensity_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("U") << UName_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -33,7 +33,6 @@ Description
|
||||
inlet
|
||||
{
|
||||
type turbulentIntensityKineticEnergyInlet;
|
||||
U U; // Name of U field (optional)
|
||||
intensity 0.05; // 5% turbulence
|
||||
value uniform 1; // placeholder
|
||||
}
|
||||
@ -47,7 +46,7 @@ SourceFiles
|
||||
#ifndef turbulentIntensityKineticEnergyInletFvPatchScalarField_H
|
||||
#define turbulentIntensityKineticEnergyInletFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -60,16 +59,20 @@ namespace Foam
|
||||
|
||||
class turbulentIntensityKineticEnergyInletFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Name of belocity field
|
||||
word UName_;
|
||||
|
||||
//- Turbulent intensity as fraction of mean velocity
|
||||
scalar intensity_;
|
||||
|
||||
//- Name of the velocity field
|
||||
word UName_;
|
||||
|
||||
//- Name of the flux field
|
||||
word phiName_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,9 +46,15 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
mixingLength_(0.001)
|
||||
{}
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(0.0),
|
||||
phiName_("undefined-phi"),
|
||||
kName_("undefined-k")
|
||||
{
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
@ -59,8 +65,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
@ -71,9 +79,17 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength")))
|
||||
{}
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength"))),
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
|
||||
kName_(dict.lookupOrDefault<word>("k", "k"))
|
||||
{
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
@ -81,8 +97,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
@ -92,8 +110,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
|
||||
@ -114,12 +134,16 @@ void turbulentMixingLengthDissipationRateInletFvPatchScalarField::updateCoeffs()
|
||||
|
||||
const scalar Cmu75 = pow(Cmu, 0.75);
|
||||
|
||||
const fvPatchField<scalar>& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>("k");
|
||||
const fvPatchScalarField& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
||||
|
||||
operator==(Cmu75*kp*sqrt(kp)/mixingLength_);
|
||||
const fvsPatchScalarField& phip =
|
||||
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
this->refValue() = Cmu75*kp*sqrt(kp)/mixingLength_;
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
@ -128,9 +152,11 @@ void turbulentMixingLengthDissipationRateInletFvPatchScalarField::write
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
fvPatchScalarField::write(os);
|
||||
os.writeKeyword("mixingLength")
|
||||
<< mixingLength_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -32,9 +32,9 @@ Description
|
||||
@verbatim
|
||||
inlet
|
||||
{
|
||||
type compressible::turbulentMixingLengthDissipationRateInlet;
|
||||
type compressible::turbulentMixingLengthDissipationRateInlet;
|
||||
mixingLength 0.005; // 5 mm
|
||||
value uniform 200; // placeholder
|
||||
value uniform 200; // placeholder
|
||||
}
|
||||
@endverbatim
|
||||
|
||||
@ -46,7 +46,7 @@ SourceFiles
|
||||
#ifndef compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
|
||||
#define compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -61,13 +61,20 @@ namespace compressible
|
||||
|
||||
class turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- turbulent length scale
|
||||
scalar mixingLength_;
|
||||
|
||||
//- Name of the flux field
|
||||
word phiName_;
|
||||
|
||||
//- Name of the turbulent kinetic energy field
|
||||
word kName_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,6 +26,7 @@ License
|
||||
#include "turbulentMixingLengthFrequencyInletFvPatchScalarField.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "volFields.H"
|
||||
#include "RASModel.H"
|
||||
|
||||
@ -45,10 +46,15 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(0.0),
|
||||
kName_("k")
|
||||
{}
|
||||
phiName_("undefined-phi"),
|
||||
kName_("undefined-k")
|
||||
{
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField::
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
@ -59,8 +65,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -72,10 +79,17 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength"))),
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
|
||||
kName_(dict.lookupOrDefault<word>("k", "k"))
|
||||
{}
|
||||
{
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField::
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
@ -83,8 +97,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
inletOutletFvPatchScalarField(ptf),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -95,8 +110,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
inletOutletFvPatchScalarField(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -116,14 +132,18 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs()
|
||||
const scalar Cmu =
|
||||
rasModel.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
|
||||
|
||||
const scalar Cmu25 = pow025(Cmu);
|
||||
const scalar Cmu25 = pow(Cmu, 0.25);
|
||||
|
||||
const fvPatchField<scalar>& kp =
|
||||
const fvPatchScalarField& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
||||
|
||||
operator==(sqrt(kp)/(Cmu25*mixingLength_));
|
||||
const fvsPatchScalarField& phip =
|
||||
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
this->refValue() = sqrt(kp)/(Cmu25*mixingLength_);
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
@ -132,9 +152,10 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::write
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
fvPatchScalarField::write(os);
|
||||
os.writeKeyword("mixingLength")
|
||||
<< mixingLength_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,7 +46,7 @@ SourceFiles
|
||||
#ifndef compressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
|
||||
#define compressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -61,13 +61,16 @@ namespace compressible
|
||||
|
||||
class turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Turbulent length scale
|
||||
scalar mixingLength_;
|
||||
|
||||
//- Name of the flux field
|
||||
word phiName_;
|
||||
|
||||
//- Name of the turbulent kinetic energy field
|
||||
word kName_;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,9 +46,15 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
mixingLength_(0.001)
|
||||
{}
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(0.0),
|
||||
phiName_("undefined-phi"),
|
||||
kName_("undefined-k")
|
||||
{
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
@ -59,8 +65,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
@ -71,9 +79,17 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength")))
|
||||
{}
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength"))),
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
|
||||
kName_(dict.lookupOrDefault<word>("k", "k"))
|
||||
{
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
@ -81,8 +97,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const turbulentMixingLengthDissipationRateInletFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
turbulentMixingLengthDissipationRateInletFvPatchScalarField::
|
||||
@ -92,8 +110,10 @@ turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_)
|
||||
inletOutletFvPatchScalarField(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
|
||||
@ -114,12 +134,16 @@ void turbulentMixingLengthDissipationRateInletFvPatchScalarField::updateCoeffs()
|
||||
|
||||
const scalar Cmu75 = pow(Cmu, 0.75);
|
||||
|
||||
const fvPatchField<scalar>& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>("k");
|
||||
const fvPatchScalarField& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
||||
|
||||
operator==(Cmu75*kp*sqrt(kp)/mixingLength_);
|
||||
const fvsPatchScalarField& phip =
|
||||
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
this->refValue() = Cmu75*kp*sqrt(kp)/mixingLength_;
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
@ -128,9 +152,11 @@ void turbulentMixingLengthDissipationRateInletFvPatchScalarField::write
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
fvPatchScalarField::write(os);
|
||||
os.writeKeyword("mixingLength")
|
||||
<< mixingLength_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,7 +46,7 @@ SourceFiles
|
||||
#ifndef incompressibleturbulentMixingLengthDissipationRateInlet_H
|
||||
#define incompressibleturbulentMixingLengthDissipationRateInlet_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -61,13 +61,20 @@ namespace incompressible
|
||||
|
||||
class turbulentMixingLengthDissipationRateInletFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- turbulent length scale
|
||||
scalar mixingLength_;
|
||||
|
||||
//- Name of the flux field
|
||||
word phiName_;
|
||||
|
||||
//- Name of the turbulent kinetic energy field
|
||||
word kName_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,10 +46,15 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(0.0),
|
||||
phiName_("undefined-phi"),
|
||||
kName_("undefined-k")
|
||||
{}
|
||||
{
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField::
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
@ -60,8 +65,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const fvPatchFieldMapper& mapper
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||
inletOutletFvPatchScalarField(ptf, p, iF, mapper),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -73,10 +79,17 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(p, iF, dict),
|
||||
inletOutletFvPatchScalarField(p, iF),
|
||||
mixingLength_(readScalar(dict.lookup("mixingLength"))),
|
||||
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
|
||||
kName_(dict.lookupOrDefault<word>("k", "k"))
|
||||
{}
|
||||
{
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->refValue() = 0.0;
|
||||
this->refGrad() = 0.0;
|
||||
this->valueFraction() = 0.0;
|
||||
}
|
||||
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField::
|
||||
turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
@ -84,8 +97,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const turbulentMixingLengthFrequencyInletFvPatchScalarField& ptf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf),
|
||||
inletOutletFvPatchScalarField(ptf),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -96,8 +110,9 @@ turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchField<scalar>(ptf, iF),
|
||||
inletOutletFvPatchScalarField(ptf, iF),
|
||||
mixingLength_(ptf.mixingLength_),
|
||||
phiName_(ptf.phiName_),
|
||||
kName_(ptf.kName_)
|
||||
{}
|
||||
|
||||
@ -117,14 +132,18 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::updateCoeffs()
|
||||
const scalar Cmu =
|
||||
rasModel.coeffDict().lookupOrDefault<scalar>("Cmu", 0.09);
|
||||
|
||||
const scalar Cmu25 = pow025(Cmu);
|
||||
const scalar Cmu25 = pow(Cmu, 0.25);
|
||||
|
||||
const fvPatchField<scalar>& kp =
|
||||
const fvPatchScalarField& kp =
|
||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
||||
|
||||
operator==(sqrt(kp)/(Cmu25*mixingLength_));
|
||||
const fvsPatchScalarField& phip =
|
||||
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
|
||||
|
||||
fixedValueFvPatchField<scalar>::updateCoeffs();
|
||||
this->refValue() = sqrt(kp)/(Cmu25*mixingLength_);
|
||||
this->valueFraction() = 1.0 - pos(phip);
|
||||
|
||||
inletOutletFvPatchScalarField::updateCoeffs();
|
||||
}
|
||||
|
||||
|
||||
@ -133,9 +152,10 @@ void turbulentMixingLengthFrequencyInletFvPatchScalarField::write
|
||||
Ostream& os
|
||||
) const
|
||||
{
|
||||
fvPatchField<scalar>::write(os);
|
||||
fvPatchScalarField::write(os);
|
||||
os.writeKeyword("mixingLength")
|
||||
<< mixingLength_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("k") << kName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2006-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,7 +46,7 @@ SourceFiles
|
||||
#ifndef incompressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
|
||||
#define incompressibleturbulentMixingLengthFrequencyInletFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
#include "inletOutletFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -61,13 +61,16 @@ namespace incompressible
|
||||
|
||||
class turbulentMixingLengthFrequencyInletFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
public inletOutletFvPatchScalarField
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Turbulent length scale
|
||||
scalar mixingLength_;
|
||||
|
||||
//- Name of the flux field
|
||||
word phiName_;
|
||||
|
||||
//- Name of the turbulent kinetic energy field
|
||||
word kName_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user