Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added release notes for 1.9.0 #983

Merged
merged 6 commits into from
Sep 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.8.1-dev
current_version = 1.9.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 @@ -24,7 +24,7 @@ body:
attributes:
label: Dymos Version
description: What version of Dymos is being used.
placeholder: "1.8.1-dev"
placeholder: "1.9.0"
validations:
required: true
- type: textarea
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.8.1-dev'
__version__ = '1.9.0'

from .phase import Phase, AnalyticPhase
from .transcriptions import GaussLobatto, Radau, ExplicitShooting, Analytic
Expand Down
67 changes: 67 additions & 0 deletions release_notes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,70 @@
*******************************
# Release Notes for Dymos 1.9.0

September 07, 2023

Dymos 1.9.0 changes the default timeseries behavior so that state rates,
control rates, and t_phase are not included by default. These values tended
to clutter the timeseries plots on more complex problems.

A new `add_duration_balance` method is added to phases that allows the final time
of a phase to be found with a solver without the need for an optimizer. This is useful
for explicit shooting phases which are effectively just simulating out the dynamics
until some target condition is achieved. An example of this behavior is available [in the docs](https://openmdao.github.io/dymos/examples/cannonball_implicit_duration/cannonball_implicit_duration.html?highlight=duration).

Trajectory parameters are improved. Parameters can now have a mix of static and dynamic targets, which was not possible before.
Also, trajectories will now use variable data obtained by introspection in the phases for
setting properties of trajectory-level parameters.

The behavior of some scipy.sparse routines was changed in 1.11 and caused incorrect derivatives.
This has been addressed.

Dymos had previously been calling `allgather` excessively under MPI which could
cause performance issues during setup.

Finally, Trajectory.simulate() should now work correctly under MPI so that results can
be checked with explicit integration when working under MPI.

## Backwards Incompatible API Changes & Deprecations
- Remove state rates, control rates, and t_phase from the timeseries by default, and remove type prefix. [#935](https://github.com/OpenMDAO/dymos/pull/935)

## Enhancements
- Remove state rates, control rates, and t_phase from the timeseries by default, and remove type prefix. [#935](https://github.com/OpenMDAO/dymos/pull/935)
- Implicit duration [#939](https://github.com/OpenMDAO/dymos/pull/939)
- Updated dymos to utilize new OpenMDAO load_case capability. [#954](https://github.com/OpenMDAO/dymos/pull/954)
- Updated parameter introspection and traj parameters [#964](https://github.com/OpenMDAO/dymos/pull/964)
- Allow parameter shape to be given as `None`, rather than just `_unspecified` [#970](https://github.com/OpenMDAO/dymos/pull/970)

## Bug Fixes
- Fixed an error message that gave outdated instructions solve segments [#930](https://github.com/OpenMDAO/dymos/pull/930)
- Fixed a Trajectory.simulate method specification bug [#931](https://github.com/OpenMDAO/dymos/pull/931)
- Fixed issue where optimal trajectory parameters would also attempt to make corresponding phase parameter a design variable. [#938](https://github.com/OpenMDAO/dymos/pull/938)
- Fixed issue where "connected" could not be used when linking all variables of a phase [#942](https://github.com/OpenMDAO/dymos/pull/942)
- Fixed issues with scipy sparse storage in scipy 1.11 [#943](https://github.com/OpenMDAO/dymos/pull/943)
- Fixed an issue where grid refinement tests were still expecting some things to be in the timeseries. [#946](https://github.com/OpenMDAO/dymos/pull/946)
- Fixed openmdao warning messages. [#950](https://github.com/OpenMDAO/dymos/pull/950)
- Fixed timeseries plots under MPI so that all phases show up. [#959](https://github.com/OpenMDAO/dymos/pull/959)
- Fixed an MPI slowdown introduced by parameter introspection at the Trajectory level. [#977](https://github.com/OpenMDAO/dymos/pull/977)
- Fixed some issues that were causing simulation to fail under MPI. [#978](https://github.com/OpenMDAO/dymos/pull/978)
- Fixed an issue where dymos calling excessive allgathers during setup. [#980](https://github.com/OpenMDAO/dymos/pull/980)
- Fixed an issue where a DirectSolver was automatically added to a phase if any state has input_initial=True. [#982](https://github.com/OpenMDAO/dymos/pull/982)

## Miscellaneous
- Changed all uses of the deprecated 'value' keyword to 'val' [#926](https://github.com/OpenMDAO/dymos/pull/926)
- Bump to next dev cycle version [#927](https://github.com/OpenMDAO/dymos/pull/927)
- Updated the GitHub workflow to test with '[all]' extra dependencies [#929](https://github.com/OpenMDAO/dymos/pull/929)
- Fixed out-of-order systems in some tests [#941](https://github.com/OpenMDAO/dymos/pull/941)
- Refactored time_extents away in favor of housing extents in param_comp [#952](https://github.com/OpenMDAO/dymos/pull/952)
- Set defect_scaler values to 1.0 in finite_burn_orbit_raise problem [#953](https://github.com/OpenMDAO/dymos/pull/953)
- Fixed a couple PEP8 failures [#961](https://github.com/OpenMDAO/dymos/pull/961)
- Added various phase options dictionaries to the API documentation. [#956](https://github.com/OpenMDAO/dymos/pull/956)
- Updated GitHub workflow to upload documentation to web site [#965](https://github.com/OpenMDAO/dymos/pull/965)
- Minor doc fix [#967](https://github.com/OpenMDAO/dymos/pull/967)
- Slight changes to scaling in the water rocket example. [#969](https://github.com/OpenMDAO/dymos/pull/969)
- Updated baseline test to use Numpy version 1.22.4 [#975](https://github.com/OpenMDAO/dymos/pull/975)



*******************************
# Release Notes for Dymos 1.8.0

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


setup(name='dymos',
version='1.8.1-dev',
version='1.9.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