dymos icon indicating copy to clipboard operation
dymos copied to clipboard

Newton solver should not be attached at the phase level when using `solve_segments`.

Open robfalck opened this issue 1 year ago • 0 comments

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: Radau N2 cycle

The GaussLobatto transcription N2 looks like this: GaussLobatto N2 cycle

Resolution

Pseudospectral phases should contain a subgroup (state_convergence_group) that evaluates the following systems

  • indep_states
  • state_interp
  • rhs_all (rhs_disc and rhs_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

robfalck avatar Oct 26 '22 15:10 robfalck