Sig Numerical Optimization / Tutorials

From OpenFOAMWiki

1 Tutorials using DAKOTA

1.1 Bounded-constrained gradient optimization of a blunt body

Blunt body with control points. Initial shape.
Shape optimization of the blunt body
  • In this short tutorial we do a bounded-constrained gradient optimization study of a blunt body.
  • We aim at optimizing the shape of a blunt body. The goal is to minimize the drag coefficient.
  • The body is parametrized using Bezier curves with four control points and six linear constraints.
  • To do the optimization we use Dakota, Salome and OpenFOAM. The geometry and mesh are generated with Salome.
  • This tutorial works fine with OpenFOAM 2.3.0, Salome 7.3.0 and Dakota 5.4.0.
  • Before running the tutorial, execute the script dakota_cleanup.
  • The coupling of Dakota, Salome and OpenFOAM is handled using a bash script (generic interface), that controls the simulation workflow.


1.2 Vector parameter-study and bounded-constrained gradient optimization of a plate using solidDisplacementFoam

Plate Geometry
  • This tutorials includes two cases, one for vector parameter-study and one for a bounded-constrained gradient optimization study of a plate.
  • The goal is to reduce the weight of the plate by maximizing the maximum stress on the object.
  • The geometry, made with Salome, has a single variable (the radius of the hole) and two linear constraints.
  • The main goal of this tutorials is to show the optimization workflow using Salome, cfMesh, OpenFOAM and Dakota.

The geometry is generated with Salome, while the mesh is generated using cartesian2DMesh (from cfMesh).

  • This tutorial was tested with OpenFOAM 2.2.2, Salome 7.4.0 and Dakota 6.0.
  • Before running the tutorial, execute the script dakota_cleanup.
  • Bash scripts are used to couple the different tools, in particular stlCombine is used to merge surface STL files generated by the Salome script.


1.3 More tutorials