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


Public Member Functions | |
| TypeName ("shapeOptimisation") | |
| Runtime type information. More... | |
| shapeOptimisation (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers) | |
| Construct from components. More... | |
| virtual | ~shapeOptimisation ()=default |
| Destructor. More... | |
| virtual void | storeDesignVariables () |
| Store design variables, as the starting point for line search. More... | |
| virtual void | resetDesignVariables () |
| Store design variables, as the starting point for line search. More... | |
| virtual void | write () |
| Write useful quantities to files. More... | |
Public Member Functions inherited from optimisationType | |
| TypeName ("optimisationType") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, optimisationType, dictionary,(fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers),(mesh, dict, adjointSolverManagers)) | |
| optimisationType (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers) | |
| Construct from components. More... | |
| virtual | ~optimisationType ()=default |
| virtual void | update () |
| Update design variables. More... | |
| virtual void | update (scalarField &correction) |
| Update design variables based on a given correction. More... | |
| virtual tmp< scalarField > | computeDirection () |
| Compute update direction. More... | |
| virtual void | updateGradientsAndValues (scalarField &objectiveSens, PtrList< scalarField > &constraintSens, scalar &objectiveValue, scalarField &constraintValues) |
| Compute cumulative objective and constraint gradients. More... | |
| virtual scalar | computeMeritFunction () |
| Compute the merit function of the optimisation problem. More... | |
| virtual scalar | meritFunctionDirectionalDerivative () |
| Derivative of the merit function. More... | |
| virtual void | updateOldCorrection (const scalarField &) |
| Update old correction. Needed for quasi-Newton Methods. More... | |
| const autoPtr< volScalarField > & | sourcePtr () |
| Get source term. More... | |
| autoPtr< lineSearch > & | getLineSearch () |
| Get a reference to the line search object. More... | |
Protected Member Functions | |
| virtual void | updateDesignVariables (scalarField &correction) |
| Update the design variables given their correction. More... | |
| virtual void | computeEta (scalarField &correction) |
| Compute eta if not set in the first step. More... | |
Protected Attributes | |
| autoPtr< optMeshMovement > | optMeshMovement_ |
| bool | writeEachMesh_ |
| bool | updateGeometry_ |
Protected Attributes inherited from optimisationType | |
| fvMesh & | mesh_ |
| const dictionary | dict_ |
| PtrList< adjointSolverManager > & | adjointSolvManagers_ |
| autoPtr< updateMethod > | updateMethod_ |
| autoPtr< volScalarField > | sourcePtr_ |
| autoPtr< lineSearch > | lineSearch_ |
Additional Inherited Members | |
Static Public Member Functions inherited from optimisationType | |
| static autoPtr< optimisationType > | New (fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers) |
| Return a reference to the selected turbulence model. More... | |
Calculates shape sensitivities using the adjoint approach, computes boundaryMesh movement and propagates it to the volume mesh.
Definition at line 59 of file shapeOptimisationIncompressible.H.
| shapeOptimisation | ( | fvMesh & | mesh, |
| const dictionary & | dict, | ||
| PtrList< adjointSolverManager > & | adjointSolverManagers | ||
| ) |
Construct from components.
Definition at line 113 of file shapeOptimisationIncompressible.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, optMeshMovement::New(), Foam::nl, patches, and WarningInFunction.

|
virtualdefault |
Destructor.
|
protectedvirtual |
Update the design variables given their correction.
Implements optimisationType.
Definition at line 46 of file shapeOptimisationIncompressible.C.
References Foam::correction(), Foam::endl(), Foam::Info, optimisationType::mesh_, polyMesh::meshSubDir, IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, shapeOptimisation::optMeshMovement_, points, polyMesh::points(), polyMesh::pointsInstance(), shapeOptimisation::updateGeometry_, and shapeOptimisation::writeEachMesh_.

|
protectedvirtual |
Compute eta if not set in the first step.
Implements optimisationType.
Definition at line 80 of file shapeOptimisationIncompressible.C.
References Foam::correction().

| TypeName | ( | "shapeOptimisation" | ) |
Runtime type information.
|
virtual |
Store design variables, as the starting point for line search.
Implements optimisationType.
Definition at line 176 of file shapeOptimisationIncompressible.C.
References shapeOptimisation::optMeshMovement_.
|
virtual |
Store design variables, as the starting point for line search.
Implements optimisationType.
Definition at line 182 of file shapeOptimisationIncompressible.C.
References shapeOptimisation::optMeshMovement_.
|
virtual |
Write useful quantities to files.
Reimplemented from optimisationType.
Definition at line 188 of file shapeOptimisationIncompressible.C.
References optimisationType::updateMethod_, and optimisationType::write().

|
protected |
Definition at line 67 of file shapeOptimisationIncompressible.H.
Referenced by shapeOptimisation::resetDesignVariables(), shapeOptimisation::storeDesignVariables(), and shapeOptimisation::updateDesignVariables().
|
protected |
Definition at line 69 of file shapeOptimisationIncompressible.H.
Referenced by shapeOptimisation::updateDesignVariables().
|
protected |
Definition at line 70 of file shapeOptimisationIncompressible.H.
Referenced by shapeOptimisation::updateDesignVariables().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.