grid{ }

Calling sequence

grid{ }

Properties
  • usage: requiredwithinthegroup

  • items: exactly1

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
  • usage: requiredwithinthegroup

  • items: exactly1

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
  • usage: optionalwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: optionalwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: optionalwithinthegroup

  • type: choice

  • choices: yes; no

  • default: 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
  • usage: requiredwithinthegroup

  • items: minimum2

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
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: [1e-3, ...)

  • unit: 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
  • usage: conditional

  • items: maximum1

Dependencies
Functionality

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

xn= pos + shift ×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
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: optionalwithinthegroup

  • type: integer

  • values: {..., -3, -2, -1, 0}

  • unit:

  • 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
  • usage: requiredwithinthegroup

  • type: integer

  • values: {0, 1, 2, 3, ...}

  • unit:

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
  • usage: conditional

  • items: maximum1

Dependencies
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
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: optionalwithinthegroup

  • type: integer

  • values: {..., -3, -2, -1, 0}

  • unit:

  • 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
  • usage: requiredwithinthegroup

  • type: integer

  • values: {0, 1, 2, 3, ...}

  • unit:

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
  • usage: conditional

  • items: maximum1

Dependencies
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
  • usage: conditional

  • items: maximum1

Dependencies
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
  • usage: optionalwithinthegroup

  • items: maximum1

Functionality

Specifying the discretization of energy.

Example
grid{
    energy_grid{...}
}

energy_grid{ min_energy }

Calling sequence

grid{ energy_grid{ min_energy } }

Properties
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: requiredwithinthegroup

  • type: realnumber

  • values: no constraints

  • unit: 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
  • usage: optionalwithinthegroup

  • type: realnumber

  • values: [1e-6, ...)

  • unit: eV

  • default: 1e-2

Functionality

Spacing between subsequent energy grid points.

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