Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
adjointSensitivity Class Referenceabstract

Abstract base class for adjoint-based sensitivities in incompressible flows. More...

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

Public Member Functions

 TypeName ("adjointSensitivity")
 
 declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager),(mesh, dict, primalVars, adjointVars, objectiveManager))
 
 adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)
 
virtual ~adjointSensitivity ()=default
 
virtual void accumulateIntegrand (const scalar dt)=0
 
virtual void assembleSensitivities ()=0
 
virtual const scalarFieldcalculateSensitivities ()
 
const scalarFieldgetSensitivities () const
 
virtual void clearSensitivities ()
 
virtual void write (const word &baseName=word::null)
 
tmp< volTensorFieldcomputeGradDxDbMultiplier ()
 
tmp< volVectorFieldadjointMeshMovementSource ()
 
- Public Member Functions inherited from sensitivity
 TypeName ("sensitivity")
 
 sensitivity (const fvMesh &mesh, const dictionary &dict)
 
virtual ~sensitivity ()=default
 
const dictionarydict () const
 
virtual bool readDict (const dictionary &dict)
 
virtual void computeDerivativesSize ()
 

Static Public Member Functions

static autoPtr< adjointSensitivityNew (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)
 

Protected Attributes

scalarField derivatives_
 
incompressibleVarsprimalVars_
 
incompressibleAdjointVarsadjointVars_
 
objectiveManagerobjectiveManager_
 
- Protected Attributes inherited from sensitivity
const fvMeshmesh_
 
dictionary dict_
 
autoPtr< volScalarFieldfieldSensPtr_
 

Detailed Description

Abstract base class for adjoint-based sensitivities in incompressible flows.

Reference:

    For the FI and ESI formulations
        Kavvadias, I., Papoutsis-Kiachagias, E., & Giannakoglou, K. (2015).
        On the proper treatment of grid sensitivities in continuous adjoint
        methods for shape optimization.
        Journal of Computational Physics, 301, 1–18.
        http://doi.org/10.1016/j.jcp.2015.08.012

    For the SI formulation
        Papoutsis-Kiachagias, E. M., & Giannakoglou, K. C. (2014).
        Continuous Adjoint Methods for Turbulent Flows, Applied to Shape
        and Topology Optimization: Industrial Applications.
        Archives of Computational Methods in Engineering, 23(2), 255–299.
        http://doi.org/10.1007/s11831-014-9141-9
Source files

Definition at line 71 of file adjointSensitivityIncompressible.H.

Constructor & Destructor Documentation

◆ adjointSensitivity()

adjointSensitivity ( const fvMesh mesh,
const dictionary dict,
incompressibleVars primalVars,
incompressibleAdjointVars adjointVars,
objectiveManager objectiveManager 
)

Definition at line 46 of file adjointSensitivityIncompressible.C.

◆ ~adjointSensitivity()

virtual ~adjointSensitivity ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "adjointSensitivity"  )

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
adjointSensitivity  ,
dictionary  ,
(const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager ,
(mesh, dict, primalVars, adjointVars, objectiveManager  
)

◆ New()

autoPtr< adjointSensitivity > New ( const fvMesh mesh,
const dictionary dict,
incompressibleVars primalVars,
incompressibleAdjointVars adjointVars,
objectiveManager objectiveManager 
)
static

Definition at line 65 of file adjointSensitivityIncompressible.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, Foam::Info, and mesh.

Referenced by adjointSimple::adjointSimple(), and sensitivityMultiple::sensitivityMultiple().

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

◆ accumulateIntegrand()

virtual void accumulateIntegrand ( const scalar  dt)
pure virtual

◆ assembleSensitivities()

virtual void assembleSensitivities ( )
pure virtual

◆ calculateSensitivities()

const scalarField & calculateSensitivities ( )
virtual

Implements sensitivity.

Reimplemented in sensitivityMultiple.

Definition at line 106 of file adjointSensitivityIncompressible.C.

References adjointSensitivity::assembleSensitivities(), adjointSensitivity::derivatives_, Foam::type(), and adjointSensitivity::write().

Here is the call graph for this function:

◆ getSensitivities()

const scalarField & getSensitivities ( ) const

◆ clearSensitivities()

void clearSensitivities ( )
virtual

◆ write()

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

◆ computeGradDxDbMultiplier()

tmp< volTensorField > computeGradDxDbMultiplier ( )

◆ adjointMeshMovementSource()

tmp< volVectorField > adjointMeshMovementSource ( )

Member Data Documentation

◆ derivatives_

scalarField derivatives_
protected

◆ primalVars_

incompressibleVars& primalVars_
protected

◆ adjointVars_

incompressibleAdjointVars& adjointVars_
protected

◆ objectiveManager_

objectiveManager& objectiveManager_
protected

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