dymos
dymos copied to clipboard
Newton solver should not be attached at the phase level when using `solve_segments`.
Proposed feature.
The solve_segments
implementation utilizes a Newton solver at the phase level to resolve the collocation defects as solver residuals. In dymos 1.6.1-dev, this Newton solver is wrapped around the entire Phase. This evaluates all components in the phase when many of them are not necessary to compute during the iteration.
The Radau transcription has an N2 diagram that looks like this:
The GaussLobatto transcription N2 looks like this:
Resolution
Pseudospectral phases should contain a subgroup (state_convergence_group
) that evaluates the following systems
-
indep_states
-
state_interp
-
rhs_all
(rhs_disc
andrhs_col
for GaussLobatto) -
collocation_constraint
-
continuity_constraint
The timeseries
system (and the interleave_comp
for GaussLobatto) should fall after this state_convergence_group
.
If possible, state_convergence_group
should promote as much as possible to be "invisible" to the user. That will let us keep the existing connections to the largest extent possible.
The Newton solver used to converge solve_segments
should be attached to state_convergence_group
rather than the phase.
Example
No response