37#ifndef adjointBoundaryCondition_H
38#define adjointBoundaryCondition_H
101 TypeName(
"adjointBoundaryCondition");
111 const word& solverName
176#define makeAdjointBoundaryCondition(adjointTypeBoundaryCondition) \
177defineNamedTemplateTypeNameAndDebug(adjointTypeBoundaryCondition, 0);
Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add loo...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
const word & objectiveManagerName() const
Return objectiveManager name.
const ATCModel & getATC() const
ATC type might be useful for a number of BCs. Return here.
const word & adjointSolverName() const
Return adjointSolverName.
virtual ~adjointBoundaryCondition()=default
Destructor.
boundaryAdjointContribution & getBoundaryAdjContribution()
Get boundaryContribution.
TypeName("adjointBoundaryCondition")
Run-time type information.
adjointBoundaryCondition(const adjointBoundaryCondition< Type > &)
Construct as copy.
autoPtr< boundaryAdjointContribution > boundaryContrPtr_
const word & simulationType() const
Return the simulationType.
adjointBoundaryCondition(const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const word &solverName)
Construct from field and base name.
virtual void updatePrimalBasedQuantities()
Update the primal based quantities related to the adjoint boundary conditions.
tmp< Field< typename Foam::outerProduct< Foam::vector, Type2 >::type > > computePatchGrad(word name)
Get gradient of field on a specific boundary.
Switch addATCUaGradUTerm_
virtual tmp< Field< typename Foam::outerProduct< Foam::vector, Type >::type > > dxdbMult() const
Return contribution to sensitivity derivatives.
void setBoundaryContributionPtr()
Set the ptr to the correct boundaryAdjointContribution.
bool addATCUaGradUTerm()
Whether to add the extra term from the UaGradU formulation.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Abstract base class for computing contributions of the objective functions to the adjoint boundary co...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.