Skip to content

cchandre/ConfKAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KAM in configuration space for invariant tori in Hamiltonian systems

  • ConfKAM_dict.py: to be edited to change the parameters of the ConfKAM computation (see below for a dictionary of parameters)

  • ConfKAM.py: contains the ConfKAM classes and main functions defining the ConfKAM map

  • ConfKAM_modules.py: contains the methods to execute the ConfKAM map

Once ConfKAM_dict.py has been edited with the relevant parameters, run the file as

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

@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: cristel.chandre@cnrs.fr

Releases

No releases published

Packages

No packages published

Languages