52ATCstandard::ATCstandard
60 ATCModel(
mesh, primalVars, adjointVars,
dict),
103 UaEqn +=
ATC_.internalField();
130 gradUbf[patchI] = tnf*
U.boundaryField()[patchI].snGrad();
139 "ATCFISensitivityTerm" +
type(),
140 - (tgradU & Ua)*
U*mask
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add loo...
const incompressibleAdjointVars & adjointVars_
const scalar extraConvection_
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_
volScalarField ATClimiter_
The ATC formualtion resulting by differentiating the Non-conservative form of the momentum equations.
virtual void updatePrimalBasedQuantities()
Update quantities related with the primal fields.
virtual tmp< volTensorField > getFISensitivityTerm() const
Get the FI sensitivity derivatives term coming from the ATC.
virtual void addATC(fvVectorMatrix &UaEqn)
Add ATC.
static tmp< GeometricField< tensor, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< tensor >::calculatedType())
GeometricBoundaryField< tensor, fvPatchField, volMesh > Boundary
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const Time & time() const noexcept
Return Time associated with the objectRegistry.
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 fvBoundaryMesh & boundary() const noexcept
Return reference to boundary mesh.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const volVectorField & Ua() const
Return const reference to velocity.
const volVectorField & UaInst() const
Return const reference to velocity.
Class including all adjoint fields for incompressible flows.
Base class for solution control classes.
const volVectorField & U() const
Return const reference to velocity.
const surfaceScalarField & phi() const
Return const reference to volume flux.
A class for managing temporary objects.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionSet dimless
Dimensionless.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
fvMatrix< vector > fvVectorMatrix
static constexpr const zero Zero
Global zero (0).
dimensioned< tensor > dimensionedTensor
Dimensioned tensor obtained from generic dimensioned type.
#define addProfiling(Name,...)
Define profiling trigger with specified name and description string. The description is generated by ...
#define forAll(list, i)
Loop across all elements in list.