Loading...
Searching...
No Matches
sensitivityMultiple Class Reference

Calculation of adjoint based sensitivities of multiple types. More...

#include <sensitivityMultiple.H>

Inheritance diagram for sensitivityMultiple:
Collaboration diagram for sensitivityMultiple:

Public Member Functions

 TypeName ("multiple")
 Runtime type information.
 sensitivityMultiple (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver)
 Construct from components.
virtual ~sensitivityMultiple ()=default
 Destructor.
virtual bool readDict (const dictionary &dict)
 Read dict if changed.
virtual void accumulateIntegrand (const scalar dt)
 Accumulate sensitivity integrands.
virtual void assembleSensitivities (autoPtr< designVariables > &designVars)
 Assemble sensitivities.
const scalarFieldcalculateSensitivities (autoPtr< designVariables > &designVars)
 Calculates sensitivities at wall surface points.
virtual void clearSensitivities ()
 Zero sensitivity fields and their constituents.
virtual void write (const word &baseName=word::null)
 Write sensitivities to file.
Public Member Functions inherited from adjointSensitivity
 TypeName ("adjointSensitivity")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, adjointSensitivity, dictionary,(const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver),(mesh, dict, adjointSolver))
 adjointSensitivity (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver)
 Construct from components.
virtual ~adjointSensitivity ()=default
 Destructor.
const adjointSolvergetAdjointSolver () const
 Const access to adjoint solver.
adjointSolvergetAdjointSolver ()
 Non-const access to adjoint solver.
bool includeDistance () const
 Should the adjoint eikonal PDE should be solved.
autoPtr< adjointEikonalSolver > & getAdjointEikonalSolver ()
 Return the adjoint eikonal solver.
autoPtr< adjointMeshMovementSolver > & getAdjointMeshMovementSolver ()
 Return the adjoint eikonal solver.
void setSuffix (const word &suffix)
 Set suffix.
const wordgetSuffix () const
 Get suffix.
virtual bool computeDxDbInternalField () const
 Should the parameterization compute the internalField of dxdb.
const scalarFieldgetSensitivities () const
 Returns the sensitivity fields.
const autoPtr< volTensorField > & gradDxDbMult () const
autoPtr< volTensorField > & gradDxDbMult ()
const autoPtr< scalarField > & divDxDbMult () const
const autoPtr< boundaryVectorField > & dxdbMult () const
const autoPtr< boundaryVectorField > & dSfdbMult () const
const autoPtr< boundaryVectorField > & dnfdbMult () const
const autoPtr< boundaryVectorField > & dxdbDirectMult () const
const autoPtr< pointBoundaryVectorField > & pointDxDbDirectMult () const
const autoPtr< boundaryVectorField > & bcDxDbMult () const
const autoPtr< vectorField > & optionsDxDbMult () const
Public Member Functions inherited from sensitivity
 TypeName ("sensitivity")
 Runtime type information.
 sensitivity (const fvMesh &mesh, const dictionary &dict)
 Construct from components.
virtual ~sensitivity ()=default
 Destructor.
const fvMeshmesh () const
 Return reference to mesh.
const dictionarydict () const
 Return the construction dictionary.
const autoPtr< volScalarField > & fieldSensPtr () const
 Get the fieldSensPtr.

Protected Attributes

wordList sensTypes_
PtrList< adjointSensitivity > sens_
Protected Attributes inherited from adjointSensitivity
adjointSolveradjointSolver_
 Reference to the underlaying adjoint solver.
scalarField derivatives_
 The sensitivity derivative values.
word suffix_
 Append this word to files related to the sensitivities.
bool includeDistance_
 Include distance variation in sensitivity computations.
autoPtr< adjointEikonalSolvereikonalSolver_
 Adjoint eikonal equation solver.
autoPtr< adjointMeshMovementSolveradjointMeshMovementSolver_
 Adjoint grid displacement solver.
autoPtr< volTensorFieldgradDxDbMult_
 Multiplier of grad(dx/b).
autoPtr< scalarFielddivDxDbMult_
 Multiplier of div(dx/db).
autoPtr< boundaryVectorFielddxdbMult_
 Multiplier of face dx/db.
autoPtr< boundaryVectorFielddSfdbMult_
 Multiplier of dSf/db.
autoPtr< boundaryVectorFielddnfdbMult_
 Multiplier of dnf/db.
autoPtr< boundaryVectorFielddxdbDirectMult_
 Multiplier of dCf/db, found in the objective function.
autoPtr< pointBoundaryVectorFieldpointDxDbDirectMult_
 Multiplier of dx/db computed at points, found in the objective function.
autoPtr< boundaryVectorFieldbcDxDbMult_
 Multiplier of dx/db, coming from boundary conditions that depend on the geometry, like rotatingWallVelocity.
autoPtr< vectorFieldoptionsDxDbMult_
 dx/db multiplier coming from fvOptions
Protected Attributes inherited from sensitivity
const fvMeshmesh_
dictionary dict_
bool writeFieldSens_
autoPtr< volScalarFieldfieldSensPtr_

Additional Inherited Members

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

Detailed Description

Calculation of adjoint based sensitivities of multiple types.

Source files

Definition at line 48 of file sensitivityMultiple.H.

Constructor & Destructor Documentation

◆ sensitivityMultiple()

sensitivityMultiple ( const fvMesh & mesh,
const dictionary & dict,
adjointSolver & adjointSolver )

Construct from components.

Definition at line 44 of file sensitivityMultiple.C.

References sensitivity::dict(), forAll, sensitivity::mesh(), adjointSensitivity::New(), sens_, and sensTypes_.

Here is the call graph for this function:

◆ ~sensitivityMultiple()

virtual ~sensitivityMultiple ( )
virtualdefault

Destructor.

References sensitivity::dict(), and word::null.

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "multiple" )

Runtime type information.

References sensitivity::dict(), and sensitivity::mesh().

Here is the call graph for this function:

◆ readDict()

bool readDict ( const dictionary & dict)
virtual

Read dict if changed.

Reimplemented from adjointSensitivity.

Definition at line 74 of file sensitivityMultiple.C.

References sensitivity::dict(), forAll, adjointSensitivity::readDict(), sens_, and sensTypes_.

Here is the call graph for this function:

◆ accumulateIntegrand()

void accumulateIntegrand ( const scalar dt)
virtual

Accumulate sensitivity integrands.

Implements adjointSensitivity.

Definition at line 90 of file sensitivityMultiple.C.

References forAll, and sens_.

◆ assembleSensitivities()

void assembleSensitivities ( autoPtr< designVariables > & designVars)
virtual

Assemble sensitivities.

Reimplemented from adjointSensitivity.

Definition at line 99 of file sensitivityMultiple.C.

References forAll, and sens_.

◆ calculateSensitivities()

const scalarField & calculateSensitivities ( autoPtr< designVariables > & designVars)
virtual

Calculates sensitivities at wall surface points.

Reimplemented from adjointSensitivity.

Definition at line 111 of file sensitivityMultiple.C.

References adjointSensitivity::derivatives_, Foam::endl(), forAll, Foam::Info, sens_, sensTypes_, Foam::type(), and write().

Here is the call graph for this function:

◆ clearSensitivities()

void clearSensitivities ( )
virtual

Zero sensitivity fields and their constituents.

Reimplemented from adjointSensitivity.

Definition at line 127 of file sensitivityMultiple.C.

References forAll, and sens_.

◆ write()

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

Write sensitivities to file.

Reimplemented from adjointSensitivity.

Definition at line 136 of file sensitivityMultiple.C.

References forAll, sens_, and sensTypes_.

Member Data Documentation

◆ sensTypes_

wordList sensTypes_
protected

Definition at line 56 of file sensitivityMultiple.H.

Referenced by calculateSensitivities(), readDict(), sensitivityMultiple(), and write().

◆ sens_


The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/multiple/sensitivityMultiple.H
  • src/optimisation/adjointOptimisation/adjoint/optimisation/adjointSensitivity/adjointSensitivity/multiple/sensitivityMultiple.C