andes.routines.daeint.TrapezoidAdaptive#

class andes.routines.daeint.TrapezoidAdaptive[source]#

Adaptive trapezoid with step-doubling LTE estimation.

The LTE estimate is based on the difference between one full step of size h and two half-steps of size h/2.

__init__(*args, **kwargs)#

Methods

calc_h(tds)

Step size is set by step().

calc_jac(tds, gxs, gys)

Build full Jacobian matrix Ac for Trapezoid method.

calc_q(x, f, Tf, h, x0, f0)

Calculate the residual of algebraized differential equations.

checkpoint_state(tds)

Snapshot DAE state for rollback.

niter_next_h(niter, h, h_min, h_max)

Niter-based step-size heuristic shared by all methods.

restore_state(tds, state)

Restore DAE state from a checkpoint.

solve_once(tds, h, method)

Run one implicit step with the given method and step size.

step(tds)

One adaptive trapezoid step.

Attributes

nolte_event_steps

nolte_event_window

requires_variable_step