Code Monkey home page Code Monkey logo

quasiperiodic_frenkel-kontorova's Introduction

Analyticity breakdown for Frenkel-Kontorova models in quasiperiodic media

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

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

  • qpfk_modules.py: contains the methods to execute the qpFK map

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

python3 qpfk.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()

  • omega: floats; frequency ω
  • alpha: array of n floats; vector α defining the perturbation
  • alpha_perp (optional): array of n floats; vector α perpendicular to α
  • 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)


For more information: [email protected]

References:

  1. R. Calleja, R. de la Llave, Fast numerical computation of quasi-periodic equilibrium states in 1D statistical mechanics, including twist maps, Nonlinearity 22, 1311 (2009)
  2. R. Calleja, R. de la Llave, Computation of the breakdown of analyticity in statistical mechanics models: numerical results and a renormalization group explanation, Journal of Statistical Physics 141, 940 (2010)
  3. X. Su, R. de la Llave, KAM theory for quasi-periodic equilibria in one-dimensional quasi-periodic media, SIAM Journal on Mathematical Analysis 44, 3901 (2012)
  4. T. Blass, R. de la Llave, The analyticity breakdown for Frenkel-Kontorova models in quasi-periodic media: numerical explorations, Journal of Statistical Physics 150, 1183 (2013)

Example: Figure 3(A) of Ref.[4]

Example

quasiperiodic_frenkel-kontorova's People

Contributors

cchandre avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.