70 ATCModel(
const ATCModel&) =
delete;
73 void operator=(
const ATCModel&) =
delete;
124 (
mesh, primalVars, adjointVars,
dict)
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...
const labelList & getZeroATCcells()
Get the list of cells on which to zero ATC.
const incompressibleAdjointVars & adjointVars_
const scalar extraDiffusion_
virtual bool writeData(Ostream &) const
Dummy writeData function required from regIOobject.
scalar getExtraDiffusionMultiplier()
Get the extra diffusion multiplier.
virtual void addATC(fvVectorMatrix &UaEqn)=0
Add ATC to the given matrix.
declareRunTimeSelectionTable(autoPtr, ATCModel, dictionary,(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict),(mesh, primalVars, adjointVars, dict))
virtual tmp< volTensorField > getFISensitivityTerm() const =0
Get the FI sensitivity derivatives term coming from the ATC.
scalar getExtraConvectionMultiplier()
Get the extra convection multiplier.
void smoothFieldBasedOnCells(GeometricField< Type, fvPatchField, volMesh > &vf, const labelList &cells)
Smooth an arbitrary field on a given list of cells.
const scalar extraConvection_
virtual void updatePrimalBasedQuantities()
Update quantities related with the primal fields.
const bool reconstructGradients_
const volScalarField & getLimiter() const
Get the list of cells on which to zero ATC.
void smoothATC()
Limit ATC field using ATClimiter_.
const incompressibleVars & primalVars_
virtual ~ATCModel()=default
Destructor.
autoPtr< zeroATCcells > zeroATCcells_
volScalarField ATClimiter_
void computeLimiter()
Compute limiter based on the cells given by zeroATCcells.
TypeName("ATCModel")
Runtime type information.
static autoPtr< ATCModel > New(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict)
Return a reference to the selected turbulence model.
Generic GeometricField class.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
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.
Class including all adjoint fields for incompressible flows.
Base class for solution control classes.
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 class for managing temporary objects.
A class for handling words, derived from Foam::string.
GeometricField< vector, fvPatchField, volMesh > volVectorField
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
fvMatrix< vector > fvVectorMatrix
tmp< areaScalarField > limiter(const areaScalarField &phi)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.