nextnano.com  GUI: nextnanomat  Tool: nextnano++  Tool: nextnano³  Tool: nextnano.NEGF  Download | Search | Copyright | News | Publications  * password protected nextnano³ software Poisson boundary conditions

Poisson boundary conditions and contacts

When solving Poisson's equation, by default Neumann boundary conditions are applied to the boundary. If you want to change it, you will have to use this specifier where you can define Poisson boundary conditions (like e.g. Dirichlet or even an applied voltage). These Poisson boundary conditions can be called 'contacts' and are also used for applying voltage to the device.

A Neumann boundary condition is defined as d phi / d x = constant.
A Dirichlet boundary condition is phi = constant.

In order to apply any voltage to the device you have to define contacts. This is done by the Poisson boundary conditions.

There are mainly two different kinds:

• Schottky (implies a Schottky barrier), also suitable to simulate surface states
• Ohmic (no barrier)

These Poisson clusters are assigned to the region-cluster, which can consist of any material (e.g. metal or anything else). The material properties of these clusters do not influence the calculations as only the boundaries (that are defined here) enter the equations and nothing else (Fermi contacts might be an exception to this).

If the calculation does not converge, the applied voltage difference might be too large. Larger voltages should be calculated stepwise (see \$voltage-sweep).]

Only region-clusters (\$region-cluster) can be associated to a contact or boundary region but not regions themselves (\$regions).

If a region is assigned to be a Poisson boundary cluster then it is not considered to be contained inside the quantum (Fermi contacts are an exception to this) or current region any more although the quantum or current region could in principle extend over the Poisson boundary cluster (by definition as specified in the input file) (-> setup_quantumregion).
Note: No Schrödinger  (Fermi contacts are an exception to this) or current equation will be solved in regions that are specified as Poisson boundary conditions.
In addition, the Poisson equation is not solved in these regions either  (Fermi contacts are an exception to this).
In the output, the value of the contact regions is set to zero, or to the applied voltage, respectively.

There are two alternative ways for a simulation: equilibrium and nonequilibrium.

Nonequilibrium means self-consistent solution of Poisson equation and current continuity equation. It is assumed that application of voltage leads to a nonzero (maybe very small) current. Therefore the user must specify current regions between the contacts. The meaningful boundary conditions are: Schottky and Ohmic, the number of contacts is at least 2.

Equilibrium simulation means to solve Poisson equation with a constant chemical potential (Fermi level) (set to 0 eV). The user is allowed to specify boundary conditions for the Poisson equation. The meaningful boundary conditions are Dirichlet, Neumann, Schottky and ohmic, the number of contacts is arbitrary.

!-----------------------------------------------------------! applicable ...
\$poisson-boundary-conditions                      optional  !
!
poisson-cluster-number            integer        required  !

region-cluster-number             integer        required  !
!
boundary-condition-type           character      required  !

!
contact-control                   character      optional  !
only for Schottky , Ohmic
applied-voltage                   double         optional  ! only for Schottky , Ohmic , Fermi
fixed-current                     double         optional  ! only for Schottky , Ohmic

schottky-barrier                  double         optional  !
only for Schottky
!
potential                         double         optional  !
only for Dirichlet
electric-field                    double         optional  ! only for Neumann
temperature                       double_array   optional  !
Fermi-linear-reference-clusters   integer_array  optional  ! only for Fermi-linear
Fermi-linear-direction            integer_array  optional  ! only for Fermi-linear
!
\$end_poisson-boundary-conditions
optional  !

!-----------------------------------------------------------!

schottky-barrier (Schottky), potential (Dirichlet) and electric-field (Neumann) are suitable for equilibrium solutions of the Poisson equation (electrostatics).
For nonequilibrium calculations (current calculations), the specifiers contact-control, applied-voltage or fixed-current apply (as well as schottky-barrier).

poisson-cluster-number  = 1

= 2

= ...
An integer number as usual to refer to a Poisson cluster.

region-cluster-number   = 1
= 8
= ...
A defined geometry region cluster number. An integer number to refer to a region-cluster.

boundary-condition-type = ohmic            !

= Schottky         !

= Dirichlet        !

= Neumann          !
(not implemented yet for 2D and 3D)

= Fermi            !

= Fermi-linear     !
= charge-neutral   !
An ohmic contact implies for equilibrium simulations, i.e. without applied bias,
- Neumann boundary conditions for the Poisson equation (i.e. zero electric field, or more precisely D=0
where D is the dielectric displacement) and
- Dirichlet boundary conditions for the Fermi levels in the current equation.
For the simulation in nonequilibrium, i.e. with applied bias, a Dirichlet boundary condition is used for the Poisson equation.

A Schottky contact requires the specification of a Schottky barrier. A Schottky contact implies
- Dirichlet boundary conditions for the electrostatic potential
- Dirichlet boundary conditions for the Fermi levels
The Dirichlet value for the potential within the contact is determined by requiring that the energetic
distance between the Fermi level and the conduction band edge is equal to the value of the Schottky barrier.
Note: A Schottky contact can also be used to model the effect of Fermi level pinning due to surface states.

Neumann and Dirichlet are boundary conditions applied directly to the Poisson equation.

A Fermi contact implies Dirichlet boundary conditions for the Fermi levels. No boundary conditions are imposed on the electrostatic potential.
Example:
boundary-condition-type = Fermi  !
applied-voltage         = 0.5d0  ! corresponding to an applied voltage of 0.5 V and a Fermi level at -0.5 eV.

A
Fermi-linear contact implies Dirichlet boundary conditions for the Fermi levels. No boundary conditions are imposed on the electrostatic potential.
Example:
boundary-condition-type         = Fermi-linear

Fermi-linear-reference-clusters = 1 3           ! 1
and 3 refer to poisson-cluster-number
Fermi-linear-direction          = 1 0 0         ! along the x direction
= 0 1 0         !
along the y direction
= 0 0 1         !
along the z direction
The Fermi level is chosen to vary linearly along the specified direction between two other contacts (either Fermi, Schottky or ohmic contact) that must be specified as a reference.
Example: If the region where the
Fermi-linear contact is defined, extends from 10 nm to 20 nm, then
- at 10 nm, the Fermi level of reference cluster
1 is taken, and
- at 20 nm, the Fermi level of reference cluster
3 is taken.
In between, linear interpolation is used. The actual position in the structure of the reference Fermi clusters is not taken into account.
Suggestion: One could generalize this feature so that the position of the reference cluster is taken into account, and that the linear interpolation takes these positions into account, instead of the boundaries of the Fermi-linear cluster.

As for the Schottky contact a charge-neutral contact implies
- Dirichlet boundary conditions for the electrostatic potential
- Dirichlet boundary conditions for the Fermi levels
The Dirichlet value for the potential within the contact is determined by requiring local charge neutrality for each grid point.
(not implemented yet)

contact-control         = voltage       ! (default)

= current

Specifies, whether Ohmic or Schottky contact is voltage or current controlled.

If contact-control       = voltage        ! (default)
applied-voltage         = 0.5d0          !
[Volt]
The voltage applied to the contact. Built-ins are calculated internally according to the models for Ohmic and Schottky. Apply voltage to Poisson cluster (Ohmic, Schottky).

If contact-control       = current        ! (default)
fixed-current           = 0.5d0          !
[Ampere]
The value of a fixed current at a current controlled contact. Use fixed-current value  for current controlled boundary condition.

schottky-barrier        = 0.7d0   ! [Volt]
The value for a Schottky barrier in [V]. Schottky barrier height (Schottky), from Fermi level to conduction band edge.

Note: There is an effect called "Fermi level pining". Due to the surface states at the device surface, the Fermi level has to be at a particular distance from the band edge. This means, for example, that a homogeneous sample will have nonzero built-in electric field.

This effect can be reproduced by a Schottky contact. The Schottky contact is always n-type, i.e. the Fermi level is always pinned with respect to the conduction band. For the calculation of the built-in potential for a Schottky contact, the band edge of the conduction band will be pinned above the Fermi level by the value specified for
schottky-barrier.

Alternatively, one can reproduce the effect of "Fermi level pining" if one specifies an electric potential value at the surface (Dirichlet boundary condition). However, the user has to do the following trick:
1) Execute nextnano³ with
zero-potential = yes (\$numeric-control) and without solving the Poisson equation (flow-scheme = 0 or = 3) and determine Ec value at the boundary.
2) Then define a potential value that will pin the Fermi level to the correct energy.

potential               = 0.5d0   ! [Volt]
A fixed value for the potential. A meaningful use only together with Dirichlet. Apply potential to Poisson cluster (Dirichlet only).

electric-field          = 0.5d0   ! [Volt/meter]
A fixed value for the electric field "perpendicular" to the surface. Electric field at 'surface' (Neumann).
Note: Up to now, on simulation domain boundary only field zero is implemented.
Note: Boundary conditions on domain boundaries cannot be specified via input yet, so they are set to type Neumann (electric field = 0) here.
For having nonvanishing fields, one has to specify a semiconductor-air interface with interface charge.
(Note: This is fixed in new beta version.)

temperature             = 300.0d0   ! [K]
Temperature for this poisson boundary condition, e.g. for thermoelectric device simulations (currently only possible for CBR and NEGF)

So what is useful input?

2 ohmic contacts with applied voltage (voltage controlled)

1D structure consisting of 6 region-clusters whereas region-cluster 1 and 6 are at the left and right boundary and serve as ohmic contact regions.
On the left contact we apply a voltage of 0.1 V.

!--------------------------------------------------!
\$poisson-boundary-conditions                       !
!

poisson-cluster-number              = 1           !
region-cluster-number               = 1           !
boundary-condition-type             = ohmic       !
applied-voltage                     = 0.1d0       ! [V]
!
poisson-cluster-number              = 2           !

region-cluster-number               = 6           !
boundary-condition-type             = ohmic       !
applied-voltage                     = 0.0d0       ! [V]
!
\$end_poisson-boundary-conditions
!

!--------------------------------------------------!

2 ohmic contacts with fixed current (current controlled)

Ohmic contacts can also be current controlled rather than voltage controlled.
1D structure consisting of 6 region-clusters whereas region-cluster 1 and 6 are at the left and right boundary and serve as ohmic contact regions.
On the left contact we apply a fixed current of 0.1 A.
On the right contact we apply a fixed current of 0.1 A.

!--------------------------------------------------!
\$poisson-boundary-conditions                       !
!

poisson-cluster-number              = 1           !
region-cluster-number               = 1           !
boundary-condition-type             = ohmic       !
contact-control                     = current     !

fixed-current                       = 0.1d0       ! [A]
!
poisson-cluster-number              = 2           !

region-cluster-number               = 6           !
boundary-condition-type             = ohmic       !

contact-control                     = current     !

fixed-current                       = 0.1d0       ! [A]
!
\$end_poisson-boundary-conditions
!

!--------------------------------------------------!

Schottky barrier (with applied voltage) and ohmic contact

1D structure consisting of 6 region-clusters whereas region-cluster 1 and 6 are at the left and right boundary and serve as contact regions.
On the left contact we apply zero voltage
At the right contact we have a Schottky barrier of 0.7 V and apply a voltage of 0.1 V. The Schottky barrier height is from Fermi level to conduction band edge. Schottky barriers can be used to simulate surface states (e.g. GaAs surface about 0.7 V).

!--------------------------------------------------!
\$poisson-boundary-conditions                       !
!

poisson-cluster-number              = 1           !
region-cluster-number               = 1           !
boundary-condition-type             = ohmic       !
applied-voltage                     = 0.0d0       ! [V]
!
poisson-cluster-number              = 2           !

region-cluster-number               = 6           !
boundary-condition-type             = Schottky    !
schottky-barrier                    = 0.7d0       ! [V]
applied-voltage                     = 0.1d0       ! [V]
!
\$end_poisson-boundary-conditions
!

!--------------------------------------------------!

A fixed value for the potential (Dirichlet)

1D structure consisting of 6 region-clusters whereas region-cluster 6 is at the right boundary and serves as a 'contact' region.
On the right 'contact' we apply as a Poisson boundary condition a fixed potential of 0.3 V (Dirichlet boundary condition).

!--------------------------------------------------!
\$poisson-boundary-conditions                       !
!

poisson-cluster-number              = 1           !
region-cluster-number               = 6           !
boundary-condition-type             = Dirichlet   !
potential                           = 0.3d0       ! [V]
!
\$end_poisson-boundary-conditions
!

!--------------------------------------------------!

A fixed value for the electric field (Neumann) - Electric field at 'surface'

1D structure consisting of 6 region-clusters whereas region-cluster 1 and 6 are at the left and right boundary and serve as contact regions.
On the left contact we apply a fixed value of 0.5 V/m for the electric field "perpendicular" to the surface (Neumann boundary condition).
At the right contact we have a Schottky barrier of 0.7 V. The Schottky barrier height is from Fermi level to conduction band edge. Schottky barriers can be used to simulate surface states (e.g. GaAs surface around 0.7 V).

!--------------------------------------------------!
\$poisson-boundary-conditions                       !
!

poisson-cluster-number              = 1           !
region-cluster-number               = 1           !
boundary-condition-type             = Neumann     !
electric-field                      = 0.5d0       ! [V/m]
!
poisson-cluster-number              = 2           !

region-cluster-number               = 6           !
boundary-condition-type             = Schottky    !
schottky-barrier                    = 0.7d0       ! [V]
!
\$end_poisson-boundary-conditions
!

!--------------------------------------------------!

Setting a boundary condition to the Poisson without \$poisson-boundary-conditions.

Note: There are additional flags in \$numeric-control. They are overwritten by \$poisson-boundary-conditions if this keyword is present which has higher priority.

poisson-boundary-condition-along-x = periodic    ! Dirichlet, Neumann
poisson-boundary-condition-along-y = periodic    ! Dirichlet
, Neumann
poisson-boundary-condition-along-z = periodic    ! Dirichlet
, Neumann