Input File: Quantum¶
Quantum State Tools¶
Specific Quantum State Tools¶
- new qstate free [<name>] [for <module>] { <directives> }
Create a free state.
- Parameters:
module (string) – Name of the module that will use the quantum state.
directives (block) –
The following directives are supported:
Shared directives: see Quantum State Shared Directives
- k4 = ( E , kx , ky , kz )
The four-momentum of the free state.
- Parameters:
kx (float) – x-component of momentum
ky (float) – y-component of momentum
kz (float) – z-component of momentum
E (float) – Energy of the free state, only the sign is used. The magnitude of the energy is always computed from the momentum. Ignored for non-relativistic equations.
- spin = ( sx , sy , sz )
Define the orientation of the spin. The magnitude of the vector is ignored. Spin 1/2 is always assumed.
- Parameters:
sx (float) – x-component of the spin direction
sy (float) – y-component of the spin direction
sz (float) – z-component of the spin direction
- size = ( Lx , Ly , Lz )
Size of the wave packet envelope.
- new qstate random [<name>] [for <module>] { <directives> }
Create a random state.
- Parameters:
module (string) – Name of the module that will use the quantum state.
directives (block) –
The following directives are supported:
Shared directives: see Quantum State Shared Directives
- size = ( Lx , Ly , Lz )
Size of the wave packet envelope.
- new qstate bound [<name>] [for <module>] { <directives> }
Create a bound state.
- Parameters:
module (string) – Name of the module that will use the quantum state.
directives (block) –
The following directives are supported:
Shared directives: see Quantum State Shared Directives
- nr_j_l_m = ( nr, j, l, m )
Set quantum numbers defining a bound state, see Quantum Optics Modules for full discussion.
- Parameters:
nr (int) – radial quantum number
j (float) – total angular momentum quantum number
l (int) – parity quantum number
m (float) – angular momentum projection
Tip
The principle quantum number from Schroedinger theory is

- new qstate tabulated [<name>] [for <module>] { <directives> }
Create a state using data from a file.
- Parameters:
module (string) – Name of the module that will use the quantum state.
directives (block) –
The following directives are supported:
Shared directives: see Quantum State Shared Directives
- filename = fname
Name of the file containing the data describing the state. The format is given here.
Quantum Modules¶
Specific Quantum Propagation Modules¶
- new schroedinger equation module { directives }
Creates a module for solving the time dependent Schroedinger equation for a particle in an arbitrary external field.
- Parameters:
directives (block) –
The following directives are supported:
Shared directives: see Quantum Module Shared Directives
Installable tools: Quantum State Tools, Radiation Injection
- keep a2 term = tst
- Parameters:
tst (bool) – whether to keep the second order term from the Hamiltonian
- dipole approximation = tst
- Parameters:
tst (bool) – if true, vector potential is uniform (always evaluated at origin)
- relaxation time = tr
- Parameters:
tr (float) – Causes module to spend this much time relaxing to ground. This may help refine the initial condition, but can be omitted. If used, one may start with a random wavefunction in order to not prejudice the results.
- new klein gordon equation module { directives }
Creates a module for solving the time dependent Klein-Gordon equation for a particle in an arbitrary external field.
- Parameters:
directives (block) –
The following directives are supported:
Shared directives: see Quantum Module Shared Directives
Installable tools: Quantum State Tools, Radiation Injection
- new dirac equation module { directives }
Creates a module for solving the time dependent Dirac equation for a particle in an arbitrary external field.
- Parameters:
directives (block) –
The following directives are supported:
Shared directives: see Quantum Module Shared Directives
Installable tools: Quantum State Tools, Radiation Injection
Quantum Diagnostics¶
There is a diagnostic module for performing overlap integrals against reference states. This is useful for tracking occupation probabilities.
- new population diagnostic <name> { <directives> }
Creates the quantum population diagnostic. This diagnostic module uses an
energy diagnostictool to report the real and imaginary part of an overlap integral as a function of time.- Parameters:
name (string) – The name of the diagnostic
directives (block) – The directives block may contain declarations of quantum state tools or energy diagnostic tools. These tools can also be attached using any little language syntax.
Bohmian Trajectories¶
Particle species defined as in Input File: PIC can be used to model Bohmian trajectories that are guided by the quantum propagation modules. All matter loading directives are available, see Matter Loading. In Bohmian mechanics, particles move based on the guidance condition:
where
is the probability current appropriate for the wave equation in question, and
is the probability density. These must satisfy the conservation law
In order to recover the statistical predictions of conventional quantum mechanics, the Bohmian particles should be loaded into a particle density that is commensurate with the probability density of the wavefunction. TurboWAVE will do this if the matter loading parameters satisfy loading = statistical and particle weight = fixed. Otherwise, the initial Bohmian density and wavefunction probability density will be treated as independent.
State File Format¶
The state file used to initialize bound states that are computed externally is an ASCII text file. All white space is treated as equivalent. White space before and after “=” is required.
The file format is:
energy = [#]
pts = [#]
components = [#]
cell_width = [#]
soft_core_radius = [#]
nuclear_charge = [#]
nr_j_l_m = [#] [#] [#] [#]
Bz = [#]
cylindrical = [tw_bool]
start_data
[#]
[#]
The tw_bool type resolves to true if the text is true, yes, or on, false otherwise.
Any information can be added before start_data provided there are no label collisions.
The data that follows start data is an alternating list of real and imaginary parts
of the radial function at each radial grid position. Angular functions are implicit
in the quantum numbers.


