Public Member Functions | Protected Attributes | List of all members
sensitivityVolBSplinesFI Class Reference

Calculation of adjoint based sensitivities at vol B-Splines control points using the FI approach. More...

Inheritance diagram for sensitivityVolBSplinesFI:
Inheritance graph
[legend]
Collaboration diagram for sensitivityVolBSplinesFI:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("volumetricBSplinesFI")
 Runtime type information. More...
 
 sensitivityVolBSplinesFI (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver)
 Construct from components. More...
 
virtual ~sensitivityVolBSplinesFI ()=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 FIBase
 TypeName ("volumetricBSplinesFI")
 Runtime type information. More...
 
 FIBase (const fvMesh &mesh, const dictionary &dict, incompressibleAdjointSolver &adjointSolver)
 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...
 
- 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 incompressibleVarsprimalVars () const
 Get primal variables. More...
 
const incompressibleAdjointVarsadjointVars () const
 Get adjoint variables. More...
 
const incompressibleAdjointSolveradjointSolver () const
 Get adjoint solver. More...
 
virtual const scalarFieldcalculateSensitivities ()
 Calculates and returns sensitivity fields. More...
 
const scalarFieldgetSensitivities () const
 Returns the sensitivity fields. More...
 
tmp< volTensorFieldcomputeGradDxDbMultiplier ()
 Compute the volTensorField multiplying grad(dxdb) for the volume-based approach to compute shape sensitivity derivatives. More...
 
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 void computeDerivativesSize ()
 Compute design variables number. Does nothing in the base. 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_
 Term depending on delta(x)/delta b for objectives that directly depend on x. More...
 
vectorField dVdbSens_
 Term depending on delta(V)/delta b. More...
 
vectorField distanceSens_
 Term depending on distance differentiation. More...
 
vectorField optionsSens_
 Term depending on fvOptions. More...
 
vectorField bcSens_
 Term depending on the differentiation of boundary conditions. More...
 
fileName derivativesFolder_
 
- Protected Attributes inherited from FIBase
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< adjointEikonalSolvereikonalSolver_
 Adjoint eikonal equation solver. 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...
 
- Protected Member Functions inherited from FIBase
void read ()
 Read options and update solver pointers if necessary. 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...
 

Detailed Description

Calculation of adjoint based sensitivities at vol B-Splines control points using the FI approach.

Source files

Definition at line 53 of file sensitivityVolBSplinesFIIncompressible.H.

Constructor & Destructor Documentation

◆ sensitivityVolBSplinesFI()

sensitivityVolBSplinesFI ( const fvMesh mesh,
const dictionary dict,
incompressibleAdjointSolver adjointSolver 
)

Construct from components.

Definition at line 49 of file sensitivityVolBSplinesFIIncompressible.C.

References Foam::mkDir(), and Foam::Zero.

Here is the call graph for this function:

◆ ~sensitivityVolBSplinesFI()

virtual ~sensitivityVolBSplinesFI ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "volumetricBSplinesFI"  )

Runtime type information.

◆ assembleSensitivities()

void assembleSensitivities ( )
virtual

◆ clearSensitivities()

void clearSensitivities ( )
virtual

◆ write()

void write ( const word baseName = word::null)
virtual

Member Data Documentation

◆ volBSplinesBase_

volBSplinesBase& volBSplinesBase_
protected

Reference to underlaying volumetric B-Splines morpher.

Definition at line 64 of file sensitivityVolBSplinesFIIncompressible.H.

Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), and sensitivityVolBSplinesFI::write().

◆ flowSens_

vectorField flowSens_
protected

◆ dSdbSens_

vectorField dSdbSens_
protected

◆ dndbSens_

vectorField dndbSens_
protected

◆ dxdbDirectSens_

vectorField dxdbDirectSens_
protected

Term depending on delta(x)/delta b for objectives that directly depend on x.

Definition at line 85 of file sensitivityVolBSplinesFIIncompressible.H.

Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

◆ dVdbSens_

vectorField dVdbSens_
protected

◆ distanceSens_

vectorField distanceSens_
protected

◆ optionsSens_

vectorField optionsSens_
protected

◆ bcSens_

vectorField bcSens_
protected

Term depending on the differentiation of boundary conditions.

Definition at line 105 of file sensitivityVolBSplinesFIIncompressible.H.

Referenced by sensitivityVolBSplinesFI::assembleSensitivities(), sensitivityVolBSplinesFI::clearSensitivities(), and sensitivityVolBSplinesFI::write().

◆ derivativesFolder_

fileName derivativesFolder_
protected

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