From 487f91632e9651e8f9a2b7e5b4c9e89edaf43ac6 Mon Sep 17 00:00:00 2001 From: Rob Falck Date: Fri, 30 Jun 2023 11:18:30 -0400 Subject: [PATCH] error estimation now uses appropriate timeseries prefix. --- dymos/grid_refinement/error_estimation.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dymos/grid_refinement/error_estimation.py b/dymos/grid_refinement/error_estimation.py index 428943758..d44e5b9eb 100644 --- a/dymos/grid_refinement/error_estimation.py +++ b/dymos/grid_refinement/error_estimation.py @@ -166,8 +166,11 @@ def eval_ode_on_grid(phase, transcription): if t_duration_targets: p_refine.set_val(f't_duration', t_duration) + state_prefix = 'states:' if phase.timeseries_options['use_prefix'] else '' + control_prefix = 'controls:' if phase.timeseries_options['use_prefix'] else '' + for name, options in phase.state_options.items(): - x_prev = phase.get_val(f'timeseries.states:{name}', units=options['units']) + x_prev = phase.get_val(f'timeseries.{state_prefix}{name}', units=options['units']) x[name] = np.dot(L, x_prev) targets = get_targets(ode, name, options['targets']) if targets: @@ -178,7 +181,7 @@ def eval_ode_on_grid(phase, transcription): rate_targets = get_targets(ode, f'{name}_rate', options['rate_targets']) rate2_targets = get_targets(ode, f'{name}_rate12', options['rate2_targets']) - u_prev = phase.get_val(f'timeseries.controls:{name}', units=options['units']) + u_prev = phase.get_val(f'timeseries.{control_prefix}{name}', units=options['units']) u[name] = np.dot(L, u_prev) if targets: p_refine.set_val(f'controls:{name}', u[name])