quantum{ region{ boundary{} } }

Specifies the boundary condition for Schrödinger equation along various axis dimensions. In general, Dirichlet boundary conditions correspond to \(f = \mathrm{constant}\) and Neumann boundary conditions correspond to \(df/ dx = \mathrm{constant}\). Quantum densities may exhibit pathological density values on the boundary (e.g. 0 in the case of Dirichlet boundary conditions). Using classical_boundary_x, classical_boundary_y, classical_boundary_z, the computation of a classical density can be enforced on the respective boundary points for the respective band(s). The calculation within the quantum model itself and respective results such as wave functions are not affected by this setting. Using num_classical_x, num_classical_y, num_classical_z you can explicitly specify the number of points to be cut at each side.

quantum{ region{ boundary{ x } } }

Specifies boundary conditions at the borders of respective quantum{ region{} } in the x direction of the simulation. The dirichlet results in Dirichlet boundary conditions. The neumann results in Neumann boundary conditions. The shifted_neumann results in Neumann boundary conditions where the flux disappears half a grid spacing outside the boundary.

type:

choice

values:

dirichlet / neumann / shifted_neumann

default:

neumann

quantum{ region{ boundary{ y } } }

Specifies boundary conditions at the borders of respective quantum{ region{} } in the y direction of the simulation. The dirichlet results in Dirichlet boundary conditions. The neumann results in Neumann boundary conditions. The shifted_neumann results in Neumann boundary conditions where the flux disappears half a grid spacing outside the boundary.

type:

choice

values:

dirichlet / neumann / shifted_neumann

default:

neumann

quantum{ region{ boundary{ z } } }

Specifies boundary conditions at the borders of respective quantum{ region{} } in the z direction of the simulation. The dirichlet results in Dirichlet boundary conditions. The neumann results in Neumann boundary conditions. The shifted_neumann results in Neumann boundary conditions where the flux disappears half a grid spacing outside the boundary.

type:

choice

values:

dirichlet / neumann / shifted_neumann

default:

neumann

quantum{ region{ boundary{ classical_boundary_x } } }
type:

choice

value:

yes or no

default:

no

quantum{ region{ boundary{ classical_boundary_y } } }
type:

choice

value:

yes or no

default:

no

quantum{ region{ boundary{ classical_boundary_z } } }
type:

choice

value:

yes or no

default:

no

quantum{ region{ boundary{ num_classical_x } } }
value:

2D integer vector

default:

[1 , 1]

quantum{ region{ boundary{ num_classical_y } } }
value:

2D integer vector

default:

[1 , 1]

quantum{ region{ boundary{ num_classical_z } } }
value:

2D integer vector

default:

[1 , 1]

Note

Periodic boundary conditions along the appropriate direction(s) are taken automatically if global { ... periodic{ x/y/z = yes} } is specified and if the quantum region extends over the whole simulation region along the appropriate direction. In this case, the dirichlet or neumann specifications under quantum{ ... {region{ ... boundary{...} } } are ignored along the appropriate direction(s).