sensitivityVolBSplines Class Reference

Calculation of adjoint based sensitivities at vol B-Splines control points using the SI or e-SI approach (determined by surface sensitivities) More...

Inheritance diagram for sensitivityVolBSplines:
[legend]
Collaboration diagram for sensitivityVolBSplines:
[legend]

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...
 
virtual void assembleSensitivities ()=0
 Assemble sensitivities. More...
 
virtual void clearSensitivities ()
 Zero sensitivity fields and their constituents. More...
 
const sensitivitySurfacegetSurfaceSensitivities () 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 incompressibleVarsprimalVars () const
 Get primal variables. More...
 
const incompressibleAdjointVarsadjointVars () const
 Get adjoint variables. More...
 
const incompressibleAdjointSolveradjointSolver () 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 scalarFieldcalculateSensitivities ()
 Calculates and returns sensitivity fields. More...
 
const scalarFieldgetSensitivities () 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< volTensorFieldcomputeGradDxDbMultiplier ()
 
tmp< volVectorFieldadjointMeshMovementSource ()
 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 dictionarydict () 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 scalarFieldcalculateSensitivities ()=0
 Calculates and returns sensitivity fields. More...
 
virtual void write (const word &baseName=word::null)
 Write sensitivity fields. 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< boundaryVectorFielddvdbMult () const
 Compute multiplier of dv_i/db. More...
 

Protected Attributes

volBSplinesBasevolBSplinesBase_
 Reference to underlaying volumetric B-Splines morpher. More...
 
vectorField flowSens_
 Flow related term. More...
 
vectorField dSdbSens_
 Term depending on delta(n dS)/delta b. More...
 
vectorField dndbSens_
 Term depending on delta (n)/delta b. More...
 
vectorField dxdbDirectSens_
 
vectorField bcSens_
 Term dependng on the differentiation of boundary conditions. More...
 
fileName derivativesFolder_
 
- Protected Attributes inherited from SIBase
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< boundaryVectorFielddSfdbMult_
 Fields related to direct sensitivities. More...
 
autoPtr< boundaryVectorFielddnfdbMult_
 
autoPtr< boundaryVectorFielddxdbDirectMult_
 
autoPtr< boundaryVectorFieldbcDxDbMult_
 
- Protected Attributes inherited from adjointSensitivity
scalarField derivatives_
 
incompressibleAdjointSolveradjointSolver_
 
const incompressibleVarsprimalVars_
 
incompressibleAdjointVarsadjointVars_
 
objectiveManagerobjectiveManager_
 
- Protected Attributes inherited from sensitivity
const fvMeshmesh_
 
dictionary dict_
 
autoPtr< volScalarFieldfieldSensPtr_
 

Additional Inherited Members

- Static Public Member Functions inherited from adjointSensitivity
static autoPtr< adjointSensitivityNew (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver)
 Return a reference to the selected turbulence model. More...
 

Detailed Description

Calculation of adjoint based sensitivities at vol B-Splines control points using the SI or e-SI approach (determined by surface sensitivities)

Source files

Definition at line 57 of file sensitivityVolBSplinesIncompressible.H.

Constructor & Destructor Documentation

◆ sensitivityVolBSplines()

◆ ~sensitivityVolBSplines()

virtual ~sensitivityVolBSplines ( )
virtualdefault

Destructor.

Member Function Documentation

◆ computeObjectiveContributions()

void computeObjectiveContributions ( )
protected

Definition at line 54 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_, UPtrList< T >::size(), UList< T >::size(), sensitivityVolBSplines::volBSplinesBase_, and Foam::Zero.

Referenced by sensitivityVolBSplines::assembleSensitivities().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeBCContributions()

void computeBCContributions ( )
protected

Definition at line 116 of file sensitivityVolBSplinesIncompressible.C.

References shapeSensitivities::bcDxDbMult_, sensitivityVolBSplines::bcSens_, volBSplinesBase::boundControlPointMovement(), volBSplinesBase::boxesRef(), forAll, UList< T >::size(), and sensitivityVolBSplines::volBSplinesBase_.

Referenced by sensitivityVolBSplines::assembleSensitivities().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "volumetricBSplines"  )

Runtime type information.

◆ assembleSensitivities()

◆ clearSensitivities()

void clearSensitivities ( )
virtual

Zero sensitivity fields and their constituents.

Reimplemented from SIBase.

Definition at line 245 of file sensitivityVolBSplinesIncompressible.C.

References sensitivityVolBSplines::bcSens_, SIBase::clearSensitivities(), sensitivityVolBSplines::dndbSens_, sensitivityVolBSplines::dSdbSens_, sensitivityVolBSplines::dxdbDirectSens_, and sensitivityVolBSplines::flowSens_.

Here is the call graph for this function:

◆ write()

Member Data Documentation

◆ volBSplinesBase_

◆ flowSens_

◆ dSdbSens_

◆ dndbSens_

◆ dxdbDirectSens_

◆ bcSens_

◆ derivativesFolder_


The documentation for this class was generated from the following files: