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. Usingnum_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. Thedirichlet
results in Dirichlet boundary conditions. Theneumann
results in Neumann boundary conditions. Theshifted_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. Thedirichlet
results in Dirichlet boundary conditions. Theneumann
results in Neumann boundary conditions. Theshifted_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. Thedirichlet
results in Dirichlet boundary conditions. Theneumann
results in Neumann boundary conditions. Theshifted_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
orno
- default:
no
- quantum{ region{ boundary{ classical_boundary_y } } }
- type:
choice
- value:
yes
orno
- default:
no
- quantum{ region{ boundary{ classical_boundary_z } } }
- type:
choice
- value:
yes
orno
- 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).