53#ifndef adjointkOmegaSST_H
54#define adjointkOmegaSST_H
63namespace incompressibleAdjoint
65namespace adjointRASModels
250 this->
type() +
":beta",
262 this->
type() +
":beta",
274 this->
type() +
":gamma",
286 this->
type() +
":gamma",
385 const word& schemeName
395 const word& schemeName
404 const word& schemeName
486 const word& schemeName
511 const word& adjointTurbulenceModelName
513 const word& modelName = typeName
590 const word& designVarsName
const volScalarField & psi2
const volScalarField & psi1
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricBoundaryField class.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Manages the adjoint mean flow fields and their mean values.
Abstract base class for incompressible turbulence models.
autoPtr< volScalarField > adjointTMVariable1Ptr_
Adjoint turbulence model variable 1.
autoPtr< volScalarField > adjointTMVariable2Ptr_
Adjoint turbulence model variable 2.
Continuous adjoint to the kOmegaSST turbulence model for incompressible flows.
virtual tmp< fvVectorMatrix > divDevReff(volVectorField &U) const
Return the transpose part of the adjoint momentum stresses.
virtual tmp< scalarField > diffusionCoeffVar1(label patchI) const
Diffusion coeff at the boundary for k.
virtual tmp< volScalarField > nutJacobianTMVar2() const
Jacobian of nut wrt to omega.
tmp< volScalarField > dGPrime_domega() const
GbyNu Jacobian wrt omega.
tmp< volVectorField > GMeanFlowSource(tmp< volSymmTensorField > &GbyNuMult) const
Contributions from the G.
virtual tmp< volTensorField > FISensitivityTerm()
Sensitivity derivative contributions when using the FI approach.
tmp< volVectorField > dF1_dGradK(const volScalarField &arg1) const
F1 Jacobian wrt grad(k)
volScalarField case_1_F1_
tmp< volScalarField::Internal > blend(const volScalarField::Internal &F1, const dimensionedScalar &psi1, const dimensionedScalar &psi2) const
tmp< volScalarField > dR_dF1() const
Derivative of the primal equations wrt F1.
tmp< volScalarField > dF1_dk(const volScalarField &arg1) const
F1 Jacobian wrt k (no contributions from grad(k))
tmp< volScalarField > dnut_dk() const
Nut Jacobian wrt k.
tmp< volScalarField > dGPrime_dk() const
GbyNu Jacobian wrt k.
tmp< volVectorField > convectionMeanFlowSource(const volScalarField &primalField, const volScalarField &adjointField) const
Contributions from the turbulence model convection terms.
tmp< volScalarField::Internal > gamma(const volScalarField::Internal &F1) const
Switch F3_
Flag to include the F3 term.
tmp< surfaceInterpolationScheme< Type > > interpolationScheme(const word &schemeName) const
dimensionedScalar alphaOmega2_
virtual void correct()
Solve the adjoint turbulence equations.
volScalarField DkEff_
Diffusivity of the k equation.
virtual tmp< volScalarField > F2() const
dimensionedScalar gamma2_
volScalarField S2_
Primal cached fields involved in the solution of the.
tmp< volScalarField > dNutdbMult(const volScalarField &primalField, const volScalarField &adjointField, const volScalarField &coeffField, const volScalarField &bcField, const word &schemeName) const
Term multiplying dnut/db, coming from the turbulence model.
volScalarField case_2_nut_
tmp< fvScalarMatrix > waEqnSourceFromCDkOmega() const
Source to waEqn from the differentiation of CDkOmega.
volScalarField alphaOmega_
tmp< volScalarField > kaEqnSourceFromF1() const
Source to kaEqn from the differentiation of F1.
tmp< volScalarField > dR_dnut()
Derivative of the primal equations wrt nut.
virtual tmp< volScalarField > F1() const
void updatePrimalRelatedFields()
Update of the primal cached fields.
tmp< volScalarField > dF2_dk() const
F2 Jacobian wrt k.
virtual const boundaryVectorField & adjointMomentumBCSource() const
tmp< surfaceInterpolationScheme< scalar > > convectionScheme(const word &varName) const
virtual tmp< volSymmTensorField > devReff() const
Return the effective stress tensor including the laminar stress.
volScalarField case_3_nut_
tmp< volScalarField > beta(const volScalarField &F1) const
virtual void nullify()
Nullify all adjoint turbulence model fields and their old times.
volScalarField CDkOmegaPlus_
volScalarField zeroFirstCell_
tmp< volScalarField > blend(const volScalarField &F1, const dimensionedScalar &psi1, const dimensionedScalar &psi2) const
virtual tmp< volScalarField > nutJacobianTMVar1() const
Jacobian of nut wrt to k.
volScalarField & nutRef()
tmp< volVectorField > nutMeanFlowSource(tmp< volScalarField > &mult) const
Contributions from nut(U)
tmp< volScalarField > zeroFirstCell()
volTensorField gradU_
Cached primal gradient fields.
volScalarField case_3_F1_
volScalarField DOmegaEff_
Diffusivity of the omega equation.
virtual tmp< volScalarField > GbyNu(const volScalarField &GbyNu0, const volScalarField &F2, const volScalarField &S2) const
const volScalarField & k() const
tmp< volScalarField > alphaK(const volScalarField &F1) const
tmp< volScalarField > diffusionNutMeanFlowMult(const volScalarField &primalField, const volScalarField &adjointField, const volScalarField &coeffField) const
virtual const boundaryVectorField & wallShapeSensitivities()
Sensitivity derivative contributions when using the (E)SI approach.
dimensionedScalar alphaK2_
const volScalarField & y_
Wall distance.
tmp< volScalarField > DomegaEff(const volScalarField &F1) const
Return the effective diffusivity for omega.
volScalarField case_2_F1_
tmp< volScalarField > alphaOmega(const volScalarField &F1) const
void addWallFunctionTerms(fvScalarMatrix &kaEqn, const volScalarField &dR_dnut)
tmp< volScalarField > waEqnSourceFromF1() const
Source to waEqn from the differentiation of F1.
volScalarField case_1_GPrime_
virtual tmp< volVectorField > adjointMeanFlowSource()
volScalarField case_1_Pk_
Switch fields for the production in the k Eqn.
tmp< volScalarField::Internal > beta(const volScalarField::Internal &F1) const
virtual const boundaryVectorField & wallFloCoSensitivities()
Sensitivity terms for flow control, emerging from the.
virtual tmp< volVectorField > nonConservativeMomentumSource() const
Non-conservative part of the terms added to the mean flow equations.
volScalarField case_2_Pk_
dimensionedScalar alphaK1_
const volScalarField & wa() const
volScalarField dnut_domega_
Nut Jacobian w.r.t. omega.
TypeName("adjointkOmegaSST")
Runtime type information.
tmp< volScalarField > kaEqnSourceFromCDkOmega() const
Source to kaEqn from the differentiation of CDkOmega.
tmp< volScalarField > coeffsDifferentiation(const volScalarField &primalField, const volScalarField &adjointField, const word &schemeName) const
Differentiation of the turbulence model diffusion coefficients.
virtual tmp< volScalarField > distanceSensitivities()
Contributions to the adjoint eikonal equation (zero for now)
volScalarField case_4_F1_
const volScalarField & ka() const
dimensionedScalar alphaOmega1_
const volScalarField & nutRef() const
virtual ~adjointkOmegaSST()=default
Destructor.
virtual tmp< scalarField > diffusionCoeffVar2(label patchI) const
Diffusion coeff at the boundary for omega.
volScalarField dnut_dk_
Nut Jacobian w.r.t. k.
tmp< volVectorField > divUMeanFlowSource(tmp< volScalarField > &divUMult) const
Contributions from the divU.
dimensionedScalar gamma1_
volScalarField case_2_GPrime_
tmp< volVectorField > dF1_dGradOmega(const volScalarField &arg1) const
F1 Jacobian wrt grad(omega)
volScalarField case_3_Pk_
virtual tmp< scalarField > topologySensitivities(const word &designVarsName) const
volVectorField gradOmega_
tmp< volScalarField > dnut_domega() const
Nut Jacobian wrt omega.
volScalarField case_1_nut_
tmp< volScalarField > DkEff(const volScalarField &F1) const
Return the effective diffusivity for k.
dimensionedScalar betaStar_
tmp< volScalarField > dF1_domega(const volScalarField &arg1) const
F1 Jacobian wrt omega (no contributions from grad(omega))
virtual bool read()
Read adjointRASProperties dictionary.
const volScalarField & omega() const
tmp< volScalarField > gamma(const volScalarField &F1) const
tmp< volScalarField > dF2_domega() const
F2 Jacobian wrt omega.
tmp< volScalarField > nu() const
Return the laminar viscosity.
virtual const volScalarField & nut() const
Return the turbulence viscosity.
incompressibleVars & primalVars_
Base class for solution control classes.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
class for managing incompressible objective functions.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
static const char *const typeName
The type name used in ensight case files.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.