Crate wafer [] [src]

Wa ve f unction Solv er: a parallelized, 3D, Schrödinger equation solver.

Wafer exploits a Wick-rotated time-dependent Schrödinger equation to solve for time-independent solutions in three dimensions.

Inspired by quantumfdtd, which is a proof of concept tool and falls short of a general purpose utility. Wafer attempts to remedy this issue.

If you use Wafer in your research, please reference the following articles:

M. Strickland and D. Yager-Elorriaga, “A parallel algorithm for solving the 3D Schrödinger equation”, Journal of Computational Physics 229, 6015–6026 (2010).

Modules

config

Config is a (mostly) public module which reads the configuration file wafer.cfg and populates the Config struct with the information required to run the current instance of the application.

errors

Handles the error chain of the program.

grid

The meat of the calculation is performed on a finite grid. Basically all of the computation work is done within this module.

input

Any required file input (apart from configuration) is handled here. Plain text and binary formats.

output

All file output is handled in this module. Plain text and binary options are both here.

potential

Handles the potential generation, binding energy offsets, callouts to files or scripts if needed etc.

Functions

exit_with_pause

Exits (with error, but no display) after a short pause. Because we're using async logs, sometimes we dump before the log system outputs information. We spool for a little first in these instances so we get the logging info.

main

System entry point

sha

Generate a SHA string

short_sha

Generate a short SHA string