Skip to content

List_of_parameters

Dominique Delande edited this page Apr 29, 2022 · 49 revisions

Back to Parameter file Back to List of sections


This page describes the available parameters in a parameter file, listed by section (see List of sections). This list should be exhaustive. If there is some unexpected error/problem dealing with parameters or sections, the code is contained in anderson/io.py in the routine parse_parameter_file at the beginning of the file.

Each parameter has a type (integer, float, boolean or string) and is either mandatory (if the section exists) or optional (there is then a default value). Each parameter is specified in the parameter file, in the relevant section, by:

parameter_name = value

[System] section

  • dimension: int, optional (default: 1). The dimension of the system. Can be any positive integer. Well tested for dimension=1, 2 and 3. Only hyper-rectangular grids and hyper-rectangular geometries are supported.
  • size_1, size_2...: float, mandatory. The size of the system along each axis, for the dimension dimensions. Sizes beyond dimension are ignored.
  • delta_1, delta_2...: float, mandatory. The spatial discretisation step along each axis.
  • boundary_condition_1, boundary_condition_2...: string, mandatory. The boundary condition along each axis. Can be either periodic or open.
  • one_over_mass: float, optional (default: 1.0). The inverse of the mass is the kinetic energy of the system p^2/2m. one_over_mass=2.0 together wtith delta_i=1.0 might be useful for simulating the Anderson model
  • use_mkl_fft: boolean, optional (default: True). Whether to use the MKL library for Fast Fourier transforms. If False, or if the MKL library is not found, the numpy.fft routines are used.
  • use_mkl_random: boolean, optional (default: True). Whether to use the MKL library for Random Number generation. If False, or if the MKL library is not found, the numpy.random routines are used.

[Disorder] section

  • type: string, optional (default: anderson_gaussian). The disorder type. The known types are:
anderson_gaussian: Gaussian distribution on each site, uncorrelated.
anderson_uniform: Uniform distribution on each site, uncorrelated.
anderson_cauchy: Cauchy (Lorentzian) distribution on each site, uncorrelated (not tested).
regensburg: Gaussian distribution on each site, with Gaussian spatial correlation function.
konstanz: speckle (Rayleigh) distribution on each site, with Gaussian spatial correlation function.
nice: same as anderson_uniform, with additional non-diagonal disorder. Works only in dimension 1, without spin.

Other types, such as speckle or singapore, are not yet implemented.

  • correlation_length: float, optional (defautl:0.0). The correlation length for correlated disorder types. Isotropic in the current version, but anistropic should be added. For Gaussian correlation, the spatial correlation function is proportional to exp(-0.5*r^2/(correlation_length)^2).
  • V0: float, optional (default: 0.0). The disorder strength. For uniform distribution, the random disorder is chosen uniformly in [-V0/2,V0/2]. For Gaussian distribution, it is a normal distribution with zero mean and V0^2 variance, i.e. P(V)=exp(-0.5V^2/V0^2)/sqrt(2pi*V0^2). Takes automatically into account the correlation length for correlated potentials.
  • non_diagonal_disorder_strength: float, optional (default: 0.0). The non diagonal disorder strength for the nice disorder type.
  • b: int, optional (default: 1). The number of lower diagonals for the nice disorder type.
  • randomize_hamiltonian: boolean, optional (default: True). Whether to use a different disorder realization for each configuration.

[Averaging] section

  • n_config: int, optional (default: 1). Total number of disorder configurations over which the averaging is performed. For a MPI run, the code performs the same number of configurations per process, so that the total number of configurations is the smallest integer multiple of the number of processes, larger or equal to n_config.

[Spin] section

  • spin_one_half: boolean, optional (default: False). If False, the code will not use any internal degree of freedom. If True, each site has a 2-component spinor. Currently tested only in dimension 1.
  • gamma: float, optional (default: 0).
  • Omega: float, optional (default: 0).
  • beta: float, optional (default: 0).
  • delta: float, optional (default: 0).
  • h: float, optional (default: 0). These 5 parameters refer to the strength of various operators in the Hamiltonian: spin-orbit coupling, spin components, etc. Refer to the anderson/hamiltonian.py file for the definition of the parameters and operators.

[Nonlinearity] section

  • g_over_volume: float, optional (no default). As the wavefunction is normalized to unity over the volume of the system, 1/volume is the average density rho0. Thus this parameter, if present, is g*rho0. Used in the simulations of the Gross-Pitaevskii equation.
  • g: float, optional (default: 0.0). If g_over_volume is not present, the parameter g is used as the nonlinear strength in the Gross-Pitaevskii equation.

[Wavefunction] section

  • initial_state: string, mandatory. The initial wavefucntion before temporal propagation or for the calculation of a spectral function. The following types are supported:
plane_wave: a plane wave characterized by its momentum (=wave vector).
gaussian_wave_packet: a Gaussian wave packet charaterized by its average momentum and its width along each spatial dimension.
chirped_wave_apcket: lile a Gaussian wave packet, but with additional chirp along each direction.
point: a state localized on a single site, at the origin (useful for computing a density of states).
random: a state with complex Gaussian random amplitude on eahc site. Should be used for computing the density of states.
gaussian_randomized: a spatially Gaussian enveloppe, but with complex Gaussian random amplitude on each site. Work in progress.
multi_point: for debugging only. A state localized on a sub-grid. Do not use, unless you know exactly what you are doing.
  • _k0_over_2_pi_1, k0_over_2_pi_2...: float, mandatory for plane_wave, gaussian_wave_packet and chirped_wave_packet. This is the wavevector (divided by 2pi) along each axis. It should be compatible with periodic boundary conditions, that is k0_over_2_pisize should be an integer along each axis. It is rounded (i.e. modified) so that this condition is met.
  • sigma_0_1, sigma_0_2...: float, mandatory for gaussian_wave_packet, chirped_wave_packet and gaussian_randomized. This is the size of the wavepacket along each direction, so that the modulus (not squared) of the wavefunction is proportional to exp(-0.5*x^2/sigma_0^2) along each axis.

[Propagation] section

[Measurement] section

[Spectral] section

[Diagonalization] section

[Lyapounov] section

Clone this wiki locally