[ Home ] [ News ] [ Contact ] [ Search ] Grid specification

 ==> Download Software
 nextnano³ documentation

 Copyright notice
 About us
 Useful Links
 Publications
 * password protected

 

 
Up
 

Grid specification

 

!------------------------------------------------!
$grid-specification                    required  !
 grid-type            integer_array    optional  ! 1 1 1 for xyz-grid, 1 0 1 for xz-grid, 1 1 0 for xy-grid ..., 1 0 0 for x-grid
                                                 ! redundant: $simulation-dimension, orientation = ... is now used.
 x-grid-lines         double_array     optional  ! specification of gridlines required
 x-nodes              integer_array    optional  ! subregions, specified by gridlines above must be on a grid line of the final grid
 x-grid-factors       double_array     optional  ! grid coarsening factors in subregions
 y-grid-lines         double_array     optional  ! specification of gridlines required
 y-nodes              integer_array    optional  ! subregions, specified by gridlines above must be on a grid line of the final grid
 y-grid-factors       double_array     optional  ! grid coarsening factors in subregions
 z-grid-lines         double_array     optional  ! specification of gridlines required
 z-nodes              integer_array    optional  ! subregions, specified by gridlines above must be on a grid line of the final grid
 z-grid-factors       double_array     optional  ! grid coarsening factors in subregions
$end_grid-specification                required  !
!------------------------------------------------!

Grid type

grid-type = 1 1 1 for xyz-grid
          = 1 0 1 for xz-grid
          = 1 1 0
for xy-grid
          =  ...
          = 1 0 0
for x-grid

Grid type selects by an integer array the coordinate axis relevant for the present simulation. It must be identical to the array orientation specified under the keyword $simulation-dimension. The input for the grid type is required and mainly used for consistency checks.
 

Grid lines

x-grid-lines = double1  double2  double3 ...
y-grid-lines = double1  double2  double3 ...
z-grid-lines = double1  double2  double3 ...

Explicit specification of grid lines for the coordinate directions of the simulation domain. For each coordinate specified under keyword $regions there must exist a grid line. In addition to these, one is allowed to specify extra grid lines. At material boundaries there must be a grid line.

 

Grid lines (nodes) between explicitly defined grid lines

x-nodes = int1  int2  ...
y-nodes = int1  int2  ...
z-nodes = int1  int2  ...

Between each grid line there are a certain number of nodes. One node is a kind of grid line.
(The final grid which is called physical grid, consisting of grid lines and nodes is being transformed to the material grid (volume grid). A material grid point is placed exactly in between two physical grid points. The physical grid is being discretized to solve for instance the Poisson equation. More information on grids ...)

Subregions, specified by grid lines above, must be on a grid line of the final grid.

Add int1, int2, ... grid lines between two explicitly specified grid lines above. Between any explicitly defined pair of gridlines, the number of additional nodes must be specified, even if zero grid lines (nodes) have to be added.

For a distance of 1 nm, 2 nodes should be a maximum (upper limit).

 

Grid factors (inhomogeneous grid)

x-grid-factors = double1  double2  ...
y-grid-factors = double1  double2  ...
z-grid-factors = double1  double2  ...

Grid coarsening factors in subregions.

The nodes specified above are distributed according to a geometric series between the explicitly defined grid lines. The spacing between successive additional grid lines increases (factor > 1.0) or decreases (factor <1.0) in the corresponding coordinate axis direction.
(Comment: The term "inhomogeneous" refers to grid lines (=nodes) between two adjacent grid lines (=x/y/z-grid-lines). However, the total grid of the whole device is likely to be inhomogeneous in general even if the grid factor is always 1.0d0.)

 

1D Example

$grid-specification
 grid-type      = 0 0 1
 z-grid-lines   =
0d0  50d0  100d0  108d0  116d0  196d0  246d0  296d0
 z-nodes        = 
   5     20     15     15     25     20     5
 z-grid-factors =
   1d0   2d0    1d0    1d0    1d0    1d0    1d0
$end_grid-specification

For a distance of 1 nm, 2 nodes should be a maximum (upper limit).

 

2D Example

This picture resembles the Double Gate MOSFET in 2D Tutorial.

This grid was produced by the following lines in the input file:

!---------------------------------------------------------------------------!
$regions                                                                    !
region-number = 1          base-geometry = rectangle   region-priority = 1  !
x-coordinates = 19d0 28d0  y-coordinates = 0d0 116d0                        !
Si
region-number = 2          base-geometry = rectangle   region-priority = 2  !
x-coordinates = 19d0 28d0  y-coordinates = 0d0 8d0                          !
Source
region-number = 3          base-geometry = rectangle   region-priority = 2  !
x-coordinates = 19d0 28d0  y-coordinates = 108d0 116d0                      !
Drain
region-number = 4          base-geometry = rectangle   region-priority = 2  !
x-coordinates = 0d0 17d0   y-coordinates = 39d0 78d0                        !
Gate
region-number = 5          base-geometry = rectangle   region-priority = 2  !
x-coordinates = 30d0 48d0  y-coordinates = 39d0 78d0                        !
Backgate
$end_regions                                                                !
!---------------------------------------------------------------------------!

!---------------------------------------------------------------------------!
$grid-specification
                                                         !
grid-type      = 0 1 1                                                      !
x-grid-lines   = 0d0 17d0 19d0 19.5d0 27.5d0 28d0 30d0 48d0                 !
x-nodes        =    3    5    1      10     1    5    3                     !
x-grid-factors =    1d0  1d0  1d0    1d0    1d0  1d0  1d0                   !
y-grid-lines   = 0d0 8d0 39d0 39.5d0 77.5d0 78d0 108d0 116d0                !
y-nodes        =    1   10   1      20     1    10    1                     !
y-grid-factors =    1d0 1d0  1d0    1d0    1d0  1d0   1d0                   !
$end_grid-specification                                                     !
!---------------------------------------------------------------------------!

Every x or y value under $regions has to be specified under $grid-specification. Then a grid line is set. Between these grid lines additional grid lines are set depending on the value of nodes.

 

   
Last modified: 09-Jun-2011