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... | |
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 const scalarField & | calculateSensitivities () |
Calculates and returns sensitivity fields. More... | |
const scalarField & | getSensitivities () const |
Returns the sensitivity fields. More... | |
tmp< volTensorField > | computeGradDxDbMultiplier () |
Compute the volTensorField multiplying grad(dxdb) for the volume-based approach to compute shape sensitivity derivatives. More... | |
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 void | computeDerivativesSize () |
Compute design variables number. Does nothing in the base. 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 53 of file SIBaseIncompressible.H.
SIBase | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleAdjointSolver & | adjointSolver | ||
) |
Construct from components.
Definition at line 72 of file SIBaseIncompressible.C.
References Foam::read().
|
virtualdefault |
Destructor.
|
protected |
Read options from dict.
Definition at line 41 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_.
TypeName | ( | "volumetricBSplinesFI" | ) |
Runtime type information.
|
virtual |
Read dict if changed.
Reimplemented from sensitivity.
Definition at line 98 of file SIBaseIncompressible.C.
References sensitivity::dict(), dictionary::optionalSubDict(), sensitivity::readDict(), sensitivitySurface::readDict(), and SIBase::surfaceSensitivity_.
|
virtual |
Accumulate sensitivity integrands.
Implements shapeSensitivities.
Definition at line 114 of file SIBaseIncompressible.C.
References shapeSensitivities::accumulateBCSensitivityIntegrand(), shapeSensitivities::accumulateDirectSensitivityIntegrand(), sensitivitySurface::accumulateIntegrand(), SIBase::includeObjective_, and SIBase::surfaceSensitivity_.
|
pure virtual |
Assemble sensitivities.
Implements shapeSensitivities.
Implemented in sensitivityVolBSplines, and sensitivityBezier.
|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from shapeSensitivities.
Reimplemented in sensitivityVolBSplines, and sensitivityBezier.
Definition at line 130 of file SIBaseIncompressible.C.
References shapeSensitivities::clearSensitivities(), sensitivitySurface::clearSensitivities(), and SIBase::surfaceSensitivity_.
Referenced by sensitivityBezier::clearSensitivities(), and sensitivityVolBSplines::clearSensitivities().
const sensitivitySurface & getSurfaceSensitivities | ( | ) | const |
Return reference to underlaying surface sensitivities.
Definition at line 137 of file SIBaseIncompressible.C.
References SIBase::surfaceSensitivity_.
|
virtual |
Write sensitivity map.
Reimplemented from shapeSensitivities.
Reimplemented in sensitivityVolBSplines, and sensitivityBezier.
Definition at line 143 of file SIBaseIncompressible.C.
References SIBase::surfaceSensitivity_, shapeSensitivities::write(), sensitivitySurface::write(), and SIBase::writeSensitivityMap_.
Referenced by sensitivityBezier::write(), and sensitivityVolBSplines::write().
|
protected |
Surface sensitivities.
Definition at line 64 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 73 of file SIBaseIncompressible.H.
Referenced by SIBase::accumulateIntegrand(), sensitivityBezier::assembleSensitivities(), sensitivityVolBSplines::computeObjectiveContributions(), and SIBase::read().
|
protected |
Write sensitivity map upon write.
Definition at line 78 of file SIBaseIncompressible.H.
Referenced by SIBase::read(), and SIBase::write().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.