/
release_notes.txt
187 lines (153 loc) · 7.95 KB
/
release_notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
################################################################################################
Release Notes for OpenMDAO 2.2.1
April 2, 2018
New Features:
--------------
- check_partials() improvements to formatting and clarity. Report of potentially-bad derivatives summarized at bottom of output.
- check_partials() only compares fwd analytic to FD for any components that provide derivatives directly through the Jacobian
argument to compute_partials or linearize. (significantly less output to view now).
- Docs for UnstructuredMetaModel improved.
- pyoptsparse wrapper only calls run_model before optimization if LinearConstraints are included.
- ScipyOptimizerDriver is now smarter about how it handles linear constraints. It caches the derivatives and doesn't recompute them anymore.
- Docs for ExternalCode improved to show how to handle derivatives.
- cache_linear_solution argument to add_design_var, add_constraint, add_objective, allows iterative linear solves to use previous solution as initial guess.
- New solver debugging tool via the `debug_print` option: writes out initial state values, so failed cases can be more easily replicated.
- Added generic KS component.
- Added generic Bspline component.
- Improved error msg when class is passed into add_subsystem.
- Automated Jacobian coloring algorithm now works across all variables (previously, it was just local within a variable).
- Major refactor of the `compute_totals` method to clean up and simplify.
Backwards-Compatible API Changes:
-----------------------------------
N/A
Backwards-Incompatible API changes:
-----------------------------------
N/A
Bug Fixes:
-----------
- compute_totals works without any arguments now (just uses the default set of des_vars, objectives, and constraints)
- UnstructuredMetaModel can now be sub-classed
- Deprecated ScipyOptimizer class wasn't working correctly, but can now actually be used.
################################################################################################
Release Notes for OpenMDAO 2.2.0
February 9, 2018
New Features:
--------------
- `DirectSolver` now tells you which row or column is singular when it gets a singluar matrix error.
- `ScipyOptimizeDriver` now handles linear constraints more efficiently by only computing them one time.
- Added the `openmdao` command line script to allow for model checking, visualization, and profiling without making modifications to the run script.
- Added a `SimpleGADriver` with a basic genetic algorithm implementation.
- Added a `MetaModelStructured` component with a interpolative method.
- New option for derivative calculations: Simultaneous derivatives, useful when you have totally disjoint Jacobians (e.g. diagonal Jacobians).
- Automatic coloring algorithm added to compute the valid coloring scheme for simultaneous derivatives.
- `list_outputs` method updated with new display options, ability to filter variables by residual value, ability to change sorting scheme, and ability to display unit details.
- openmdao citation helper added to the `openmdao` command line script, making it easy to generate the correct bibtex citations based on which classes are being used.
- `NewtonSolver` modified so that maxiter=0 case now will compute residuals, but not do a linear solve (useful for debugging nonlinear errors).
Backwards-Compatible API Changes:
-----------------------------------
- Changed `ScipyOptimizer` to `ScipyOptimizeDriver` for consistency (deprecated older class).
- Renamed `MetaModel` to `MetaModelUnstructured` to allow for new structured interpolant (deprecated old class).
- Renamed `PetscKSP` to `PETScKrylov` for consistency. (deprecated old class).
- Renamed `ScipyIterativeSolver` to `ScipyKrylov` for consistency. (deprecated old class).
Backwards-Incompatible API changes:
-----------------------------------
- CaseRecorder now uses variables' promoted names for storing and accessing data.
- Removed `DeprecatedComp` from codebase.
- `list_residuals` method on Groups and Components removed.
Bug Fixes:
-----------
- Fixed error check for duplicate connections to a single input from multiple levels of the hierarchy
################################################################################################
Release Notes for OpenMDAO 2.1.0
December 7, 2017
New Features:
-------------
- Configure setup hook allowing changing of solver settings after hierarchy tree is instantiated
- Component metadata system for specifying init_args with error checking
- Parallel Groups
- Units Reference added to the Docs
- Case recording now records all variables by default
- `openmdao` console script that can activate useful debugging features
(e.g. view_model) without editing the run script
- Scipy COBYLA optimizer converts des var bounds to constraints (the algorithm doesn't natively handle bounds)
- StructuredMetaModel component offers a simple spline interpolation routine for structured data
Backwards Compatible API Changes:
-----------------------------------
- `NonlinearRunOnce` changed `NonLinearRunOnce` for consistency (old class deprecated)
- `types_` argument to `self.metadata.declare` changed to `types`. (old argument deprecated)
- `types` and `values` arguments to `self.metadata.declare`
- `BalanceComp` has a `use_mult` argument to control if it has a `mult` input, defaulting to false
(the mult input isn't used most of the time)
- Renamed `MetaModel` to `UnstructuredMetaModel` and `MultiFiMetaModel` to `UnStructuredMultiFiMetaModel`
Backwards Incompatible API changes:
-----------------------------------
- Case Recording options API updated with `.recording_options` attribute on Driver, Solver, and System classes
- `get_subsystem` changed to a private method, removed from public API of System
- `check_partials` now has a `method` argument that controls which type of check
Bug Fixes:
-----------
- Improved error msg on a corner case for when user doesn't declare a partial derivative
- Fixed docs embedding bug when `<>` included in the output text
################################################################################################
Release Notes for OpenMDAO 2.0.2
October 19, 2017
- Fixing further packaging errors by updating packaging information.
- Added tutorials for derivatives of explicit and implicit components.
################################################################################################
Release Notes for OpenMDAO 2.0.1
October 19, 2017
- Attempting to fix test errors that were happening by updating the packaging information.
################################################################################################
Release Notes for OpenMDAO 2.0.0
October 19, 2017
First public release of 2.0.0.
New Features:
--------------
(first release... so EVERYTHING!)
- Drivers:
- ScipyOptimizer
- PyoptSparseOptimizer
- Solvers:
- Nonlinear:
- NonlinearBlockGS
- NonlinearBlockJac
- NonlinearRunOnce
- NewtonSolver
- Linear:
- LinearBlockGS
- LinearBlockJac
- LinearRunOnce
- DirectSolver
- PetscKSP
- ScipyIterativeSolver
- LinearUserDefined
- LineSearch
- AmijoGoldsetinLS
- BoundsEnforceLS
- Components:
- MetaModel
- ExecComp
- BalanceComp
- LinearSystemComp
- General Capability:
- Implicit and Explicit Components
- Serial and Parallel Groups
- Parallel distributed components (components that need an MPI comm)
- Unit conversions
- Variable scaling
- Specifying component metadata
- Analytic derivatives
Currently Missing Features that existed in 1.7.3:
-------------------------------------------------
- Pass-by-object variables (anything that is not a float)
- File Variables
- automatic ordering of groups/components based on connections
- Design of Experiments Driver (DOE)
- Parallel Finite Difference
- File-Wrapping utility library & External Code Component
- Approximate active set constraint calculation skipping
- Brent Solver
- CaseRecorders for CSV, HDF5, and Dump formats
Bug Fixes
----------
N/A