Base class for solution control classes. More...
Public Member Functions | |
TypeName ("adjointBoundaryCondition") | |
Run-time type information. More... | |
adjointBoundaryCondition (const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const word &solverName) | |
Construct from field and base name. More... | |
adjointBoundaryCondition (const adjointBoundaryCondition< Type > &) | |
Construct as copy. More... | |
virtual | ~adjointBoundaryCondition ()=default |
Destructor. More... | |
const word & | objectiveManagerName () const |
Return objectiveManager name. More... | |
const word & | adjointSolverName () const |
Return adjointSolverName. More... | |
const word & | simulationType () const |
Return the simulationType. More... | |
void | setBoundaryContributionPtr () |
Set the ptr to the correct boundaryAdjointContribution. More... | |
boundaryAdjointContribution & | getBoundaryAdjContribution () |
Get boundaryContribution. More... | |
const ATCModel & | getATC () const |
ATC type might be useful for a number of BCs. Return here. More... | |
virtual tmp< Field< typename Foam::outerProduct< Foam::vector, Type >::type > > | dxdbMult () const |
Return contribution to sensitivity derivatives. More... | |
virtual void | updatePrimalBasedQuantities () |
Protected Member Functions | |
template<class Type2 > | |
tmp< Field< typename Foam::outerProduct< Foam::vector, Type2 >::type > > | computePatchGrad (word name) |
Get gradient of field on a specific boundary. More... | |
bool | addATCUaGradUTerm () |
Whether to add the extra term from the UaGradU formulation. More... | |
Protected Attributes | |
const fvPatch & | patch_ |
Reference to patch. More... | |
word | managerName_ |
objectiveManager name corresponding to field More... | |
word | adjointSolverName_ |
adjointSolver name corresponding to field More... | |
word | simulationType_ |
simulationType corresponding to field. More... | |
autoPtr< boundaryAdjointContribution > | boundaryContrPtr_ |
autoPtr< bool > | addATCUaGradUTerm_ |
Whether to add the extra term from the UaGradU formulation. More... | |
Base class for solution control classes.
Definition at line 52 of file adjointBoundaryCondition.H.
adjointBoundaryCondition | ( | const fvPatch & | p, |
const DimensionedField< Type, volMesh > & | iF, | ||
const word & | solverName | ||
) |
Construct from field and base name.
Definition at line 212 of file adjointBoundaryCondition.C.
References adjointBoundaryCondition< Type >::setBoundaryContributionPtr().
adjointBoundaryCondition | ( | const adjointBoundaryCondition< Type > & | adjointBC | ) |
Construct as copy.
Definition at line 186 of file adjointBoundaryCondition.C.
|
virtualdefault |
Destructor.
|
protected |
Get gradient of field on a specific boundary.
Definition at line 50 of file adjointBoundaryCondition.C.
References fvMesh::boundary(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), polyMesh::boundaryMesh(), solution::cachePrintMessage(), cells, primitiveMesh::cells(), field(), forAll, Foam::interpolate(), schemesLookup::interpolationScheme(), objectRegistry::lookupObject(), mesh, polyBoundaryMesh::mesh(), Foam::name(), Time::New(), Foam::New(), fvMesh::owner(), patchID, fvMesh::Sf(), fvPatchField< Type >::snGrad(), fvPatch::start(), regIOobject::store(), fvMesh::V(), polyBoundaryMesh::whichPatch(), and Foam::Zero.
|
protected |
Whether to add the extra term from the UaGradU formulation.
Definition at line 173 of file adjointBoundaryCondition.C.
TypeName | ( | "adjointBoundaryCondition< Type >" | ) |
Run-time type information.
const word & objectiveManagerName |
Return objectiveManager name.
Definition at line 234 of file adjointBoundaryCondition.C.
const word & adjointSolverName |
Return adjointSolverName.
Definition at line 241 of file adjointBoundaryCondition.C.
const word & simulationType |
Return the simulationType.
Definition at line 248 of file adjointBoundaryCondition.C.
void setBoundaryContributionPtr |
Set the ptr to the correct boundaryAdjointContribution.
Definition at line 255 of file adjointBoundaryCondition.C.
References polyMesh::boundaryMesh(), Foam::endl(), objectRegistry::foundObject(), polyBoundaryMesh::mesh(), Time::New(), Foam::nl, primitiveMesh::reset(), and WarningInFunction.
Referenced by adjointBoundaryCondition< Type >::adjointBoundaryCondition().
boundaryAdjointContribution & getBoundaryAdjContribution |
Get boundaryContribution.
Definition at line 288 of file adjointBoundaryCondition.C.
const ATCModel & getATC |
ATC type might be useful for a number of BCs. Return here.
Definition at line 295 of file adjointBoundaryCondition.C.
|
virtual |
Return contribution to sensitivity derivatives.
For adjoint boundary conditions corresponding to primal boundary conditions that include geometric components (e.g. rotatingWallVelocity)
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 315 of file adjointBoundaryCondition.C.
References Foam::New(), and Foam::Zero.
|
virtual |
Update the primal based quantities related to the adjoint boundary conditions
Definition at line 304 of file adjointBoundaryCondition.C.
|
protected |
Reference to patch.
Definition at line 59 of file adjointBoundaryCondition.H.
|
protected |
objectiveManager name corresponding to field
Definition at line 62 of file adjointBoundaryCondition.H.
Referenced by adjointInletNuaTildaFvPatchScalarField::clone().
|
protected |
adjointSolver name corresponding to field
Definition at line 65 of file adjointBoundaryCondition.H.
Referenced by adjointFarFieldNuaTildaFvPatchScalarField::write(), adjointFarFieldTMVar1FvPatchScalarField::write(), adjointFarFieldTMVar2FvPatchScalarField::write(), adjointInletNuaTildaFvPatchScalarField::write(), adjointOutletKaFvPatchScalarField::write(), adjointOutletNuaTildaFvPatchScalarField::write(), adjointOutletNuaTildaFluxFvPatchScalarField::write(), and adjointOutletWaFvPatchScalarField::write().
|
protected |
simulationType corresponding to field.
A placeholder for now
Definition at line 69 of file adjointBoundaryCondition.H.
|
protected |
Engine to manage contributions of the objective functions to the adjoint boundary conditions
Definition at line 73 of file adjointBoundaryCondition.H.
Referenced by adjointFarFieldNuaTildaFvPatchScalarField::updateCoeffs(), adjointFarFieldTMVar1FvPatchScalarField::updateCoeffs(), adjointFarFieldTMVar2FvPatchScalarField::updateCoeffs(), adjointOutletKaFvPatchScalarField::updateCoeffs(), adjointOutletNuaTildaFvPatchScalarField::updateCoeffs(), adjointOutletWaFvPatchScalarField::updateCoeffs(), adjointFarFieldNuaTildaFvPatchScalarField::valueBoundaryCoeffs(), adjointFarFieldTMVar1FvPatchScalarField::valueBoundaryCoeffs(), adjointFarFieldTMVar2FvPatchScalarField::valueBoundaryCoeffs(), adjointFarFieldNuaTildaFvPatchScalarField::valueInternalCoeffs(), adjointFarFieldTMVar1FvPatchScalarField::valueInternalCoeffs(), and adjointFarFieldTMVar2FvPatchScalarField::valueInternalCoeffs().
Whether to add the extra term from the UaGradU formulation.
autoPtr since ATCModel has not been allocated at the time adjointBoundaryConditions are constructed
Definition at line 79 of file adjointBoundaryCondition.H.