Base class for Surface Integral-based sensitivity derivatives. More...
Public Member Functions | |
TypeName ("volumetricBSplinesFI") | |
Runtime type information. More... | |
SIBase (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
Construct from components. More... | |
virtual | ~SIBase ()=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... | |
const sensitivitySurface & | getSurfaceSensitivities () const |
Return reference to underlaying surface sensitivities. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivity map. More... | |
Public Member Functions inherited from shapeSensitivities | |
TypeName ("shapeSensitivities") | |
Runtime type information. More... | |
shapeSensitivities (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
Construct from components. More... | |
virtual | ~shapeSensitivities ()=default |
Destructor. More... | |
virtual void | accumulateIntegrand (const scalar dt)=0 |
Accumulate sensitivity integrands. More... | |
virtual void | assembleSensitivities ()=0 |
Assemble sensitivities. More... | |
virtual void | clearSensitivities () |
Zero sensitivity fields and their constituents. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivity fields. More... | |
Public Member Functions inherited from adjointSensitivity | |
TypeName ("adjointSensitivity") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver),(mesh, dict, adjointSolver)) | |
adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
Construct from components. More... | |
virtual | ~adjointSensitivity ()=default |
Destructor. More... | |
const incompressibleVars & | primalVars () const |
Get primal variables. More... | |
const incompressibleAdjointVars & | adjointVars () const |
Get adjoint variables. More... | |
const incompressibleAdjointSolver & | adjointSolver () const |
Get adjoint solver. More... | |
virtual void | accumulateIntegrand (const scalar dt)=0 |
Accumulate sensitivity integrands. More... | |
virtual void | assembleSensitivities ()=0 |
Assemble sensitivities. More... | |
virtual const scalarField & | calculateSensitivities () |
Calculates and returns sensitivity fields. More... | |
const scalarField & | getSensitivities () const |
Returns the sensitivity fields. More... | |
virtual void | clearSensitivities () |
Zero sensitivity fields and their constituents. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivity fields. More... | |
tmp< volTensorField > | computeGradDxDbMultiplier () |
tmp< volVectorField > | adjointMeshMovementSource () |
Compute source term for adjoint mesh movement equation. More... | |
Public Member Functions inherited from sensitivity | |
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 bool | readDict (const dictionary &dict) |
Read dictionary if changed. More... | |
virtual void | computeDerivativesSize () |
Compute design variables number. Does nothing in the base. More... | |
virtual const scalarField & | calculateSensitivities ()=0 |
Calculates and returns sensitivity fields. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivity fields. More... | |
Protected Member Functions | |
void | read () |
Read options from dict. More... | |
Protected Member Functions inherited from shapeSensitivities | |
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 | |
sensitivitySurface | surfaceSensitivity_ |
Surface sensitivities. More... | |
bool | includeObjective_ |
Whether to include direct sensitivities or not. More... | |
bool | writeSensitivityMap_ |
Write sensitivity map upon write. More... | |
Protected Attributes inherited from shapeSensitivities | |
autoPtr< boundaryVectorField > | dSfdbMult_ |
Fields related to direct sensitivities. More... | |
autoPtr< boundaryVectorField > | dnfdbMult_ |
autoPtr< boundaryVectorField > | dxdbDirectMult_ |
autoPtr< boundaryVectorField > | bcDxDbMult_ |
Protected Attributes inherited from adjointSensitivity | |
scalarField | derivatives_ |
incompressibleAdjointSolver & | adjointSolver_ |
const incompressibleVars & | primalVars_ |
incompressibleAdjointVars & | adjointVars_ |
objectiveManager & | objectiveManager_ |
Protected Attributes inherited from sensitivity | |
const fvMesh & | mesh_ |
dictionary | dict_ |
autoPtr< volScalarField > | fieldSensPtr_ |
Additional Inherited Members | |
Static Public Member Functions inherited from adjointSensitivity | |
static autoPtr< adjointSensitivity > | New (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) |
Return a reference to the selected turbulence model. More... | |
Base class for Surface Integral-based sensitivity derivatives.
Definition at line 57 of file SIBaseIncompressible.H.
SIBase | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleAdjointSolver & | adjointSolver | ||
) |
Construct from components.
Definition at line 78 of file SIBaseIncompressible.C.
References SIBase::read().
|
virtualdefault |
Destructor.
|
protected |
Read options from dict.
Definition at line 48 of file SIBaseIncompressible.C.
References sensitivity::dict(), Foam::endl(), sensitivitySurface::getIncludeObjective(), dictionary::getOrDefault(), SIBase::includeObjective_, Foam::nl, sensitivitySurface::read(), sensitivitySurface::setIncludeObjective(), sensitivitySurface::setIncludeSurfaceArea(), SIBase::surfaceSensitivity_, WarningInFunction, and SIBase::writeSensitivityMap_.
Referenced by SIBase::SIBase().
TypeName | ( | "volumetricBSplinesFI" | ) |
Runtime type information.
|
virtual |
Read dict if changed.
Reimplemented from sensitivity.
Definition at line 105 of file SIBaseIncompressible.C.
References sensitivity::dict(), dictionary::optionalSubDict(), sensitivitySurface::readDict(), and SIBase::surfaceSensitivity_.
|
virtual |
Accumulate sensitivity integrands.
Implements shapeSensitivities.
Definition at line 121 of file SIBaseIncompressible.C.
References shapeSensitivities::accumulateBCSensitivityIntegrand(), shapeSensitivities::accumulateDirectSensitivityIntegrand(), sensitivitySurface::accumulateIntegrand(), SIBase::includeObjective_, and SIBase::surfaceSensitivity_.
|
pure virtual |
Assemble sensitivities.
Implements shapeSensitivities.
Implemented in sensitivityBezier, and sensitivityVolBSplines.
|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from shapeSensitivities.
Reimplemented in sensitivityBezier, and sensitivityVolBSplines.
Definition at line 137 of file SIBaseIncompressible.C.
References sensitivitySurface::clearSensitivities(), shapeSensitivities::clearSensitivities(), and SIBase::surfaceSensitivity_.
Referenced by sensitivityBezier::clearSensitivities(), and sensitivityVolBSplines::clearSensitivities().
const sensitivitySurface & getSurfaceSensitivities | ( | ) | const |
Return reference to underlaying surface sensitivities.
Definition at line 144 of file SIBaseIncompressible.C.
References SIBase::surfaceSensitivity_.
|
virtual |
Write sensitivity map.
Reimplemented from shapeSensitivities.
Reimplemented in sensitivityBezier, and sensitivityVolBSplines.
Definition at line 150 of file SIBaseIncompressible.C.
References SIBase::surfaceSensitivity_, ObukhovLength::write(), sensitivitySurface::write(), and SIBase::writeSensitivityMap_.
|
protected |
Surface sensitivities.
Definition at line 66 of file SIBaseIncompressible.H.
Referenced by SIBase::accumulateIntegrand(), sensitivityBezier::assembleSensitivities(), sensitivityVolBSplines::assembleSensitivities(), SIBase::clearSensitivities(), SIBase::getSurfaceSensitivities(), SIBase::read(), SIBase::readDict(), and SIBase::write().
|
protected |
Whether to include direct sensitivities or not.
Used to avoid double contributions from both here and the sensitivitySurface object which might have already accounted for them
Definition at line 72 of file SIBaseIncompressible.H.
Referenced by SIBase::accumulateIntegrand(), sensitivityBezier::assembleSensitivities(), sensitivityVolBSplines::computeObjectiveContributions(), and SIBase::read().
|
protected |
Write sensitivity map upon write.
Definition at line 75 of file SIBaseIncompressible.H.
Referenced by SIBase::read(), and SIBase::write().