# 2.5.6. grid{ }¶

Calling sequence

grid{ }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• items: $$\mathrm{exactly\;1}$$

Dependencies
Functionality

Specifications of the non-uniform rectangular grid lines.

Example
grid{
xgrid{}
}

global{
simulate1D{}
}

grid{
xgrid{}
ygrid{}
}

global{
simulate2D{}
}

grid{
xgrid{}
ygrid{}
zgrid{}
}

global{
simulate3D{}
}


Nested keywords

## xgrid{ }¶

Calling sequence

grid{ xgrid{ } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

This group is used to define simulation space grid along the $$x$$-axis.

Example
grid{
xgrid{}
}


## xgrid{ min_pos }¶

Calling sequence

grid{ xgrid{ min_pos } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{nm}$$

Functionality

Definition of the smallest, possible $$x$$-coordinate of the simulation domain. Grid lines specified with smaller x-coordinates are ignored.

Example
grid{
xgrid{
min_pos = -50
}
}


## xgrid{ max_pos }¶

Calling sequence

grid{ xgrid{ max_pos } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{nm}$$

Functionality

Definition of the largest, possible x-coordinate of the simulation domain. Grid lines specified with larger $$x$$-coordinates are ignored.

Example
grid{
xgrid{
min_pos = 150
}
}


## xgrid{ allow_spacing_jumps }¶

Calling sequence

grid{ xgrid{ allow_spacing_jumps } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{choice}$$

• choices: $$\mathrm{yes\;/\;no}$$

• default: $$\mathrm{no}$$

Functionality

If set to yes, then it is possible to assign two different grid spacing values to the same grid line, which creates a jump in the grid spacing.

Example
grid{
xgrid{
allow_spacing_jumps = yes
}
}


## xgrid{ line{ } }¶

Calling sequence

grid{ xgrid{ line{ } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• items: $$\mathrm{minimum\;2}$$

Dependencies
Functionality

Group defining a grid lines. As the lines define the total size of the device, at least two of them have to be present for each simulation direction.

Example
grid{
xgrid{
line{ }
}
}


## xgrid{ line{ pos } }¶

Calling sequence

grid{ xgrid{ line{ pos } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{nm}$$

Functionality

Position of the line.

Hint

A good practice is to define lines on all interfaces in the device to provide the geometry definition possibly independent to the choice of the spacing.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2 }
}
}


## xgrid{ line{ spacing } }¶

Calling sequence

grid{ xgrid{ line{ spacing } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$[10^{-3}, \ldots)$$

• unit: $$\mathrm{nm}$$

Functionality

A grid spacing in the vicinity of the position of the line.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2 }
}
}


## xgrid{ line{ array{ } } }¶

Calling sequence

grid{ xgrid{ line{ array{ } } } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

Repeating a single grid line multiple times at equidistant positions. The grid lines are placed according to the following equation:

$$x_n=$$ pos $$+$$ shift $$\times n$$,

where $$\;n=$$ min , … , max

Example
grid{
xgrid{
line{
pos = 5.0   spacing = 0.2
array{...}
}
}
}


## xgrid{ line{ array{ shift } } }¶

Calling sequence

grid{ xgrid{ line{ array{ shift } } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{nm}$$

Functionality

The distance between repeated grid lines.

Example
grid{
xgrid{
line{
line{
pos = 5.0   spacing = 0.2
repeat{ shift = 1.8 }
}
}
}


## xgrid{ line{ array{ min } } }¶

Calling sequence

grid{ xgrid{ line{ array{ min } } } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{integer}$$

• values: $$\{\ldots,-3,-2,-1,0\}$$

• unit: $$\mathrm{-}$$

• default: $$0$$

Functionality

Number of repeated grid lines in negative $$x$$-direction, without counting the original grid line.

Example
grid{
xgrid{
line{
pos = 5.0   spacing = 0.2
array{ shift = 1.8   min = 5 }
}
}
}


## xgrid{ line{ array{ max } } }¶

Calling sequence

grid{ xgrid{ line{ array{ max } } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{integer}$$

• values: $$\{0,1,2,3,\ldots\}$$

• unit: $$\mathrm{-}$$

Functionality

Number of repeated grid lines in positive $$x$$-direction, without counting the original grid line.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   max = 5 }
}
}
}


## xgrid{ line{ array2{ } } }¶

Calling sequence

grid{ xgrid{ line{ array2{ } } } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

This group is intended to be used in conjunction with the group xgrid{ line{ array{ } } }. It allows to repeat the pattern of grid lines generated by xgrid{ line{ array{ } } } multiple times at equidistant positions.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   max = 5 }
array2{...}
}
}
}


## xgrid{ line{ array2{ shift } } }¶

Calling sequence

grid{ xgrid{ line{ array2{ shift } } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{nm}$$

Functionality

The distance between repeated grid lines.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   max = 5 }
array2{ shift = 20.0 }
}
}
}


## xgrid{ line{ array2{ min } } }¶

Calling sequence

grid{ xgrid{ line{ array2{ min } } } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{integer}$$

• values: $$\{\ldots,-3,-2,-1,0\}$$

• unit: $$\mathrm{-}$$

• default: $$0$$

Functionality

Number of repetitions in negative $$x$$-direction, without counting the original array of grid lines.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   max = 5 }
array2{ shift = 20.0   min = 7 }
}
}
}


## xgrid{ line{ array2{ max } } }¶

Calling sequence

grid{ xgrid{ line{ array2{ max } } } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{integer}$$

• values: $$\{0,1,2,3,\ldots\}$$

• unit: $$\mathrm{-}$$

Functionality

Number of repetitions in positive $$x$$-direction, without counting the original array of grid lines.

Example
grid{
xgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   min = 2   max = 5 }
array2{ shift = 20.0   min = 1   max = 3 }
}
}
}


## ygrid{ }¶

Calling sequence

grid{ ygrid{ } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

This group is used to define simulation space grid along the $$y$$-axis. This group has the same properties and allowed keywords as xgrid{ }.

Example
grid{
ygrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   min = 2   max = 5 }
array2{ shift = 20.0   min = 1   max = 3 }
}
}
}


## zgrid{ }¶

Calling sequence

grid{ zgrid{ } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

This group is used to define simulation space grid along the $$z$$-axis. This group has the same properties and allowed keywords as xgrid{ }.

Example
grid{
zgrid{
line{ pos = 5.0   spacing = 0.2
array{ shift = 1.8   min = 2   max = 5 }
array2{ shift = 20.0   min = 1   max = 3 }
}
}
}


## energy_grid{ }¶

Calling sequence

grid{ energy_grid{ } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• items: $$\mathrm{maximum\;1}$$

Functionality

Specifying the discretization of energy.

Example
grid{
energy_grid{...}
}


## energy_grid{ min_energy }¶

Calling sequence

grid{ energy_grid{ min_energy } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{eV}$$

Functionality

Low-energy boundary of the energy grid.

Example
grid{
energy_grid{
min_energy = - 2.1
max_energy = 1.7
}
}


## energy_grid{ max_energy }¶

Calling sequence

grid{ energy_grid{ max_energy } }

Properties
• using: $$\mathrm{\textcolor{WildStrawberry}{required}}$$

• type: $$\mathrm{real\;number}$$

• values: $$\mathrm{no\;constraints}$$

• unit: $$\mathrm{eV}$$

Functionality

High-energy boundary of the energy grid.

Example
grid{
energy_grid{
min_energy = - 2.1
max_energy = 1.7
}
}


## energy_grid{ energy_resolution }¶

Calling sequence

grid{ energy_grid{ energy_resolution } }

Properties
• using: $$\mathrm{\textcolor{ForestGreen}{optional}}$$

• type: $$\mathrm{real\;number}$$

• values: $$[10^{-6}, \ldots)$$

• unit: $$\mathrm{eV}$$

• default: $$10^{-2}$$

Functionality

Spacing between subsequent energy grid points.

Example
grid{
energy_grid{
min_energy = - 2.1
max_energy = 1.7
energy_resolution = 0.005
}
}