48#ifndef adjointTurbulenceModel_H
49#define adjointTurbulenceModel_H
72class adjointTurbulenceModel
81 adjointTurbulenceModel(
const adjointTurbulenceModel&) =
delete;
84 void operator=(
const adjointTurbulenceModel&) =
delete;
108 adjointTurbulenceModel,
109 adjointTurbulenceModel,
114 const word& adjointTurbulenceModelName
120 adjointTurbulenceModelName
128 adjointTurbulenceModel
181 lamTrans.
nu() + turbVars().
nut()
195 return (lamTrans.
nu(patchI) + turbVars().
nut(patchI));
218 virtual bool read() = 0;
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
@ NO_REGISTER
Do not request registration (bool: false).
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
Manages the adjoint mean flow fields and their mean values.
virtual tmp< volVectorField > adjointMeanFlowSource()=0
Source term added to the adjoint mean flow due to the.
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity.
virtual bool read()=0
Read adjointLESProperties or adjointRASProperties dictionary.
virtual tmp< volSymmTensorField > devReff() const =0
Return the effective stress tensor including the laminar stress.
virtual tmp< volSymmTensorField > devReff(const volVectorField &U) const =0
Return the effective stress tensor based on a given velocity field.
virtual tmp< fvVectorMatrix > divDevReff(volVectorField &U) const =0
Return the diffusion term for the momentum equation.
incompressibleAdjointMeanFlowVars & adjointVars_
virtual ~adjointTurbulenceModel()=default
Destructor.
tmp< volScalarField > nu() const
Return the laminar viscosity.
static autoPtr< adjointTurbulenceModel > New(incompressibleVars &primalVars, incompressibleAdjointMeanFlowVars &adjointVars, objectiveManager &objManager, const word &adjointTurbulenceModelName=typeName)
Return a reference to the selected turbulence model.
TypeName("adjointTurbulenceModel")
Runtime type information.
declareRunTimeNewSelectionTable(autoPtr, adjointTurbulenceModel, adjointTurbulenceModel,(incompressibleVars &primalVars, incompressibleAdjointMeanFlowVars &adjointVars, objectiveManager &objManager, const word &adjointTurbulenceModelName),(primalVars, adjointVars, objManager, adjointTurbulenceModelName))
virtual void correct()=0
Solve the adjoint turbulence equations.
virtual tmp< scalarField > nuEff(const label patchI) const
Return the effective viscosity on a given patch.
virtual bool writeData(Ostream &) const
Default dummy write function.
virtual void nullify()=0
Nullify all adjoint turbulence model fields and their old times.
virtual const tmp< volScalarField > nut() const
Return the turbulence viscosity.
incompressibleVars & primalVars_
Base class for solution control classes.
const singlePhaseTransportModel & laminarTransport() const
Return const reference to transport model.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
Class for managing objective functions.
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
A simple single-phase transport model based on viscosityModel.
virtual tmp< volScalarField > nu() const
Return the laminar viscosity.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Namespace for incompressible adjoint turbulence models.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
Macros to ease declaration of run-time selection tables.
#define declareRunTimeNewSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection for derived classes.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.