73 void operator=(
const ATCModel&) =
delete;
124 (
mesh, primalVars, adjointVars,
dict)
void computeLimiter()
Compute limiter based on the cells given by zeroATCcells.
virtual void updatePrimalBasedQuantities()
Update quantities related with the primal fields.
volScalarField ATClimiter_
void smoothATC()
Limit ATC field using ATClimiter_.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
autoPtr< zeroATCcells > zeroATCcells_
tmp< areaScalarField > limiter(const areaScalarField &phi)
scalar getExtraDiffusionMultiplier()
Get the extra diffusion multiplier.
const incompressibleVars & primalVars_
TypeName("ATCModel")
Runtime type information.
Class including all adjoint fields for incompressible flows.
virtual void addATC(fvVectorMatrix &UaEqn)=0
Add ATC to the given matrix.
const incompressibleAdjointVars & adjointVars_
virtual ~ATCModel()=default
Destructor.
void smoothFieldBasedOnCells(GeometricField< Type, fvPatchField, volMesh > &vf, const labelList &cells)
Smooth an arbitrary field on a given list of cells.
Base class for solution control classes.
virtual bool writeData(Ostream &) const
Dummy writeData function required from regIOobject.
A class for handling words, derived from Foam::string.
Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add loo...
static tmp< volScalarField > createLimiter(const fvMesh &mesh, const dictionary &dict)
Return a limiter based on given cells. For use with classes other than ATC which employ the same smoo...
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
const scalar extraConvection_
An Ostream is an abstract base class for all output systems (streams, files, token lists...
scalar getExtraConvectionMultiplier()
Get the extra convection multiplier.
static autoPtr< ATCModel > New(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict)
Return a reference to the selected turbulence model.
const labelList & getZeroATCcells()
Get the list of cells on which to zero ATC.
const scalar extraDiffusion_
const bool reconstructGradients_
const volScalarField & getLimiter() const
Get the list of cells on which to zero ATC.
virtual tmp< volTensorField > getFISensitivityTerm() const =0
Get the FI sensitivity derivatives term coming from the ATC.
Mesh data needed to do the Finite Volume discretisation.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
A class for managing temporary objects.
declareRunTimeSelectionTable(autoPtr, ATCModel, dictionary,(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict),(mesh, primalVars, adjointVars, dict))