Skip to content

subotnikgroup/scatter2

Repository files navigation

Scatter2

Thie is an implementation of quantum scattering calculation in two dimension system in a Cartesian grid basis. The basic algorithm can be found in J. Chem. Phys. 142, 084110 (2015) and J. Phys. Chem. A 2020 124 (37), 7355-7372. Please cite the two papers if you have used the code.

Installation

Requirements:

To build the code, run (should takes less than 1 min)

make

Usage

Arguments available to the code:

  • N: Number of the grid;
  • Ny: Number of the grid in the y direction (by default = N);
  • dx: Spacing of the grid;
  • n_stencil: Differential stencil used for the kinetic matrix. It is half of the actual stencil used, e.g. n_stencil=2 indicates a 3-stencil, n_stencil=3 indicates a 5-stencil, etc.
  • n_ext: Extra grid for the boundary wave basis. By default is 3. Usually set to = n_stencil;
  • n_bs: Limit of bound state used. Default is 1.
  • in_bs: Incoming bound state. Default is 0.
  • in_el: Incoming electronic state.
  • L: Length of the model in x direction. In atomic units.
  • m: Nuclear mass.
  • E: Overall incoming energy (including potential energy).
  • startpos: Incident position. Either "up" or "down". For angular potentials, specifying "up" indicates incoming from left.
  • potential: Name of the potential used. Can be the return of get_name() of any potential included in the angularpot.hpp and linearpot.hpp. To repeat our published work, only "2statelx" and "angular" are needed.
  • param: Params for the model Hamiltonian. The format can be found in the example.
  • output: The suffix of the output.

The argument list can also be found by specifying --help.

Running the program will give three outputs:

  • prob-[suffix]: Describes the (normalized) scattering probabilities for each bound states and (unnormalized) scattering amplitudes for each bound states.
  • bound-[suffix]: The wavefunction of bound states, in a grid basis.
  • state-[suffix]: The wavefunction solution. Will output as a (N x Nel) row and N column matrix. The number in (a*N + i)'th row and j'th column indicates the wavefunction value at electronic state |a> and nuclear position (i, j).

Example

example/bifurcation.sh generates the two-dimensional scattering result in a bifurcation Hamiltonian described in this paper. It should be able to run directly if the program is correctly built.

About

No description, website, or topics provided.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages