52 ATCstandard::ATCstandard
127 if (isA<wallFvPatch>(
patch))
130 gradUbf[patchI] = tnf*
U.boundaryField()[patchI].snGrad();
139 "ATCFISensitivityTerm" +
type(),
140 - (tgradU & Ua)*
U*mask
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
volScalarField ATClimiter_
virtual void addATC(fvVectorMatrix &UaEqn)
Add ATC.
void smoothATC()
Limit ATC field using ATClimiter_.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const Internal & internalField() const noexcept
Return a const-reference to the dimensioned internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
#define addProfiling(Name,...)
Define profiling trigger with specified name and description string. The description is generated by ...
Generic dimensioned Type class.
The ATC formualtion resulting by differentiating the Non-conservative form of the momentum equations...
const dimensionSet dimless
Dimensionless.
const incompressibleVars & primalVars_
virtual tmp< volTensorField > getFISensitivityTerm() const
Get the FI sensitivity derivatives term coming from the ATC.
Macros for easy insertion into run-time selection tables.
Class including all adjoint fields for incompressible flows.
#define forAll(list, i)
Loop across all elements in list.
const incompressibleAdjointVars & adjointVars_
GeometricField< scalar, fvPatchField, volMesh > volScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const surfaceScalarField & phi() const
Return const reference to volume flux.
Base class for solution control classes.
const volVectorField & Ua() const
Return const reference to velocity.
Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add loo...
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
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_
const volVectorField & U() const
Return const reference to velocity.
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())
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions and patch type. [Takes current timeN...
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
defineTypeNameAndDebug(combustionModel, 0)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const bool reconstructGradients_
const volVectorField & UaInst() const
Return const reference to velocity.
const volScalarField & getLimiter() const
Get the list of cells on which to zero ATC.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Mesh data needed to do the Finite Volume discretisation.
const std::string patch
OpenFOAM patch number as a std::string.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
const fvBoundaryMesh & boundary() const noexcept
Return reference to boundary mesh.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
A class for managing temporary objects.
Defines the attributes of an object for which implicit objectRegistry management is supported...
virtual void updatePrimalBasedQuantities()
Update quantities related with the primal fields.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
static constexpr const zero Zero
Global zero (0)