Dynamics module¶
Dynamics module, adapted from DE_library.
TODO: clean this up
- MARBLE.dynamics.fun_vanderpol(par=None)[source]¶
Van der parol oscillator exhibiting a degenerate Hopf bifurcation
- MARBLE.dynamics.load_ODE(whichmodel, par=None)[source]¶
Load ODE system.
- Parameters:
whichmodel (string) – ODE system from ODE_library.py
par (dict, optional) – parameters. The default is None
- Returns:
ODE function jac (Callable): Jacobian
- Return type:
f (Callable)
- MARBLE.dynamics.addnoise(X, **noise_pars)[source]¶
Add noise to trajectories.
- Parameters:
X (numpy array) – Trajectories
noise_pars – additional keyword argument to specify noise parameters
- Returns:
X (len(t)xlen(X0) numpy array) Trajectory
- MARBLE.dynamics.simulate_ODE(whichmodel, t, X0, par=None, **noise_pars)[source]¶
Load ODE functions and run appropriate solver.
- Parameters:
whichmodel (string) – ODE system from ODE_library.py
t (array or list) – Time steps to evaluate system at
x0 (array or list) – Initial condition. Size must match the dimension of the ODE system
par (dict, optional) – Parameters. The default is None
- Returns:
Solution Xprime (list): Time derivative of solution
- Return type:
X (list)
- MARBLE.dynamics.simulate_trajectories(whichmodel, X0_range, t=1, par=None, **noise_pars)[source]¶
Compute a number of trajectories from the given initial conditions.
- Parameters:
simulate_ODE() (Same as in)
except
whichmodel (string) – ODE system from ODE_library.py
X0_range (list(list)) – List of initial conditions
t (array or list) – Time steps to evaluate system at
par (dict, optional) – Parameters. The default is None
noise_pars – additional keyword argument to specify noise parameters
- Returns:
Solution for all trajectories Xprime_list (list): Time derivative of solution for all trajectories
- Return type:
X_list (list(list))