58 const word& adjointSolverName,
59 const word& primalSolverName
65 mesh_.cellZones().indices(this->
dict().get<
wordRes>(
"zones"))
71 createZeroFieldPtr<scalar>
81 createZeroFieldPtr<scalar>
84 (
"divDxdbMult"+
type()) ,
106 for (
const label zI : zones_)
109 for (
const label cellI : zoneI)
134 for (
const label zI : zones_)
137 for (
const label cellI : zoneI)
153 for (
const label zI : zones_)
156 for (
const label cellI : zoneI)
158 divDxDbMult[cellI] =
sqr(
nut[cellI]);
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
const singlePhaseTransportModel & laminarTransport() const
Return const reference to transport model.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
Abstract base class for objective functions in incompressible flows.
const volScalarField & dJdTMvar1()
Contribution to field adjoint turbulence model variable 1.
autoPtr< volScalarField > dJdTMvar1Ptr_
First turbulence model variable.
const incompressibleVars & vars_
autoPtr< volScalarField > divDxDbMultPtr_
Multiplier of d(Volume)/db.
scalar J_
Objective function value and weight.
Objective qualitatively quantifying noise through the integral of the squared turbulent viscosity ove...
scalar J()
Return the objective function value.
void update_dJdTMvar1()
Update field to be added to the adjoint turbulence model PDE.
void update_divDxDbMultiplier()
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
A simple single-phase transport model based on viscosityModel.
A class for managing temporary objects.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
const dimensionSet dimless
Dimensionless.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
void reduce(const List< UPstream::commsStruct > &comms, T &value, const BinaryOp &bop, const int tag, const label comm)
static constexpr const zero Zero
Global zero (0)