# $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 or no 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 or no

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 or no 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 the nextnano++ software.