Grid specification
Grid lines (nodes) between explicitly defined grid lines
x-nodes = int1 int2 ...
y-nodes = int1 int2 ...
z-nodes = int1 int2 ...
Grid factors (inhomogeneous grid)
x-grid-factors = double1 double2 ...
y-grid-factors = double1 double2 ...
z-grid-factors = double1 double2 ...
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
.)
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
The grid type selects by an integer array the coordinate axes relevant for
the present simulation.
This specifier contains redundant information, i.e. the same information as
$simulation-dimension, orientation = ...
which
is now used.
However, the specifier grid-type
must be still there although the values specified here can be arbitrary.
(CHECK: Why?)
force-grid-lines-at-simulation-boundaries = yes !
(default: yes
)
= no !
Forces grid lines to exist at minimum and maximum x, y and z coordinates
as specified in $domain-coordinates
.
force-grid-lines-at-region-boundaries =
yes !
(default:
yes
)
= no !
Forces grid lines to exist at region boundary coordinates as specified in
$regions
.
Grid lines
x-grid-lines = double1 double2 double3 ...
! [nm]
y-grid-lines = double1 double2 double3 ...
! [nm]
z-grid-lines = double1 double2 double3
... ! [nm]
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 (or a grid line determined by an
appropriate number of nodes specified in the following).
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.
All our equations are numerically solved on a discrete grid,
i.e. for each node (i.e. grid-lines
and nodes
) a value
for the electrostatic potential and the wave function amplitudes is calculated.
(Even in nature the crystal is not a continuum but is made from discrete
atoms.
For a distance of 1 nm, 7 nodes correspond to a grid spacing of 0.142 nm which
is also the distance of two neighboring atoms in graphene.
The nearest neighbor distance in diamond is 0.154 nm.
The nearest neighbor distance in silicon is 0.235 nm.
The lattice constant in silicon is 0.532 nm.)
In each direction at least three grid points have to be defined,
e.g. one grid line (x-grid-lines
) +
one node (x-nodes
) + one
grid-line (x-grid-lines
) = 3 grid points.
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 grid factor is the exponent of a
geometric series.
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.
A geometric factor of 1.0
is the equivalent of equal spacing.
(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.0
.)
In a geometrically spaced region, the distance between two consecutive nodes changes by the grid factor (rate of change or common ratio).
For instance, with a geometric factor of 2.0
, the largest division is twice the length of the previous division,
which is twice the length of the division before that, ...
Example:
x-grid-lines = -32.0
0.0 32.0 ! [nm]
x-nodes =
31 31
x-grid-factors = 0.5
2.0
The grid lines will be positioned at
-32.0 -16.0 -8.0 -4.0 -2.0 -1.0
-0.5 -0.25 -0.125 -0.0625 ... 0.0 ...
4.0 8.0 16.0 32.0
So the common ratio is 0.5
and
2.0
, i.e. the values are half the
value of the previous one (from -32.0
to 0.0
and
twice the value of the previous one (from 0.0
to 32.0
).
Values of 0.5
and
2.0
are usually too "large". It is best to
use values such as 0.95
or
1.05
that are closer to an equally spaced
grid (1.0
).
!-------------------------------------------------------------
! Define the distance between the two neighboring grid lines.
!-------------------------------------------------------------
distance = coordinate_max - coordinate_min
coordinate_delta = distance * (gridfactor - 1.0) / (gridfactor**(nodes+1) - 1.0)
DO k=1,nodes
coordinate = coordinate_min + coordinate_delta * (gridfactor**k - 1.0) / (gridfactor - 1.0)
END DO