#include <sensitivityTopO.H>


Public Member Functions | |
| TypeName ("topO") | |
| Runtime type information. | |
| sensitivityTopO (const fvMesh &mesh, const dictionary &dict, adjointSolver &adjointSolver) | |
| Construct from components. | |
| virtual | ~sensitivityTopO ()=default |
| Destructor. | |
| virtual bool | readDict (const dictionary &dict) |
| Read dictionary if changed. | |
| virtual void | accumulateIntegrand (const scalar dt) |
| Accumulate sensitivity integrands. | |
| virtual void | assembleSensitivities (autoPtr< designVariables > &designVars) |
| Assemble sensitivities. | |
| void | postProcessSens (scalarField &sens, scalarField &auxSens, const word &fieldName) |
| Add part of the sensitivities coming from fvOptions. | |
| 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 adjointSolver & | getAdjointSolver () const |
| Const access to adjoint solver. | |
| adjointSolver & | getAdjointSolver () |
| 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 word & | getSuffix () const |
| Get suffix. | |
| virtual bool | computeDxDbInternalField () const |
| Should the parameterization compute the internalField of dxdb. | |
| virtual const scalarField & | calculateSensitivities (autoPtr< designVariables > &designVars) |
| Calculates and returns sensitivity fields. | |
| const scalarField & | getSensitivities () const |
| Returns the sensitivity fields. | |
| virtual void | clearSensitivities () |
| Zero sensitivity fields and their constituents. | |
| virtual void | write (const word &baseName=word::null) |
| Write 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 fvMesh & | mesh () const |
| Return reference to mesh. | |
| const dictionary & | dict () const |
| Return the construction dictionary. | |
| const autoPtr< volScalarField > & | fieldSensPtr () const |
| Get the fieldSensPtr. | |
Static Public Member Functions | |
| static void | postProcessSens (scalarField &sens, scalarField &auxSens, fv::options &fvOptions, const word &fieldName, const word &designVariablesName) |
| Add part of the sensitivities coming from fvOptions. | |
| template<class Type, template< class > class PatchField, class GeoMesh> | |
| static void | postProcessAuxSens (const GeometricField< Type, PatchField, GeoMesh > &primal, const GeometricField< Type, PatchField, GeoMesh > &adjoint, fv::options &fvOptions, const word &fieldName, scalarField &auxSens) |
| Potentially manipulate auxSens within the fvOption before adding the part related to the design variables. | |
| 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. | |
Protected Member Functions | |
| void | zeroSensInFixedPorousZones (scalarField &sens) |
| Zero sensitivities in fixed porous zones. | |
Protected Attributes | |
| topOZones | zones_ |
| Zones related to topology optimisation. | |
| word | designVariablesName_ |
| Name used as the argument for the post-processing of the sensitivities through fvOptions. | |
| Protected Attributes inherited from adjointSensitivity | |
| adjointSolver & | adjointSolver_ |
| 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< adjointEikonalSolver > | eikonalSolver_ |
| Adjoint eikonal equation solver. | |
| autoPtr< adjointMeshMovementSolver > | adjointMeshMovementSolver_ |
| Adjoint grid displacement solver. | |
| autoPtr< volTensorField > | gradDxDbMult_ |
| Multiplier of grad(dx/b). | |
| autoPtr< scalarField > | divDxDbMult_ |
| Multiplier of div(dx/db). | |
| autoPtr< boundaryVectorField > | dxdbMult_ |
| Multiplier of face dx/db. | |
| autoPtr< boundaryVectorField > | dSfdbMult_ |
| Multiplier of dSf/db. | |
| autoPtr< boundaryVectorField > | dnfdbMult_ |
| Multiplier of dnf/db. | |
| autoPtr< boundaryVectorField > | dxdbDirectMult_ |
| Multiplier of dCf/db, found in the objective function. | |
| autoPtr< pointBoundaryVectorField > | pointDxDbDirectMult_ |
| Multiplier of dx/db computed at points, found in the objective function. | |
| autoPtr< boundaryVectorField > | bcDxDbMult_ |
| Multiplier of dx/db, coming from boundary conditions that depend on the geometry, like rotatingWallVelocity. | |
| autoPtr< vectorField > | optionsDxDbMult_ |
| dx/db multiplier coming from fvOptions | |
| Protected Attributes inherited from sensitivity | |
| const fvMesh & | mesh_ |
| dictionary | dict_ |
| bool | writeFieldSens_ |
| autoPtr< volScalarField > | fieldSensPtr_ |
Definition at line 53 of file sensitivityTopO.H.
| sensitivityTopO | ( | const fvMesh & | mesh, |
| const dictionary & | dict, | ||
| adjointSolver & | adjointSolver ) |
Construct from components.
Definition at line 86 of file sensitivityTopO.C.
References Foam::createZeroFieldPtr(), adjointSensitivity::derivatives_, designVariablesName_, sensitivity::dict(), sensitivity::dict_, Foam::dimLength, Foam::dimTime, adjointSensitivity::eikonalSolver_, sensitivity::fieldSensPtr_, adjointSensitivity::includeDistance_, sensitivity::mesh(), sensitivity::mesh_, Foam::pow5(), solver::solverName(), Foam::sqr(), Foam::Zero, and zones_.

|
virtualdefault |
Destructor.
References sensitivity::dict(), and fvOptions.

|
protected |
Zero sensitivities in fixed porous zones.
Definition at line 40 of file sensitivityTopO.C.
References UList< T >::empty(), sensitivity::mesh_, UList< T >::size(), Foam::Zero, and zones_.
Referenced by assembleSensitivities().


| TypeName | ( | "topO" | ) |
Runtime type information.
References sensitivity::dict(), and sensitivity::mesh().

|
virtual |
Read dictionary if changed.
Reimplemented from adjointSensitivity.
Definition at line 128 of file sensitivityTopO.C.
References adjointSensitivity::adjointSolver_, sensitivity::dict(), sensitivity::dict_, adjointSensitivity::eikonalSolver_, adjointSensitivity::includeDistance_, sensitivity::mesh_, and adjointSensitivity::readDict().

|
virtual |
Accumulate sensitivity integrands.
Implements adjointSensitivity.
Definition at line 160 of file sensitivityTopO.C.
References adjointSensitivity::adjointSolver_, designVariablesName_, adjointSensitivity::eikonalSolver_, sensitivity::fieldSensPtr_, and primitiveFieldRef().

|
virtual |
Assemble sensitivities.
Reimplemented from adjointSensitivity.
Definition at line 173 of file sensitivityTopO.C.
References adjointSensitivity::assembleSensitivities(), designVariablesName_, adjointSensitivity::eikonalSolver_, sensitivity::fieldSensPtr_, and zeroSensInFixedPorousZones().

|
static |
Add part of the sensitivities coming from fvOptions.
Definition at line 190 of file sensitivityTopO.C.
References DebugInfo, Foam::endl(), and fvOptions.
Referenced by postProcessSens(), adjointEikonalSolver::topologySensitivities(), adjointkOmegaSST::topologySensitivities(), adjointSpalartAllmaras::topologySensitivities(), and incompressibleAdjointSolver::topOSensMultiplier().


| void postProcessSens | ( | scalarField & | sens, |
| scalarField & | auxSens, | ||
| const word & | fieldName ) |
Add part of the sensitivities coming from fvOptions.
Definition at line 210 of file sensitivityTopO.C.
References designVariablesName_, fvOptions, sensitivity::mesh_, options::New(), and postProcessSens().

|
static |
Potentially manipulate auxSens within the fvOption before adding the part related to the design variables.
Definition at line 25 of file sensitivityTopOTemplates.C.
References DebugInfo, Foam::endl(), and fvOptions.

|
protected |
Zones related to topology optimisation.
Definition at line 65 of file sensitivityTopO.H.
Referenced by sensitivityTopO(), and zeroSensInFixedPorousZones().
|
protected |
Name used as the argument for the post-processing of the sensitivities through fvOptions.
Definition at line 71 of file sensitivityTopO.H.
Referenced by accumulateIntegrand(), assembleSensitivities(), postProcessSens(), and sensitivityTopO().