Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cchandre/confkam

Conjugation method in configuration space for invariant tori of Hamiltonian systems
https://github.com/cchandre/confkam

conjugation hamiltonian hamiltonian-dynamics invariant-tori kolmogorov-arnold-moser numpy python3 scipy

Last synced: about 1 month ago
JSON representation

Conjugation method in configuration space for invariant tori of Hamiltonian systems

Awesome Lists containing this project

README

        

# KAM in configuration space for invariant tori in Hamiltonian systems

- [`ConfKAM_dict.py`](https://github.com/cchandre/ConfKAM/blob/main/ConfKAM_dict.py): to be edited to change the parameters of the ConfKAM computation (see below for a dictionary of parameters)

- [`ConfKAM.py`](https://github.com/cchandre/ConfKAM/blob/main/ConfKAM.py): contains the ConfKAM classes and main functions defining the ConfKAM map

- [`ConfKAM_modules.py`](https://github.com/cchandre/ConfKAM/blob/main/ConfKAM_modules.py): contains the methods to execute the ConfKAM map

Once [`ConfKAM_dict.py`](https://github.com/cchandre/ConfKAM/blob/main/ConfKAM_dict.py) has been edited with the relevant parameters, run the file as
```sh
python3 ConfKAM.py
```

___
## Parameter dictionary

- *Method*: 'line_norm', 'region'; choice of method
- *Nxy*: integer; number of points along each line in computations
- *r*: integer; order of the Sobolev norm used in `compute_line_norm()`
####
- *omega0*: array of *n* floats; frequency vector **ω** of the invariant torus
- *Omega*: array of *n* floats; vector **Ω** defining the perturbation in actions
- *Dv*: function; derivative of the *n*-d potential along a line
- *CoordRegion*: array of floats; min and max values of the amplitudes for each mode of the potential (see *Dv*); used in `compute_region()`
- *IndxLine*: tuple of integers; indices of the modes to be varied in `compute_region()`
parallelization in `compute_region()` is done along the *IndxLine*[0] axis
- *PolarAngles*: array of two floats; min and max value of the angles in 'polar'
- *CoordLine*: 1d array of floats; min and max values of the amplitudes of the potential used in `compute_line_norm()`
- *ModesLine*: tuple of 0 and 1; specify which modes are being varied (1 for a varied mode)
- *DirLine*: 1d array of floats; direction of the one-parameter family used in `compute_line_norm()`
####

####
- *AdaptSize*: boolean; if True, changes the dimension of arrays depending on the tail of the FFT of *h*(*ψ*)
- *Lmin*: integer; minimum and default value of the dimension of arrays for *h*(*ψ*)
- *Lmax*: integer; maximum value of the dimension of arrays for *h*(*ψ*) if *AdaptSize* is True
####
- *TolMax*: float; value of norm for divergence
- *TolMin*: float; value of norm for convergence
- *Threshold*: float; threshold value for truncating Fourier series of *h*(*ψ*)
- *MaxIter*: integer; maximum number of iterations for the Newton method
####
- *Type*: 'cartesian', 'polar'; type of computation for 2d plots
- *ChoiceInitial*: 'fixed', 'continuation'; method for the initial conditions of the Newton method
- *MethodInitial*: 'zero', 'one_step'; method to generate the initial conditions for the Newton iteration
####
- *AdaptEps*: boolean; if True adapt the increment of eps in `compute_line_norm()`
- *MinEps*: float; minimum value of the increment of eps if *AdaptEps*=True
- *MonitorGrad*: boolean; if True, monitors the gradient of *h*(*ψ*)
####
- *Precision*: 32, 64 or 128; precision of calculations (default=64)
- *SaveData*: boolean; if True, the results are saved in a `.mat` file
- *PlotResults*: boolean; if True, the results are plotted right after the computation
- *Parallelization*: tuple (boolean, int); True for parallelization, int is the number of cores to be used (set int='all' for all of the cores)
####
---
Reference: A.P Bustamante, C. Chandre, *Numerical computation of critical surfaces for the breakup of invariant tori in Hamiltonian systems*, [arXiv:2109.12235](https://arxiv.org/abs/2109.12235)
```bibtex
@misc{bustamante2021,
title = {Numerical computation of critical surfaces for the breakup of invariant tori in Hamiltonian systems},
author = {Adrian P. Bustamante and Cristel Chandre},
year = {2021},
eprint = {2109.12235},
archivePrefix = {arXiv},
primaryClass = {math.DS}
}
```

For more information: