TidalPy.utilities.integration package

TidalPy.utilities.integration.get_integrator(integrator_name: str, integration_method: str = 'RK45')[source]

Return the desired integration function based on user input.

Parameters:
  • integrator_name (str) –

    Name of the integration suite. Options:

    ’scipy’ ‘cython’ ‘numba’ ‘julia’ ‘numbalsoda’

  • integration_method (str = 'RK45') – Name of the specific integration method (available methods vary by integrator)

Returns:

integrator – Desired integrator function

Return type:

callable

TidalPy.utilities.integration.lsoda(diffeq, y0, t_eval, params)[source]
TidalPy.utilities.integration.lsoda_sig(func)[source]
TidalPy.utilities.integration.ns_dop853(diffeq, y0, t_eval, params)[source]

Submodules

TidalPy.utilities.integration.cyrk_helper module

Helper functions to interface with CyRK’s integration suite

TidalPy.utilities.integration.cyrk_helper.cyrk_solver(diffeq, time_span: Tuple[float, float], initial_condition: ndarray, args: Tuple = (), rtol: float = 1e-06, atol: float = 1e-08, max_step: float = inf, first_step: float = 0.0, method: int = 1, t_eval: ndarray = array([], dtype=float64), convert_func_to_cy: bool = False)[source]
TidalPy.utilities.integration.cyrk_helper.nbrk_solver(diffeq, time_span: Tuple[float, float], initial_condition: ndarray, args: Tuple = None, rtol: float = 1e-06, atol: float = 1e-08, max_step: float = inf, first_step: float = None, method: int = 1, t_eval: ndarray = array([], dtype=float64))[source]

TidalPy.utilities.integration.julia_helper module

Helper functions to interface with Julia / Diffeqpy’s integration suite

TidalPy.utilities.integration.julia_helper.get_julia_solver(solver_name: str)[source]

Find a ODE solver in the Julia diffeq package.

Read more about Julia’s ode solvers here: https://diffeq.sciml.ai/dev/solvers/ode_solve/

Parameters:

solver_name (str) – Name of the Julia ode solver

Returns:

  • ode_system

  • solver

TidalPy.utilities.integration.numbalsoda_helper module

TidalPy.utilities.integration.numbalsoda_helper.numbalsoda_solver(diffeq, time_span: Tuple[float, float], initial_condition: ndarray, args: Tuple = None, rtol: float = 1e-06, atol: float = 1e-08, max_step: float = inf, first_step: float = None, method: int = 1, t_eval: ndarray = None)[source]

TidalPy.utilities.integration.scipy_helper module

Helper functions to interface with SciPy’s integration suite

TidalPy.utilities.integration.scipy_helper.solve_ivp(diffeq, time_span: Tuple[float, float], initial_condition: ndarray, args: Tuple = None, rtol: float = 1e-06, atol: float = 1e-08, max_step: float = inf, first_step: float = None, method: str = 'RK45', t_eval: ndarray = array([], dtype=float64))[source]