Skip to content

Commit

Permalink
Added release notes and version bump for dymos 1.10.0 (#1022)
Browse files Browse the repository at this point in the history
* added release notes for dymos 1.10.0

* bump version to 1.10.0

* Fixed release notes mention of vanderpol update.
  • Loading branch information
robfalck authored Dec 8, 2023
1 parent b1ddc16 commit a1e5e21
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.9.2-dev
current_version = 1.10.0
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ body:
attributes:
label: Dymos Version
description: What version of Dymos is being used.
placeholder: "1.9.2-dev"
placeholder: "1.10.0"
validations:
required: true
- type: textarea
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
"version": "3.11.4"
}
},
"nbformat": 4,
Expand Down
2 changes: 1 addition & 1 deletion dymos/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = '1.9.2-dev'
__version__ = '1.10.0'


from .phase import Phase, AnalyticPhase
Expand Down
37 changes: 37 additions & 0 deletions release_notes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
*******************************
# Release Notes for Dymos 1.10.0

December 08, 2023

Dymos 1.10.0 includes a few performance improvements, more user-configurability of automatic solver placement, and a still-experimental implementation of the Birkhoff transcription.

Thanks to Shugo Kaneko for pointing out some issues with using dymos under MPI.
Timeseries jacobians were inefficient and used excessive memory when operating on a single system under MPI.
Also, the user now has more control over how solvers are added when necessary. Previously, the presence of a DirectSolver over a distributed system was causing an error.

Trajectory now has a `parallel_phases` option. When True (the default), the top level `Trajectory.phases` container will be an OpenMDAO ParallelGroup. Setting it to `False` makes `Trajectory.phases` a standard serial `OpenMDAO.api.Group` object.

Trajectory and Phase now both have an `auto_solvers` option. It is enabled by default and will result in appropriate nonlinear and linear solvers being placed when it is `True`.
Trajectory.phases needs a nonlinear solver when running phases in parallel under MPI AND the phases are directly connected.
Phases need a solver when there is implicit behavior due to a duration balance or the use of `solve_segments` is pseudospectral phases.

## Backwards Incompatible API Changes & Deprecations
- None

## Enhancements
- Reduce memory usage for timeseries jac computation [#1001](https://github.com/OpenMDAO/dymos/pull/1001)
- Added Birkhoff Transcription (this feature is still somewhat experimental) [#1008](https://github.com/OpenMDAO/dymos/pull/1008) [#1010](https://github.com/OpenMDAO/dymos/pull/1010) [#1021](https://github.com/OpenMDAO/dymos/pull/1021)

## Bug Fixes
- Fixed python 3.12 compatibility issues. [#1004](https://github.com/OpenMDAO/dymos/pull/1004)
- Fixed load_case logic to correctly handle negative-duration phases [#1007](https://github.com/OpenMDAO/dymos/pull/1007)
- Boundary constraints in Birkhoff transcription changed to pull from boundary ODE [#1018](https://github.com/OpenMDAO/dymos/pull/1018)
- Fixed an issue where applying DirectSolver to StateIndependentsComp was breaking when used with other linear solvers under MPI. [#1020](https://github.com/OpenMDAO/dymos/pull/1020)
- Fixed Vanderpol example under updated OpenMDAO MPI operation. [#1023](https://github.com/OpenMDAO/dymos/pull/1023)

## Miscellaneous
- Added a job without MPI to the test workflow [#998](https://github.com/OpenMDAO/dymos/pull/998)
- Removed redundant implementations of timeseries output components. [#1005](https://github.com/OpenMDAO/dymos/pull/1005)
- Remove IVCs from control groups [#1013](https://github.com/OpenMDAO/dymos/pull/1013)


*******************************
# Release Notes for Dymos 1.9.1

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@


setup(name='dymos',
version='1.9.2-dev',
version='1.10.0',
description='Open-Source Optimization of Dynamic Multidisciplinary Systems',
long_description='''
Dymos is a framework for the simulation and optimization of dynamical systems within the OpenMDAO Multidisciplinary Analysis and Optimization environment.
Expand Down

0 comments on commit a1e5e21

Please sign in to comment.