OpenMDAO Logo

An open-source framework for efficient multidisciplinary optimization.

OpenMDAO 2.6.0 Released!

OpenMDAO 2.6.0 is out!

Here are the release notes listing the new features, bug fixes and a couple of backwards-incompatible changes:

New Features:

  • MetaModelStructured will detect NaN in requested sample and print a readable message.
  • ScipyOptimizeDriver now supports Hessian calculation option for optimizers that use it.
  • User can specify src_indices that have duplicates or have two inputs on a single component connected to the same output, and still have CSC Jacobian work.
  • User can get/set problem values in a straightforward manner: prob['var'] = 2., etc. even when running in parallel.
    • Problem 'get' access to distributed variables will raise an exception since it isn't clear what behavior is expected, i.e. should prob['comp.x'] return the full distributed variable or just the local part.
  • Directsolver has an improved error message when it detects identical rows or columns in Jacobian.
  • The NonlinearBlockGS solver has been updated with a less expensive implementation that does not call the compute method of Explicit components as many times.
  • User can request a directional-derivative check (similar to SNOPTs built-in level 0 check) for check_partials.
  • check_partials with compact_print will now always show all check pairs.
  • The N^2 diagram (from `openmdao view_model`) now shows the solver hierarchy.
  • KSComp has an improved, vectorized implementation.
  • list_inputs now includes a 'shape' argument.
  • User can generate an XDSM from a model (`openmdao xdsm`).
  • User can set `units=<something>` for an execcomp, when all variables have the same units.

Backwards Incompatible API Changes:

  • The default bounds enforcement for BoundsEnforceLS is now 'scalar' (was 'vector')
  • Direct solver will now use 'assemble_jac=True' by default
  • Recording options 'includes' and 'excludes' now use promoted names for outputs (absolute path names are still used for inputs)
  • FloatKrigingSurrogate has been deprecated since it does not provide any unique functionality.
  • FloatMultifiKrigingSurrogate has been deleted because it was never used, was incorrectly implemented, and provides no new functionality.

Bug Fixes:

  • Complex-step around Newton+DirectSolver now works with assembled Jacobians.
  • Armijolinesearch implementation was incorrect when used with solve_subsystems. The implementation is now correct.


Comments are closed.

Fork me on GitHub