$magnetic-field¶
One can apply a magnetic field only for 2D and 3D simulations. For 1D simulations this is not possible.
$magnetic-field optional magnetic-field-on character required magnetic-field-strength double required magnetic-field-direction integer_array required magnetic-field-sweep-active character optional magnetic-field-sweep-step-size double optional magnetic-field-sweep-number-of-steps integer optional output-magnetic-vector-potential character optional exclude-region-cluster-numbers integer_array optional $end_magnetic-field optional
Example
!-------------------------------------------------! $magnetic-field ! magnetic-field-on = yes ! yes/no magnetic-field-strength = 4.0 ! [T] magnetic-field-direction = 0 0 1 ! along z direction ! output-magnetic-vector-potential = yes ! yes/no exclude-region-cluster-numbers = 2 3 ! $end_magnetic-field ! !-------------------------------------------------!
Here, a magnetic field of 4 T is applied.
- magnetic-field-on
- type:
character
- presence:
required
- options:
yes
orno
- default:
no
Flag for switching magnetic field on or off.
- magnetic-field-strength
- type:
double
- unit:
[T]
- example:
2.5
The magnetic field strength refers to the magnetic flux density \(\mathbf{B}\) which has the SI unit [T]
=
[Vs/m^2]
.
Note that the SI unit for the magnetic field strength \(\mathbf{H}\) is [A/m]
.
It is possible to specify a negative value which inverts the vector specified here: magnetic-field-direction
- magnetic-field-direction
- type:
integer array of dimension 3
- example:
0 0 1
The 3 (integer) indices \(x\), \(y\), \(z\) of a vector \(\mathbf{x}=(x,y,z)\) which is parallel to the magnetic field vector.
The direction of the magnetic field must be perpendicular to simulation orientation, e.g. if
!------------------------------------! $simulation-dimension ! dimension = 2 ! orientation = 0 1 1 ! simulation in (y,z) plane $end_simulation-dimension ! !------------------------------------!
then the magnetic field direction must be
magnetic-field-direction = 1 0 0 ! along x direction
For a 3D simulation, the magnetic field can have any direction.
The vector \(\mathbf{B}\) must be specified with respect to the xyz simulation system, i.e. you cannot specify the four-digit Miller-Bravais indices as in the case for wurtzite. It is with respect to the x, y and z coordinate axes that were specified under
$domain-coordinates:
If not specified, default values specified in database_nn3.in
are taken.
x y z := hkl-x-direction-zb, hkl-y-direction-zb, hkl-z-direction-zb or x y z := hkil-x-direction, hkil-y-direction, hkil-z-direction
(optional, only needed for magnetic field sweep)
- output-magnetic-vector-potential
- type:
character
- options:
yes
orno
- default:
no
The magnetic vector potential \(\mathbf{A}(x,y,z)\) is defined with respect to the symmetric gauge: \(\mathbf{A}(\mathbf{r}) = - 1/2 (\mathbf{r} \times \mathbf{B})\).
- exclude-region-cluster-numbers
- type:
integer array
- example:
2 4
Here, cluster numbers 2
and 4
are exempted from magnetic field, i.e. B=0.
This is useful for Aharonov–Bohm effect (not fully implemented yet).
Magnetic field sweep¶
It is possible to sweep over the magnetic field strength, i.e. to vary the strength of the magnetic field stepwise. This is similar to electric field sweeps ($electric-field), voltage sweeps ($voltage-sweep) and doping concentration sweeps ($doping-function).
- magnetic-field-sweep-active
- type:
character
- options:
yes
orno
- default:
no
Specify yes
if you want to sweep over several values of the magnetic field.
- magnetic-field-sweep-size
- type:
double
- example:
0.5
- example:
[T]
Here, the magnetic field increases in steps of 0.5
[T]
.
A negative value can be used to decrease the magnetic field.
- magnetic-field-sweep-number-of-steps
- type:
integer
- example:
10
Specify here the number of steps for the magnetic field sweep.
Example
!-------------------------------------------------! $magnetic-field ! magnetic-field-on = yes ! yes/no magnetic-field-strength = 0.0 ! [T] magnetic-field-direction = 0 0 1 ! along z direction ! magnetic-field-sweep-active = yes ! yes/no magnetic-field-sweep-step-size = 0.5 ! [T] magnetic-field-sweep-number-of-steps = 10 ! $end_magnetic-field ! !-------------------------------------------------!
Here, the magnetic field increases from 0
[T]
to 5
[T]
in steps of 0.5
[T]
, i.e. 11 simulations are performed.
The output is labeled with _ind000.dat
, _ind001.dat
, _ind002.dat
, … where the index refers to the number of the magnetic field sweep step.
The output for the eigenvalues as a function of applied magnetic field can be found here:
magnetic_ev_vb1_qc1_sg1_deg1.dat
.
In this particular example, the heavy hole valence band edge energies (vb1
) have been written out as a function of magnetic field.
The first column contains the strength of the magnetic field in units of [T]
.
The second column contains the 1st eigenvalue for the specified electric field in units of [eV]
,
the third column contains the 2nd eigenvalue for the specified electric field in units of [eV]
, …
Note
The magnetic field is only implemented for the single-band effective mass model but not for the multi-band \(\mathbf{k} \cdot \mathbf{p}\) model. For the combination of \(\mathbf{k} \cdot \mathbf{p}\) and magnetic field, please use nextnano++.