Nonautonomous

Non-autonomous dynamic systems.

Chaotic nonlinear ODEs
class nonautonomous.CSTR(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

CSTR model Original code obtained from APMonitor:

equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
class nonautonomous.HindmarshRose(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Hindmarsh–Rose model of neuronal activity

equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
class nonautonomous.InvPendulum(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Inverted Pendulum dynamics states: x = [ heta dot{ heta}]; heta is angle from upright equilibrium input: u = input torque

equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
class nonautonomous.Iver_dyn(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Dynamic model of Unmanned Underwater Vehicle (Fossen) – Excludes hydrostatic/dynamic terms and ocean current

Cross(x)[source]
  • Input: 3d array x

  • Output: cross product matrix (skew symmetric)

equations(x, t, u)[source]
  • States (6): [u, v, w, p, q, r]

  • Inputs (6): [tau_X, tau_Y, tau_Z, tau_K, tau_M, tau_N]

get_U(nsim)[source]
class nonautonomous.Iver_dyn_reduced(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Dynamic model of Unmanned Underwater Vehicle (Yan et al) – Excludes rolling, includes hydrostate/dynamic terms, no currents

equations(x, t, u)[source]
  • States (10): [n, e, d, theta, psi, u, v, w, p, q, r]

  • Inputs (5): [tau_X, tau_Y, tau_Z, tau_M, tau_N]

get_U(nsim)[source]
class nonautonomous.Iver_dyn_simplified(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Dynamic model of Unmanned Underwater Vehicle (modified from Stankiewicz et al) – Excludes rolling, sway, currents, Includes: hydrostate/dynamic terms, control surface deflections/propeller thrust, and actuator dynamics

equations(x, t, u)[source]
  • States (12): [px, py, pz, theta, psi, uu, w, q, r, delta_u, delta_q, delta_r]

  • Inputs (3): [delta_uc, delta_qc, delta_rc] (thrust speed/deflections, normalized)

get_U(nsim)[source]
class nonautonomous.Iver_dyn_simplified_output(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Dynamic model of Unmanned Underwater Vehicle (modified from Stankiewicz et al) – Excludes rolling, sway, currents, Includes: hydrostate/dynamic terms, control surface deflections/propeller thrust, and actuator dynamics with non-kinematic output

equations(x, t, u)[source]
  • States (9): [theta, psi, uu, w, q, r, delta_u, delta_q, delta_r]

  • Inputs (3): [delta_uc, delta_qc, delta_rc] (thrust speed/deflections, normalized)

get_U(nsim)[source]
parameters()[source]
class nonautonomous.Iver_kin(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Kinetic model of Unmanned Underwater Vehicle (Fossen) – Full UAV kinematic model

equations(x, t, u)[source]
  • States (5): [n, e, d, phi, theta, psi]

  • Inputs (5): [u, v, w, p, q, r]

get_U(nsim)[source]
class nonautonomous.Iver_kin_reduced(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Kinetic model of Unmanned Underwater Vehicle (Yan et al 2020) – UAV kinematic model with no roll

equations(x, t, u)[source]
  • States (5): [xi, eta, zeta, theta, psi]

  • Inputs (5): [u, v, w, q, r]

get_U(nsim)[source]
class nonautonomous.LorenzControl(nsim=1001, ninit=0, ts=0.1, seed=59)[source]
equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
u_fun(t)[source]
class nonautonomous.ODE_NonAutonomous(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

base class autonomous ODE

simulate(U=None, ninit=None, nsim=None, ts=None, x0=None)[source]
Parameters:
  • nsim – (int) Number of steps for open loop response

  • ninit – (float) initial simulation time

  • ts – (float) step size, sampling time

  • x0 – (float) state initial conditions

Returns:

X, Y, U, D

class nonautonomous.SEIR_population(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Susceptible, Exposed, Infected, and Recovered (SEIR) population population model. Used to model COVID-19 spread. Source of the model:

states:

  • Susceptible (s): population fraction that is susceptible to the virus

  • Exposed (e): population fraction is infected with the virus but does not transmit to others

  • Infectious (i): population fraction that is infected and can infect others

  • Recovered (r): population fraction recovered from infection and is immune from further infection

equations(x, t, u)[source]
  • Inputs (1): social distancing (u=0 (none), u=1 (total isolation))

  • States (4):

  • Susceptible (s): population fraction that is susceptible to the virus

  • Exposed (e): population fraction is infected with the virus but does not transmit to others

  • Infectious (i): population fraction that is infected and can infect others

  • Recovered (r): population fraction recovered from infection and is immune from further infection

get_U(nsim)[source]
class nonautonomous.SwingEquation(nsim=1001, ninit=0, ts=0.1, seed=3)[source]

Power Grid Swing Equation.

equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
class nonautonomous.Tank(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Single Tank model Original code obtained from APMonitor:

equations(x, t, u)[source]
  • States (1): level in the tanks

  • Inputs u(1): c - valve coefficient (kg/s / %open)

  • Inputs u(2): valve in % [0-100]

get_U(nsim)[source]
class nonautonomous.TwoTank(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Two Tank model Original code obtained from APMonitor:

equations(x, t, u)[source]

Define equations defining the dynamical system

get_U(nsim)[source]
class nonautonomous.UAV2D_kin(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Dubins 2D model – UAV kinematic model with no wind

equations(x, t, u)[source]
  • States (3): [x, y, z, psi]

  • Inputs (1): [phi]

get_U(nsim)[source]
class nonautonomous.UAV3D_dyn(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

UAV dynamic guidance model with no wind

equations(x, t, U)[source]
  • States (6): [x, y, z, psi, gamma, V]

  • Inputs (3): [T, phi, load]

  • load = Lift force / Weight

get_U(nsim)[source]
class nonautonomous.UAV3D_kin(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Dubins 3D model – UAV kinematic model with no wind

equations(x, t, u)[source]
  • States (4): [x, y, z]

  • Inputs (3): [V, phi, gamma]

  • Transformed Inputs (3): [U1, U2, U3]

get_U(nsim)[source]
class nonautonomous.UAV3D_reduced(nsim=1001, ninit=0, ts=0.1, seed=59)[source]

Reduced Dubins 3D model – UAV kinematic model with transformed inputs

equations(x, t, u)[source]
  • States (4): [x, y, z]

  • Inputs (3): [V, phi, gamma]

  • Transformed Inputs (3): [U1, U2, U3]

get_U(nsim)[source]