MASTmultiphysics / mast-multiphysics

Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST) - Sensitivity-enabled multiphysics FEA for design
https://www.mast-multiphysics.com
GNU Lesser General Public License v2.1
43 stars 24 forks source link

Examples using optimization & external optimizer libraries #74

Open jdeaton opened 4 years ago

jdeaton commented 4 years ago

While getting the CI system to check that examples will execute (PR #57) I came across some issues in the implementation of the examples with optimization. It seems that there are 2 main issues we need to revisit:

  1. Conditional compilation with SNOPT/GCMMA/etc. optimizers is not working as expected when it comes to the examples. It seems we need some extra pre-processor guards in the examples' source to handle cases where there is one optimizer available, but not all of them. Right now it seems that the structural topology optimization examples will only successfully link when both GCMMA and SNOPT are available and support built for them in the MAST library.

  2. Expand example demos to use NLOPT (or other open-source) optimizer. It seems we might have started to do this, but did not complete it. This will enable us to potentially check these examples execution on CI as well as provide an alternative to licensed (SNOPT) or special distribution (GCMMA) optimizers.

manavbhatia commented 4 years ago

I have played around with NLOpt, but not enough to make an assessment. Given that MAST has an interface to NLOPT I think we can update the examples so that they run with varying choice of optimizer. I will make the modification.