Class that used to setup the Lyapunov exponent computation.
More...
|
| | __init__ (self, problem, params=dict(), integrator=None, integrator_params=dict()) |
| | Sets up the class that compute the Lyapunov exponent.
|
| |
| | compute (self, t0, ic, dic=[1.0, 0.0]) |
| | Compute the maximal Lyapunov exponents.
|
| |
| | plot (self, **kwargs) |
| |
| | __init__ (self, problem, params=dict(), integrator=None, integrator_params=dict()) |
| | Sets up the solver.
|
| |
| | is_successful (self) |
| | Returns True if the computation is successfully completed.
|
| |
|
| | nPpts = params["nPpts"] |
| |
| | nsave = params["nsave"] |
| |
| | Nfp = problem.Nfp |
| |
| | ile = np.arange(0, self.nPpts + 1, self.nsave, dtype=np.int) |
| |
| | le = np.zeros(self.ile.shape, dtype=np.float64) |
| |
| int | dt = 2 * np.pi / self.Nfp |
| |
| | t0 = t0 |
| |
| | ic = icnp.copy() |
| |
| | dic = dic_norm.copy() |
| |
| | di = np.ones((self.nPpts), dtype=np.float64) |
| |
| bool | successful = False |
| | flagging if the computation is done and successful
|
| |
Class that used to setup the Lyapunov exponent computation.
◆ __init__()
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.__init__ |
( |
| self, |
|
|
| problem, |
|
|
| params = dict(), |
|
|
| integrator = None, |
|
|
| integrator_params = dict() ) |
Sets up the class that compute the Lyapunov exponent.
- Parameters
-
| problem | must inherit pyoculus.problems.BaseProblem, the problem to solve |
| params | dict, the parameters for the solver |
| integrator | the integrator to use, must inherit \pyoculus.integrators.BaseIntegrator, if set to None by default using RKIntegrator |
| integrator_params | dict, the parmaters passed to the integrator |
params['nPpts']=2000 – the number of iterations
params['nsave']=100 – save the Lyapunov Exponent each nsave iteration
params['Nfp']=1 – period in zeta direction
◆ compute()
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.compute |
( |
| self, |
|
|
| t0, |
|
|
| ic, |
|
|
| dic = [1.0, 0.0] ) |
Compute the maximal Lyapunov exponents.
- Parameters
-
| t0 | the start time (or angle) |
| ic | the initial conidition |
| dic | the initial perturbation direction (non-zero, for most of the cases it doesn't matter) |
- Returns
- a class with results
result.le – the computed maximal Lyapunov Exponent (as a function of number of map iterations)
result.ile – the number of iterations
◆ plot()
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.plot |
( |
| self, |
|
|
** | kwargs ) |
◆ di
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.di = np.ones((self.nPpts), dtype=np.float64) |
◆ dic
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.dic = dic_norm.copy() |
◆ dt
| int pyoculus.solvers.lyapunov_exponent.LyapunovExponent.dt = 2 * np.pi / self.Nfp |
◆ ic
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.ic = icnp.copy() |
◆ ile
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.ile = np.arange(0, self.nPpts + 1, self.nsave, dtype=np.int) |
◆ le
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.le = np.zeros(self.ile.shape, dtype=np.float64) |
◆ Nfp
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.Nfp = problem.Nfp |
◆ nPpts
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.nPpts = params["nPpts"] |
◆ nsave
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.nsave = params["nsave"] |
◆ t0
| pyoculus.solvers.lyapunov_exponent.LyapunovExponent.t0 = t0 |
The documentation for this class was generated from the following file: