contacts{ }¶
- Calling sequence
contacts{ }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
items: \(\mathrm{exactly\;1}\)
- Dependencies
At least one of fermi{ }, fermi_electron{ }, fermi_hole{ }, schottky{ }, ohmic{ }, zero_field{ }, and charge_neutral{ } must be defined.
- Functionality
Defines available boundary conditions for the Current and Poisson equations. These conditions can be assigned to specific regions by referring to assigned attribute name. We use the name contacts for these boundary conditions since typically they are chosen as the most outer regions of the structures aiming at simulating real contacts of some devices. It is, however, important to remember that whether these regions correspond to any contact in a real device or not depends on how semiconductors behave near the contact at specific conditions. To model the contacts properly, some knowledge about physics around contacts, specifically about Fermi levels and (or) electric potential, in the modeled device is required and should be applied as the boundary conditions for our solver.
All available groups for specifying boundary conditions for the Current and Poisson equations are described below. It is important to remember that, on top of them, the global boundary conditions are applied to the electrostatic potential \(\phi(x)\) at the boundaries of the entire simulation. These are either, default, Neumann boundary conditions \(\frac{{\text d}}{{\text d} x}\phi(x) = 0\) or periodic boundary conditions.
Attention
At each grid point, only one type of contact can exist. For overlapping contact regions, the last defined contact on this grid point is used.
- Examples
contacts{ fermi{...} }
contacts{ schottky{...} ohmic{...} }
Nested keywords
vacuum_level¶
- Calling sequence
contacts{ vacuum_level }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{real\;number}\)
values:
[-1e2, 1e2]
default:
6.3
unit: \(\mathrm{eV}\)
- Functionality
Energy of vacuum level \(E_{vac}\), used for schottky{ }. The value 6.3 eV is predefined in correspondence to the band offsets in the default database.
- Example
contacts{ vacuum_level = 6.2 schottky{...} }
schottky{ }¶
- Calling sequence
contacts{ schottky{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Dependencies
Exatly one of schottky{ barrier } and schottky{ work_function } must be defined within this group.
- Functionality
This keyword applies Dirichlet boundary conditions to the Fermi levels \(E_{F,e}(x)\) and \(E_{F,h}(x)\)
\[E_{F,e}(x) = E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias, and Dirichlet boundary conditions to the electrostatic potential \(\phi(x)\)
\[\phi(x) = \phi_0,\]where \(\phi_0\) is determined numerically by requiring that the difference of the conduction band edge \(E_c^{\Gamma}(x)\) and the Fermi level \(E_F\) is equal to the value of given Schottky barrier \(B\),
\[E_c^{\Gamma}(x) - E_F = B,\]or by requiring that the difference of the vacuum level \(E_{vac}\) and the Fermi level \(E_F\) is equal to the value of given work function \(W\),
\[E_{vac} - E_F = W.\]Attention
The Schottky contact with schottky{ barrier } defined requires paying attention to the material chosen for the region of the contact, as this material is used as a reference for the definition.
- Example
contacts{ schottky{...} }
schottky{ name }¶
- Calling sequence
contacts{ schottky{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }
- Example
contacts{ schottky{ name = "schottky_contact" ... } }
schottky{ bias }¶
- Calling sequence
contacts{ schottky{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\)
- Example
contacts{ schottky{ name = "schottky_1" bias = 0.0 ... } schottky{ name = "schottky_2" bias = [ 0.0, 0.5 ] ... } schottky{ name = "schottky_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] ... } }
schottky{ steps }¶
- Calling sequence
contacts{ schottky{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Example
contacts{ schottky{ name = "schottky_1" bias = [ 0.0, 0.5 ] steps = 10 ... } schottky{ name = "schottky_2" bias = [ 0.0, 0.1, 1.0] steps = 10 ... } }
schottky{ barrier }¶
- Calling sequence
contacts{ schottky{ barrier } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
type: \(\mathrm{real\;number}\)
values:
[-1e2, 1e2]
unit: \(\mathrm{eV}\)
- Functionality
A Schottky barrier \(B\) - a difference between conduction band minimum and the Fermi level
- Example
contacts{ schottky{ name = "schottky" bias = 0.0 barrier = 0.2 } }
schottky{ work_function }¶
- Calling sequence
contacts{ schottky{ work_function } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
type: \(\mathrm{real\;number}\)
values:
[-1e2, 1e2]
unit: \(\mathrm{eV}\)
- Functionality
Work function \(W\) - a difference between vacuum level and the Fermi level The Schottky-Mott is be used to determine the barrier height of the contact.
Note
Due to Fermi level pinning, experimentally measured Schottky barrier heights may be quite different.
Hint
You can check the section about Band Offsets to estimate the energy of vacuum level in respect to band extrema of materials in your simulation.
Hint
This keyword can be successfully used to model the effect of Fermi level pinning due to surface states.
- Example
contacts{ schottky{ name = "schottky" bias = 0.0 work_function = 0.2 } }
ohmic{ }¶
- Calling sequence
contacts{ ohmic{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
This keyword applies Dirichlet boundary conditions to the electrostatic potential \(\phi(x)\)
\[\phi(x) = \phi_0,\]where \(\phi_0\) is determined numerically by requiring local charge neutrality for each grid point of the contact if the shift parameter \(\Delta U = 0\), and Dirichlet boundary conditions to the Fermi levels \(E_{F,e}(x)\) and \(E_{F,h}(x)\)
\[E_{F,e}(x) = E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias. If \(\Delta U \ne 0\) then, after the procedure described above, band edges are moved by the value \(-q\Delta U\) and \(\phi_0\) is recalculated.
Attention
Material under the ohmic contact influences computing charge neutrality conditions. Therefore, one should pay attention to the material (and doping) chosen for the region of this type of contact.
Note
Check bisection{ } to learn about applied algorithm for definition of quasi-Fermi levels in this contact.
- Example
contacts{ ohmic{...} }
ohmic{ name }¶
- Calling sequence
contacts{ ohmic{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }.
- Example
contacts{ ohmic{ name = "ohmic_contact" ... } }
ohmic{ bias }¶
- Calling sequence
contacts{ ohmic{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\).
- Example
contacts{ ohmic{ name = "ohmic_1" bias = 0.0 } ohmic{ name = "ohmic_2" bias = [ 0.0, 0.5 ] } ohmic{ name = "ohmic_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
ohmic{ steps }¶
- Calling sequence
contacts{ ohmic{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points.
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Example
contacts{ ohmic{ name = "ohmic_1" bias = [ 0.0, 0.5 ] steps = 10 } ohmic{ name = "ohmic_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
ohmic{ shift }¶
- Calling sequence
contacts{ ohmic{ shift } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{real\;number}\)
values: no constraints
default:
0.0
unit: \(\mathrm{eV}\)
- Functionality
Shift potential energy of the bands \(\Delta U\).
Hint
You may find this keyword useful to calculate the energy levels in a quantum well (QW) or quantum cascade laser (QCL) as a function of applied bias.
Note
Check bisection{ } to learn about applied algorithm for definition of quasi-Fermi levels in this contact.
- Example
contacts{ ohmic{ name = "ohmic_contact" bias = [ 0.0, 0.5 ] shift = 0.05 } }
fermi{ }¶
- Calling sequence
contacts{ fermi{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
Applies Dirichlet boundary conditions to the Fermi levels \(E_{F,e}(x)\) and \(E_{F,h}(x)\)
\[E_{F,e}(x) = E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias. No boundary conditions are specified for the electrostatic potential \(\phi(x)\).
- Example
contacts{ fermi{...} }
fermi{ name }¶
- Calling sequence
contacts{ fermi{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }
Attention
When triggered, both Poisson and Schrödinger equations are solved in the regions with these boundary conditions.
- Example
contacts{ fermi{ name = "fermi_contact" ... } }
fermi{ bias }¶
- Calling sequence
contacts{ fermi{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\).
- Example
contacts{ fermi{ name = "fermi_1" bias = 0.0 } fermi{ name = "fermi_2" bias = [ 0.0, 0.5 ] } fermi{ name = "fermi_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
fermi{ steps }¶
- Calling sequence
contacts{ fermi{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Example
contacts{ fermi{ name = "fermi_1" bias = [ 0.0, 0.5 ] steps = 10 } fermi{ name = "fermi_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
fermi_electron{ }¶
- Calling sequence
contacts{ fermi_electron{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
This keyword applies only Dirichlet boundary conditions to the quasi-Fermi level for electrons \(E_{F,e}(x)\)
\[E_{F,e}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias. No boundary conditions are specified for the electrostatic potential \(\phi(x)\) and for quasi-Fermi level for holes \(E_{F,h}(x)\).
Attention
As quasi-Fermi level for holes \(E_{F,h}(x)\) is not defined within this group, other contacts are necessary to do so.
Attention
When triggered, both Poisson and Schrödinger equations are solved in the regions with these boundary conditions.
- Example
contacts{ fermi_electron{...} }
fermi_electron{ name }¶
- Calling sequence
contacts{ fermi_electron{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }
- Example
contacts{ fermi_electron{ name = "fermi_el" ... } }
fermi_electron{ bias }¶
- Calling sequence
contacts{ fermi_electron{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\).
- Example
contacts{ fermi_electron{ name = "fermi_el_1" bias = 0.0 } fermi_electron{ name = "fermi_el_2" bias = [ 0.0, 0.5 ] } fermi_electron{ name = "fermi_el_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
fermi_electron{ steps }¶
- Calling sequence
contacts{ fermi_electron{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points.
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Examples
contacts{ fermi_electron{ name = "fermi_el_1" bias = [ 0.0, 0.5 ] steps = 10 } fermi_electron{ name = "fermi_el_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
fermi_hole{ }¶
- Calling sequence
contacts{ fermi_hole{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
This keyword applies only Dirichlet boundary conditions to the quasi-Fermi level for holes \(E_{F,h}(x)\)
\[E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias. No boundary conditions are specified for the electrostatic potential \(\phi(x)\) and for quasi-Fermi level for electrons \(E_{F,e}(x)\).
- Example
contacts{ fermi_hole{...} }
fermi_hole{ name }¶
- Calling sequence
contacts{ fermi_hole{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }
Attention
As quasi-Fermi level for electrons \(E_{F,e}(x)\) is not defined within this group, other contacts are necessary to do so.
Attention
When triggered, both Poisson and Schrödinger equations are solved in the regions with these boundary conditions.
- Example
contacts{ fermi_hole{ name = "fermi_hl" ... } }
fermi_hole{ bias }¶
- Calling sequence
contacts{ fermi_hole{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\).
- Example
contacts{ fermi_hole{ name = "fermi_hl_1" bias = 0.0 } fermi_hole{ name = "fermi_hl_2" bias = [ 0.0, 0.5 ] } fermi_hole{ name = "fermi_hl_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
fermi_hole{ steps }¶
- Calling sequence
contacts{ fermi_hole{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Examples
contacts{ fermi_hole{ name = "fermi_hl_1" bias = [ 0.0, 0.5 ] steps = 10 } fermi_hole{ name = "fermi_hl_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
charge_neutral{ }¶
- Calling sequence
contacts{ charge_neutral{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
This keyword applies Dirichlet boundary conditions to the electrostatic potential \(\phi(x)\)
\[\phi(x) = \phi_0,\]where \(\phi_0\) determined numerically by requiring local charge neutrality for each grid point of the contact, and Dirichlet boundary conditions to the Fermi levels \(E_{F,e}(x)\) and \(E_{F,h}(x)\)
\[E_{F,e}(x) = E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias.
Attention
Material under the Charge-Neutral contact influences computing charge neutrality conditions. Therefore, one should pay attention to the material (and doping) chosen for the region of this type of contact.
Hint
You may find this keyword useful to calculate the energy levels in a quantum well (QW) or quantum cascade laser (QCL) as a function of applied bias.
Note
Check bisection{ } to learn about applied algorithm for definition of quasi-Fermi levels in this contact.
- Example
contacts{ charge_neutral{...} }
charge_neutral{ name }¶
- Calling sequence
contacts{ charge_neutral{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }.
- Example
contacts{ charge_neutral{ name = "charge_neutral_contact" ... } }
charge_neutral{ bias }¶
- Calling sequence
contacts{ charge_neutral{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\).
- Example
contacts{ charge_neutral{ name = "charge_neutral_1" bias = 0.0 } charge_neutral{ name = "charge_neutral_2" bias = [ 0.0, 0.5 ] } charge_neutral{ name = "charge_neutral_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
charge_neutral{ steps }¶
- Calling sequence
contacts{ charge_neutral{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points.
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Example
contacts{ charge_neutral{ name = "charge_neutral_1" bias = [ 0.0, 0.5 ] steps = 10 } charge_neutral{ name = "charge_neutral_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
zero_field{ }¶
- Calling sequence
contacts{ zero_field{ } }
- Properties
using: \(\mathrm{\textcolor{Dandelion}{conditional}}\)
items: \(\mathrm{no\;constraints}\)
- Functionality
This keyword applies Neumann boundary conditions to the electrostatic potential \(\phi(x)\)
\[\frac{\text d }{{\text d} x}\phi(x) = 0,\]and Dirichlet boundary conditions to the Fermi levels \(E_{F,e}(x)\) and \(E_{F,h}(x)\)
\[E_{F,e}(x) = E_{F,h}(x) = -qU,\]where \(q\) is the elementary charge and \(U\) is an explicitly defined bias.
Attention
Material under the Zero-Field contact influences computing charge neutrality conditions. Therefore, one should pay attention to the material (and doping) chosen for the region of this type of contact.
- Example
contacts{ zero_field{...} }
zero_field{ name }¶
- Calling sequence
contacts{ zero_field{ name } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{character\;string}\)
- Functionality
A name of the contact for referencing it in structure{ region{ contact{} } }
Attention
Use of this group is typically not recommended. Quantum regions extending into zero field contacts will cause carrier densities higher than those in metals and Fermi levels in the range of keV. The cause of this is a nonphysical way in which zero field contacts are calculated, by enforcing a Neumann zero-field condition at the contact.
- Example
contacts{ zero_field{ name = "zero_field_contact" ... } }
zero_field{ bias }¶
- Calling sequence
contacts{ zero_field{ bias } }
- Properties
using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)
type: \(\mathrm{vector\;of\;up\;to\;100\;real\;numbers}\)
values: no constraints
unit: \(\mathrm{V}\)
- Functionality
Explicitly defined bias \(U\)
- Example
contacts{ zero_field{ name = "zero_field_1" bias = 0.0 } zero_field{ name = "zero_field_2" bias = [ 0.0, 0.5 ] } zero_field{ name = "zero_field_3" bias = [ 0.0, 0.01, 0.02, 0.04, 0.08, 0.16 ] } }
zero_field{ steps }¶
- Calling sequence
contacts{ zero_field{ steps } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{integer}\)
values:
{1, 2, 3, ..., 999}
default:
1
unit: \(\mathrm{-}\)
- Functionality
Number of biases between consecutive bias points
Hint
See file bias_points.log to see the actual bias values used. This file contains the mapping between bias values and bias index for all bias points.
- Example
contacts{ zero_field{ name = "zero_field_1" bias = [ 0.0, 0.5 ] steps = 10 } zero_field{ name = "zero_field_2" bias = [ 0.0, 0.1, 1.0] steps = 10 } }
long_directory_names¶
- Calling sequence
contacts{ long_directory_names }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
type: \(\mathrm{choice}\)
choices:
yes
;no
default:
no
- Functionality
An attribute allowing to use longer names for bias subdirectories, dependent on the number of defined contacts. If
long_directory_names = no
then bias subdirectories are enumerated asbias_*****
independently of the numbers of contacts defined.If
long_directory_names = yes
: bias subdirectories are namedbias_000_001_***_...
which could result in issues with too long file paths for inputs with a large number of contacts.- Example
contacts{ long_directory_names = yes fermi{...} }