Calculation of adjoint based sensitivities at vol B-Splines control points using the SI or e-SI approach (determined by surface sensitivities) More...
Public Member Functions | |
TypeName ("volumetricBSplines") | |
Runtime type information. More... | |
sensitivityVolBSplines (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver) | |
Construct from components. More... | |
virtual | ~sensitivityVolBSplines ()=default |
Destructor. More... | |
virtual void | assembleSensitivities () |
Assemble sensitivities. More... | |
virtual void | clearSensitivities () |
Zero sensitivity fields and their constituents. More... | |
virtual void | write (const word &baseName=word::null) |
Write sensitivities to file. More... | |
Public Member Functions inherited from SIBase | |
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... | |
const sensitivitySurface & | getSurfaceSensitivities () const |
Return reference to underlaying surface sensitivities. 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 | computeObjectiveContributions () |
void | computeBCContributions () |
Protected Member Functions inherited from SIBase | |
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... | |
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... | |
Calculation of adjoint based sensitivities at vol B-Splines control points using the SI or e-SI approach (determined by surface sensitivities)
Definition at line 53 of file sensitivityVolBSplinesIncompressible.H.
sensitivityVolBSplines | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
incompressibleAdjointSolver & | adjointSolver | ||
) |
Construct from components.
Definition at line 136 of file sensitivityVolBSplinesIncompressible.C.
References Foam::mkDir(), and Foam::Zero.
|
virtualdefault |
Destructor.
|
protected |
Definition at line 47 of file sensitivityVolBSplinesIncompressible.C.
References volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), sensitivityVolBSplines::dndbSens_, shapeSensitivities::dnfdbMult_, sensitivityVolBSplines::dSdbSens_, shapeSensitivities::dSfdbMult_, shapeSensitivities::dxdbDirectMult_, sensitivityVolBSplines::dxdbDirectSens_, forAll, Foam::gSum(), SIBase::includeObjective_, UList< T >::size(), UPtrList< T >::size(), sensitivityVolBSplines::volBSplinesBase_, and Foam::Zero.
Referenced by sensitivityVolBSplines::assembleSensitivities().
|
protected |
Definition at line 109 of file sensitivityVolBSplinesIncompressible.C.
References shapeSensitivities::bcDxDbMult_, sensitivityVolBSplines::bcSens_, volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), forAll, UList< T >::size(), and sensitivityVolBSplines::volBSplinesBase_.
Referenced by sensitivityVolBSplines::assembleSensitivities().
TypeName | ( | "volumetricBSplines" | ) |
Runtime type information.
|
virtual |
Assemble sensitivities.
Implements SIBase.
Definition at line 172 of file sensitivityVolBSplinesIncompressible.C.
References sensitivitySurface::assembleSensitivities(), sensitivityVolBSplines::bcSens_, volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), sensitivityVolBSplines::computeBCContributions(), sensitivityVolBSplines::computeObjectiveContributions(), adjointSensitivity::derivatives_, sensitivityVolBSplines::dndbSens_, sensitivityVolBSplines::dSdbSens_, sensitivityVolBSplines::dxdbDirectSens_, sensitivityVolBSplines::flowSens_, forAll, UList< T >::size(), SIBase::surfaceSensitivity_, and sensitivityVolBSplines::volBSplinesBase_.
|
virtual |
Zero sensitivity fields and their constituents.
Reimplemented from SIBase.
Definition at line 238 of file sensitivityVolBSplinesIncompressible.C.
References sensitivityVolBSplines::bcSens_, SIBase::clearSensitivities(), sensitivityVolBSplines::dndbSens_, sensitivityVolBSplines::dSdbSens_, sensitivityVolBSplines::dxdbDirectSens_, and sensitivityVolBSplines::flowSens_.
|
virtual |
Write sensitivities to file.
Reimplemented from SIBase.
Definition at line 250 of file sensitivityVolBSplinesIncompressible.C.
References adjointSensitivity::adjointVars_, sensitivityVolBSplines::bcSens_, volBSplinesBase::boxesRef(), IOstream::defaultPrecision(), adjointSensitivity::derivatives_, sensitivityVolBSplines::derivativesFolder_, sensitivityVolBSplines::dndbSens_, sensitivityVolBSplines::dSdbSens_, sensitivityVolBSplines::dxdbDirectSens_, Foam::endl(), sensitivityVolBSplines::flowSens_, forAll, Foam::Info, UPstream::master(), Foam::max(), sensitivity::mesh_, Foam::name(), Foam::setw(), UList< T >::size(), UPtrList< T >::size(), variablesSet::solverName(), fvMesh::time(), Time::timeName(), sensitivityVolBSplines::volBSplinesBase_, and SIBase::write().
|
protected |
Reference to underlaying volumetric B-Splines morpher.
Definition at line 64 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::computeBCContributions(), sensitivityVolBSplines::computeObjectiveContributions(), and sensitivityVolBSplines::write().
|
protected |
Flow related term.
Definition at line 69 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::clearSensitivities(), and sensitivityVolBSplines::write().
|
protected |
Term depending on delta(n dS)/delta b.
Definition at line 74 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::clearSensitivities(), sensitivityVolBSplines::computeObjectiveContributions(), and sensitivityVolBSplines::write().
|
protected |
Term depending on delta (n)/delta b.
Definition at line 79 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::clearSensitivities(), sensitivityVolBSplines::computeObjectiveContributions(), and sensitivityVolBSplines::write().
|
protected |
Term depending on dxdb for objective functions directly depending on x.
Definition at line 85 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::clearSensitivities(), sensitivityVolBSplines::computeObjectiveContributions(), and sensitivityVolBSplines::write().
|
protected |
Term dependng on the differentiation of boundary conditions.
Definition at line 90 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::assembleSensitivities(), sensitivityVolBSplines::clearSensitivities(), sensitivityVolBSplines::computeBCContributions(), and sensitivityVolBSplines::write().
|
protected |
Definition at line 92 of file sensitivityVolBSplinesIncompressible.H.
Referenced by sensitivityVolBSplines::write().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.