ENH: New adjont shape optimisation functionality
The adjoint library is enhanced with new functionality enabling automated shape optimisation loops. A parameterisation scheme based on volumetric B-Splines is introduced, the control points of which act as the design variables in the optimisation loop [1, 2]. The control points of the volumetric B-Splines boxes can be defined in either Cartesian or cylindrical coordinates. The entire loop (solution of the flow and adjoint equations, computation of sensitivity derivatives, update of the design variables and mesh) is run within adjointOptimisationFoam. A number of methods to update the design variables are implemented, including popular Quasi-Newton methods like BFGS and methods capable of handling constraints like loop using the SQP or constraint projection. The software was developed by PCOpt/NTUA and FOSS GP, with contributions from Dr. Evangelos Papoutsis-Kiachagias, Konstantinos Gkaragounis, Professor Kyriakos Giannakoglou, Andy Heather [1] E.M. Papoutsis-Kiachagias, N. Magoulas, J. Mueller, C. Othmer, K.C. Giannakoglou: 'Noise Reduction in Car Aerodynamics using a Surrogate Objective Function and the Continuous Adjoint Method with Wall Functions', Computers & Fluids, 122:223-232, 2015 [2] E. M. Papoutsis-Kiachagias, V. G. Asouti, K. C. Giannakoglou, K. Gkagkas, S. Shimokawa, E. Itakura: ‘Multi-point aerodynamic shape optimization of cars based on continuous adjoint’, Structural and Multidisciplinary Optimization, 59(2):675–694, 2019
Showing
- applications/solvers/incompressible/adjointOptimisationFoam/adjointOptimisationFoam.C 0 additions, 4 deletions...essible/adjointOptimisationFoam/adjointOptimisationFoam.C
- applications/utilities/postProcessing/optimisation/cumulativeDisplacement/Make/files 3 additions, 0 deletions...Processing/optimisation/cumulativeDisplacement/Make/files
- applications/utilities/postProcessing/optimisation/cumulativeDisplacement/Make/options 11 additions, 0 deletions...ocessing/optimisation/cumulativeDisplacement/Make/options
- applications/utilities/postProcessing/optimisation/cumulativeDisplacement/createFields.H 16 additions, 0 deletions...essing/optimisation/cumulativeDisplacement/createFields.H
- applications/utilities/postProcessing/optimisation/cumulativeDisplacement/cumulativeDisplacement.C 161 additions, 0 deletions...imisation/cumulativeDisplacement/cumulativeDisplacement.C
- applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/Make/files 3 additions, 0 deletions...essing/optimisation/writeActiveDesignVariables/Make/files
- applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/Make/options 14 additions, 0 deletions...sing/optimisation/writeActiveDesignVariables/Make/options
- applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/writeActiveDesignVariables.C 110 additions, 0 deletions...n/writeActiveDesignVariables/writeActiveDesignVariables.C
- applications/utilities/preProcessing/optimisation/writeMorpherCPs/Make/files 3 additions, 0 deletions...ies/preProcessing/optimisation/writeMorpherCPs/Make/files
- applications/utilities/preProcessing/optimisation/writeMorpherCPs/Make/options 13 additions, 0 deletions...s/preProcessing/optimisation/writeMorpherCPs/Make/options
- applications/utilities/preProcessing/optimisation/writeMorpherCPs/writeMorpherCPs.C 83 additions, 0 deletions...Processing/optimisation/writeMorpherCPs/writeMorpherCPs.C
- src/optimisation/adjointOptimisation/adjoint/ATCModel/zeroATCcells/pointCells/pointCells.C 22 additions, 4 deletions...ion/adjoint/ATCModel/zeroATCcells/pointCells/pointCells.C
- src/optimisation/adjointOptimisation/adjoint/Make/files 64 additions, 2 deletionssrc/optimisation/adjointOptimisation/adjoint/Make/files
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethod/displacementMethod.C 136 additions, 0 deletions...isplacementMethod/displacementMethod/displacementMethod.C
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethod/displacementMethod.H 171 additions, 0 deletions...isplacementMethod/displacementMethod/displacementMethod.H
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethoddisplacementLaplacian/displacementMethoddisplacementLaplacian.C 192 additions, 0 deletions...cementLaplacian/displacementMethoddisplacementLaplacian.C
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethoddisplacementLaplacian/displacementMethoddisplacementLaplacian.H 128 additions, 0 deletions...cementLaplacian/displacementMethoddisplacementLaplacian.H
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodelasticityMotionSolver/displacementMethodelasticityMotionSolver.C 215 additions, 0 deletions...tyMotionSolver/displacementMethodelasticityMotionSolver.C
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodelasticityMotionSolver/displacementMethodelasticityMotionSolver.H 132 additions, 0 deletions...tyMotionSolver/displacementMethodelasticityMotionSolver.H
- src/optimisation/adjointOptimisation/adjoint/displacementMethod/displacementMethodlaplacianMotionSolver/displacementMethodlaplacianMotionSolver.C 199 additions, 0 deletions...ianMotionSolver/displacementMethodlaplacianMotionSolver.C
Please register or sign in to comment