Go to the documentation of this file.
35 #ifndef DAkOmegaSSTFieldInversion_H
36 #define DAkOmegaSSTFieldInversion_H
39 #include "addToRunTimeSelectionTable.H"
71 dimensionedScalar
a1_;
72 dimensionedScalar
b1_;
73 dimensionedScalar
c1_;
80 tmp<volScalarField>
F1(
const volScalarField& CDkOmega)
const;
81 tmp<volScalarField>
F2()
const;
82 tmp<volScalarField>
F3()
const;
83 tmp<volScalarField>
F23()
const;
86 const volScalarField&
F1,
87 const dimensionedScalar& psi1,
88 const dimensionedScalar& psi2)
const
90 return F1 * (psi1 - psi2) + psi2;
93 tmp<volScalarField::Internal>
blend(
94 const volScalarField::Internal&
F1,
95 const dimensionedScalar& psi1,
96 const dimensionedScalar& psi2)
const
98 return F1 * (psi1 - psi2) + psi2;
101 tmp<volScalarField>
alphaK(
const volScalarField&
F1)
const
111 tmp<volScalarField::Internal>
beta(
112 const volScalarField::Internal&
F1)
const
117 tmp<volScalarField::Internal>
gamma(
118 const volScalarField::Internal&
F1)
const
124 tmp<volScalarField>
DkEff(
const volScalarField&
F1)
const
126 return tmp<volScalarField>(
133 return tmp<volScalarField>(
140 tmp<volScalarField::Internal>
Pk(
141 const volScalarField::Internal& G)
const;
145 const volScalarField&
F1,
146 const volTensorField& gradU)
const;
149 tmp<volScalarField::Internal>
GbyNu(
150 const volScalarField::Internal& GbyNu0,
151 const volScalarField::Internal&
F2,
152 const volScalarField::Internal& S2)
const;
154 tmp<fvScalarMatrix>
kSource()
const;
158 tmp<fvScalarMatrix>
Qsas(
159 const volScalarField::Internal& S2,
160 const volScalarField::Internal&
gamma,
161 const volScalarField::Internal&
beta)
const;
206 const volScalarField&
y_;
221 TypeName(
"kOmegaSSTFieldInversion");
226 const word modelType,
volVectorField UData_
reference field (e.g. velocity for DNS)
volScalarField USingleComponentData_
the reference pressure field data
tmp< volScalarField > DkEff(const volScalarField &F1) const
label printInterval_
time step interval to print residual
virtual void correctStateResidualModelCon(List< List< word >> &stateCon) const
update the original variable connectivity for the adjoint state residuals in stateCon
label solveTurbState_
whether to solve for turb states
tmp< volScalarField::Internal > blend(const volScalarField::Internal &F1, const dimensionedScalar &psi1, const dimensionedScalar &psi2) const
virtual ~DAkOmegaSSTFieldInversion()
tmp< volScalarField > F3() const
dimensionedScalar alphaK2_
TypeName("kOmegaSSTFieldInversion")
tmp< volScalarField > alphaOmega(const volScalarField &F1) const
tmp< volScalarField::Internal > gamma(const volScalarField::Internal &F1) const
virtual void correctModelStates(wordList &modelStates) const
update the turbulence state for DAStateInfo::regStates_
tmp< fvScalarMatrix > Qsas(const volScalarField::Internal &S2, const volScalarField::Internal &gamma, const volScalarField::Internal &beta) const
volScalarField omegaResPartDeriv_
void correctOmegaBoundaryConditions()
specially treatment to correct epsilon BC
void setOmegaNearWall()
set omegaNearWall_ to near wall omega values
tmp< volScalarField::Internal > epsilonByk(const volScalarField &F1, const volTensorField &gradU) const
volScalarField & betaFieldInversion_
A beta field multiplying to the production term.
tmp< volScalarField::Internal > Pk(const volScalarField::Internal &G) const
DAOption daOption(mesh, pyOptions_)
dimensionedScalar gamma2_
virtual void updateIntermediateVariables()
update any intermediate variables that are dependent on state variables and are used in calcResiduals
virtual void correctBoundaryConditions()
update turbulence variable boundary values
tmp< volScalarField::Internal > GbyNu(const volScalarField::Internal &GbyNu0, const volScalarField::Internal &F2, const volScalarField::Internal &S2) const
dimensionedScalar alphaOmega2_
virtual void addModelResidualCon(HashTable< List< List< word >>> &allCon) const
add the model residual connectivity to stateCon
volScalarField pData_
the reference field for surfacePressure
dimensionedScalar alphaOmega1_
tmp< fvScalarMatrix > kSource() const
volScalarField & nut_
turbulence viscosity
const volScalarField & y_
Weight of betaFieldInversion for the turbulent transport equations if both are modified.
tmp< volScalarField > blend(const volScalarField &F1, const dimensionedScalar &psi1, const dimensionedScalar &psi2) const
virtual void calcResiduals(const dictionary &options)
compute the turbulence residuals
volScalarField surfaceFriction_
a surface friction 'field' when using skin friction data for field inversion
volScalarField omegaResRef_
tmp< volScalarField > alphaK(const volScalarField &F1) const
dimensionedScalar betaStar_
tmp< volScalarField::Internal > beta(const volScalarField::Internal &F1) const
tmp< volScalarField > nu() const
get the nu field
tmp< volScalarField > F2() const
dimensionedScalar alphaK1_
tmp< volScalarField > DomegaEff(const volScalarField &F1) const
tmp< fvScalarMatrix > omegaSource() const
dimensionedScalar gamma1_
volScalarField kResPartDeriv_
DAkOmegaSSTFieldInversion(const word modelType, const fvMesh &mesh, const DAOption &daOption)
tmp< volScalarField > F23() const
tmp< volScalarField > F1(const volScalarField &CDkOmega) const
scalarList omegaNearWall_
volScalarField surfaceFrictionData_
the reference field for surfaceFriction
virtual void correct()
solve the residual equations and update the state
void saveOmegaNearWall()
save near wall omega values to omegaNearWall_
virtual void correctNut()
update nut based on other turbulence variables and update the BCs