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

Calculates shape sensitivities using the adjoint approach, computes boundaryMesh movement and propagates it to the volume mesh. More...

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

Public Member Functions

 TypeName ("shapeOptimisation")
 
 shapeOptimisation (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers)
 
virtual ~shapeOptimisation ()=default
 
virtual void storeDesignVariables ()
 
virtual void resetDesignVariables ()
 
virtual void write ()
 
- Public Member Functions inherited from optimisationType
 TypeName ("optimisationType")
 
 declareRunTimeSelectionTable (autoPtr, optimisationType, dictionary,(fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers),(mesh, dict, adjointSolverManagers))
 
 optimisationType (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers)
 
virtual ~optimisationType ()=default
 
virtual void update ()
 
virtual void update (scalarField &correction)
 
virtual tmp< scalarFieldcomputeDirection ()
 
virtual void updateGradientsAndValues (scalarField &objectiveSens, PtrList< scalarField > &constraintSens, scalar &objectiveValue, scalarField &constraintValues)
 
virtual scalar computeMeritFunction ()
 
virtual scalar meritFunctionDirectionalDerivative ()
 
virtual void updateOldCorrection (const scalarField &)
 
const autoPtr< volScalarField > & sourcePtr ()
 
autoPtr< lineSearch > & getLineSearch ()
 

Protected Member Functions

virtual void updateDesignVariables (scalarField &correction)
 
virtual void computeEta (scalarField &correction)
 

Protected Attributes

autoPtr< optMeshMovementoptMeshMovement_
 
bool writeEachMesh_
 
bool updateGeometry_
 
- Protected Attributes inherited from optimisationType
fvMeshmesh_
 
const dictionary dict_
 
PtrList< adjointSolverManager > & adjointSolvManagers_
 
autoPtr< updateMethodupdateMethod_
 
autoPtr< volScalarFieldsourcePtr_
 
autoPtr< lineSearchlineSearch_
 

Additional Inherited Members

- Static Public Member Functions inherited from optimisationType
static autoPtr< optimisationTypeNew (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers)
 

Detailed Description

Calculates shape sensitivities using the adjoint approach, computes boundaryMesh movement and propagates it to the volume mesh.

Source files

Definition at line 59 of file shapeOptimisationIncompressible.H.

Constructor & Destructor Documentation

◆ shapeOptimisation()

shapeOptimisation ( fvMesh mesh,
const dictionary dict,
PtrList< adjointSolverManager > &  adjointSolverManagers 
)

Definition at line 113 of file shapeOptimisationIncompressible.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, optMeshMovement::New(), Foam::nl, patches, and WarningInFunction.

Here is the call graph for this function:

◆ ~shapeOptimisation()

virtual ~shapeOptimisation ( )
virtualdefault

Member Function Documentation

◆ updateDesignVariables()

void updateDesignVariables ( scalarField correction)
protectedvirtual

◆ computeEta()

void computeEta ( scalarField correction)
protectedvirtual

Implements optimisationType.

Definition at line 80 of file shapeOptimisationIncompressible.C.

References Foam::correction().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "shapeOptimisation"  )

◆ storeDesignVariables()

void storeDesignVariables ( )
virtual

◆ resetDesignVariables()

void resetDesignVariables ( )
virtual

◆ write()

void write ( )
virtual

Reimplemented from optimisationType.

Definition at line 188 of file shapeOptimisationIncompressible.C.

References optimisationType::updateMethod_, and optimisationType::write().

Here is the call graph for this function:

Member Data Documentation

◆ optMeshMovement_

autoPtr<optMeshMovement> optMeshMovement_
protected

◆ writeEachMesh_

bool writeEachMesh_
protected

◆ updateGeometry_

bool updateGeometry_
protected

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