48#ifndef adjointTurbulenceModel_H
49#define adjointTurbulenceModel_H
65namespace incompressibleAdjoint
114 const word& adjointTurbulenceModelName
120 adjointTurbulenceModelName
133 const word& adjointTurbulenceModelName = typeName
145 const word& adjointTurbulenceModelName = typeName
181 lamTrans.
nu()() + turbVars().nutRef()
198 lamTrans.
nu()().boundaryField()[patchI]
199 + turbVars().nutRef().boundaryField()[patchI]
223 virtual bool read() = 0;
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.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
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.
Abstract base class for incompressible adjoint turbulence models (RAS, LES and laminar).
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 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 incompressible objective functions.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
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.
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.