Base class for Field Integral-based sensitivity derivatives. More...
Public Member Functions | |
TypeName ("volumetricBSplinesFI") | |
Runtime type information. More... | |
FIBase (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) | |
Construct from components. More... | |
virtual | ~FIBase ()=default |
Destructor. More... | |
virtual bool | readDict (const dictionary &dict) |
Read dict if changed. More... | |
virtual void | accumulateIntegrand (const scalar dt) |
Accumulate sensitivity integrands. More... | |
virtual void | assembleSensitivities ()=0 |
Assemble sensitivities. More... | |
virtual void | clearSensitivities () |
Zero sensitivity fields and their constituents. More... | |
![]() | |
TypeName ("shapeSensitivities") | |
Runtime type information. More... | |
shapeSensitivities (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) | |
Construct from components. More... | |
virtual | ~shapeSensitivities ()=default |
Destructor. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivity fields. More... | |
![]() | |
TypeName ("adjointSensitivity") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager),(mesh, dict, primalVars, adjointVars, objectiveManager)) | |
adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) | |
Construct from components. More... | |
virtual | ~adjointSensitivity ()=default |
Destructor. More... | |
virtual const scalarField & | calculateSensitivities () |
Calculates and returns sensitivity fields. More... | |
const scalarField & | getSensitivities () const |
Returns the sensitivity fields. More... | |
tmp< volTensorField > | computeGradDxDbMultiplier () |
tmp< volVectorField > | adjointMeshMovementSource () |
Compute source term for adjoint mesh movement equation. More... | |
![]() | |
TypeName ("sensitivity") | |
Runtime type information. More... | |
sensitivity (const fvMesh &mesh, const dictionary &dict) | |
Construct from components. More... | |
virtual | ~sensitivity ()=default |
Destructor. More... | |
const dictionary & | dict () const |
Return the construction dictionary. More... | |
virtual void | computeDerivativesSize () |
Compute design variables number. Does nothing in the base. More... | |
Protected Member Functions | |
void | read () |
Read options and update solver pointers if necessary. More... | |
![]() | |
virtual void | accumulateDirectSensitivityIntegrand (const scalar dt) |
Accumulate direct sensitivities. More... | |
virtual void | accumulateBCSensitivityIntegrand (const scalar dt) |
Accumulate sensitivities enamating from the boundary conditions. More... | |
tmp< boundaryVectorField > | dvdbMult () const |
Compute multiplier of dv_i/db. More... | |
Protected Attributes | |
volTensorField | gradDxDbMult_ |
grad(dx/db) multiplier More... | |
scalarField | divDxDbMult_ |
div(dx/db) multiplier More... | |
vectorField | optionsDxDbMult_ |
dx/db multiplier coming from fvOptions More... | |
bool | includeDistance_ |
Include distance variation in sens computation. More... | |
autoPtr< adjointEikonalSolver > | eikonalSolver_ |
Adjoint eikonal equation solver. More... | |
![]() | |
autoPtr< boundaryVectorField > | dSfdbMult_ |
Fields related to direct sensitivities. More... | |
autoPtr< boundaryVectorField > | dnfdbMult_ |
autoPtr< boundaryVectorField > | dxdbDirectMult_ |
autoPtr< boundaryVectorField > | bcDxDbMult_ |
![]() | |
scalarField | derivatives_ |
incompressibleVars & | primalVars_ |
incompressibleAdjointVars & | adjointVars_ |
objectiveManager & | objectiveManager_ |
![]() | |
const fvMesh & | mesh_ |
dictionary | dict_ |
autoPtr< volScalarField > | fieldSensPtr_ |
Additional Inherited Members | |
![]() | |
static autoPtr< adjointSensitivity > | New (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager) |
Return a reference to the selected turbulence model. More... | |
Base class for Field Integral-based sensitivity derivatives.
Definition at line 57 of file FIBaseIncompressible.H.
FIBase | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleVars & | primalVars, | ||
incompressibleAdjointVars & | adjointVars, | ||
objectiveManager & | objectiveManager | ||
) |
Construct from components.
Definition at line 79 of file FIBaseIncompressible.C.
References Foam::read().
|
virtualdefault |
Destructor.
|
protected |
Read options and update solver pointers if necessary.
Definition at line 49 of file FIBaseIncompressible.C.
References incompressibleAdjointVars::adjointTurbulence(), adjointSensitivity::adjointVars_, sensitivity::dict_, FIBase::eikonalSolver_, dictionary::getOrDefault(), FIBase::includeDistance_, sensitivity::mesh_, adjointSensitivity::primalVars_, and incompressibleVars::RASModelVariables().
Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), and sensitivityBezierFI::read().
TypeName | ( | "volumetricBSplinesFI" | ) |
Runtime type information.
|
virtual |
Read dict if changed.
Reimplemented from sensitivity.
Definition at line 120 of file FIBaseIncompressible.C.
References sensitivity::dict(), FIBase::eikonalSolver_, and sensitivity::readDict().
|
virtual |
Accumulate sensitivity integrands.
Implements shapeSensitivities.
Definition at line 136 of file FIBaseIncompressible.C.
References shapeSensitivities::accumulateBCSensitivityIntegrand(), shapeSensitivities::accumulateDirectSensitivityIntegrand(), adjointSensitivity::adjointVars_, adjointSensitivity::computeGradDxDbMultiplier(), FIBase::divDxDbMult_, FIBase::eikonalSolver_, Foam::func(), objectiveManager::getObjectiveFunctions(), FIBase::gradDxDbMult_, FIBase::includeDistance_, sensitivity::mesh_, options::New(), adjointSensitivity::objectiveManager_, FIBase::optionsDxDbMult_, optionList::postProcessSens(), variablesSet::solverName(), and Foam::T().
|
pure virtual |
Assemble sensitivities.
Implements shapeSensitivities.
Implemented in sensitivityBezierFI, and sensitivityVolBSplinesFI.
|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from shapeSensitivities.
Reimplemented in sensitivityBezierFI, and sensitivityVolBSplinesFI.
Definition at line 170 of file FIBaseIncompressible.C.
References shapeSensitivities::clearSensitivities(), FIBase::divDxDbMult_, FIBase::eikonalSolver_, FIBase::gradDxDbMult_, FIBase::includeDistance_, FIBase::optionsDxDbMult_, VectorSpace< Vector< scalar >, scalar, 3 >::zero, and Foam::Zero.
Referenced by sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityBezierFI::clearSensitivities().
|
protected |
grad(dx/db) multiplier
Definition at line 66 of file FIBaseIncompressible.H.
Referenced by FIBase::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and FIBase::clearSensitivities().
|
protected |
div(dx/db) multiplier
Definition at line 69 of file FIBaseIncompressible.H.
Referenced by FIBase::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and FIBase::clearSensitivities().
|
protected |
dx/db multiplier coming from fvOptions
Definition at line 72 of file FIBaseIncompressible.H.
Referenced by FIBase::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), and FIBase::clearSensitivities().
|
protected |
Include distance variation in sens computation.
Definition at line 75 of file FIBaseIncompressible.H.
Referenced by FIBase::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), FIBase::clearSensitivities(), and FIBase::read().
|
protected |
Adjoint eikonal equation solver.
Definition at line 78 of file FIBaseIncompressible.H.
Referenced by FIBase::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityBezierFI::assembleSensitivities(), FIBase::clearSensitivities(), FIBase::read(), and FIBase::readDict().