shapeSensitivities Class Referenceabstract
Inheritance diagram for shapeSensitivities:
[legend]
Collaboration diagram for shapeSensitivities:
[legend]

Public Member Functions

 TypeName ("shapeSensitivities")
 Runtime type information. More...
 
 shapeSensitivities (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)
 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, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager),(mesh, dict, primalVars, adjointVars, objectiveManager))
 
 adjointSensitivity (const fvMesh &mesh, const dictionary &dict, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)
 Construct from components. More...
 
virtual ~adjointSensitivity ()=default
 Destructor. More...
 
virtual const scalarFieldcalculateSensitivities ()
 Calculates and returns sensitivity fields. More...
 
const scalarFieldgetSensitivities () const
 Returns the 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...
 

Protected Member Functions

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

autoPtr< boundaryVectorFielddSfdbMult_
 Fields related to direct sensitivities. More...
 
autoPtr< boundaryVectorFielddnfdbMult_
 
autoPtr< boundaryVectorFielddxdbDirectMult_
 
autoPtr< boundaryVectorFieldbcDxDbMult_
 
- Protected Attributes inherited from adjointSensitivity
scalarField derivatives_
 
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, incompressibleVars &primalVars, incompressibleAdjointVars &adjointVars, objectiveManager &objectiveManager)
 Return a reference to the selected turbulence model. More...
 

Detailed Description

Definition at line 55 of file shapeSensitivitiesIncompressible.H.

Constructor & Destructor Documentation

◆ shapeSensitivities()

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

Construct from components.

Definition at line 132 of file shapeSensitivitiesIncompressible.C.

◆ ~shapeSensitivities()

virtual ~shapeSensitivities ( )
virtualdefault

Destructor.

Member Function Documentation

◆ accumulateDirectSensitivityIntegrand()

void accumulateDirectSensitivityIntegrand ( const scalar  dt)
protectedvirtual

Accumulate direct sensitivities.

Definition at line 47 of file shapeSensitivitiesIncompressible.C.

References fvMesh::boundary(), shapeSensitivities::dnfdbMult_, shapeSensitivities::dSfdbMult_, shapeSensitivities::dxdbDirectMult_, Foam::func(), objectiveManager::getObjectiveFunctions(), sensitivity::mesh_, and adjointSensitivity::objectiveManager_.

Referenced by SIBase::accumulateIntegrand(), and FIBase::accumulateIntegrand().

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

◆ accumulateBCSensitivityIntegrand()

void accumulateBCSensitivityIntegrand ( const scalar  dt)
protectedvirtual

Accumulate sensitivities enamating from the boundary conditions.

Definition at line 66 of file shapeSensitivitiesIncompressible.C.

References adjointSensitivity::adjointVars_, shapeSensitivities::bcDxDbMult_, fvMesh::boundary(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), shapeSensitivities::dvdbMult(), sensitivity::mesh_, and incompressibleAdjointMeanFlowVars::Ua().

Referenced by SIBase::accumulateIntegrand(), and FIBase::accumulateIntegrand().

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

◆ dvdbMult()

tmp< boundaryVectorField > dvdbMult ( ) const
protected

Compute multiplier of dv_i/db.

Definition at line 88 of file shapeSensitivitiesIncompressible.C.

References incompressibleAdjointVars::adjointTurbulence(), adjointSensitivity::adjointVars_, GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Foam::fvc::grad(), incompressibleVars::laminarTransport(), singlePhaseTransportModel::nu(), incompressibleAdjointMeanFlowVars::pa(), Foam::foamVersion::patch, adjointSensitivity::primalVars_, incompressibleVars::RASModelVariables(), tmp< T >::ref(), and incompressibleAdjointMeanFlowVars::Ua().

Referenced by shapeSensitivities::accumulateBCSensitivityIntegrand().

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

◆ TypeName()

TypeName ( "shapeSensitivities"  )

Runtime type information.

◆ accumulateIntegrand()

virtual void accumulateIntegrand ( const scalar  dt)
pure virtual

Accumulate sensitivity integrands.

Implements adjointSensitivity.

Implemented in FIBase, and SIBase.

◆ assembleSensitivities()

virtual void assembleSensitivities ( )
pure virtual

◆ clearSensitivities()

void clearSensitivities ( )
virtual

Zero sensitivity fields and their constituents.

Reimplemented from adjointSensitivity.

Reimplemented in sensitivityBezierFI, sensitivityVolBSplinesFI, FIBase, sensitivityVolBSplines, SIBase, and sensitivityBezier.

Definition at line 158 of file shapeSensitivitiesIncompressible.C.

References shapeSensitivities::bcDxDbMult_, adjointSensitivity::clearSensitivities(), shapeSensitivitiesBase::clearSensitivities(), shapeSensitivities::dnfdbMult_, shapeSensitivities::dSfdbMult_, shapeSensitivities::dxdbDirectMult_, and VectorSpace< Vector< scalar >, scalar, 3 >::zero.

Referenced by SIBase::clearSensitivities(), and FIBase::clearSensitivities().

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

◆ write()

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

Write sensitivity fields.

Reimplemented from adjointSensitivity.

Reimplemented in sensitivityBezierFI, sensitivityVolBSplinesFI, sensitivityVolBSplines, SIBase, and sensitivityBezier.

Definition at line 170 of file shapeSensitivitiesIncompressible.C.

References adjointSensitivity::write(), and shapeSensitivitiesBase::write().

Referenced by SIBase::write().

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

Member Data Documentation

◆ dSfdbMult_

◆ dnfdbMult_

◆ dxdbDirectMult_

◆ bcDxDbMult_


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