SEMITIP V6, program Mult1
This program computes the electrostatic potential between a metallic tip and a nonuniform (inhomogeneous) semiconducting sample, for a 1-dimensional geometry.
Version 6.2; see top of Mult1-6.2.f source code in example(s) below for prior version information.
Source code files for the program are available in the example(s) provided below. In order to specify the inhomogeneities in the semiconductor, it is necessary to modify the source code as follows:
Additional details of these source code modifications can be found in the
SEMITIP V6 Technical Manual. With the appropriate modifications, the source code of the main program, together with the subroutines listed below, must by re-compiled and linked in order to produce the executable code.
All input for the program (other than that modifications to the source code detailed above) comes from the file FORT.9, which is also included in the example(s) provided below.
The routine IGETREG (at the bottom of the source code) defines the various regions in the semiconductor. The input parameter S is the z position in the semiconductor, and the routine should return an integer value giving the number of the region for this z position (i.e. return a value of 1 to use the first set of parameters in the FORT.9 input file defining the semiconductor region, a value of 2 for the second set of parameters, etc.).
The maximum number of region types in the semiconductor is specified in the main programs and its associated routines by NREGDIM as set in the PARAMETER statements. By default this value is set to 2, but that can be increased by changing all of the PARAMETER statements.
Output from the program is contained in the following files
(output depends on the value of the output parameter IWRIT as specified
in the input file FORT.9):
- FORT.10 - gives the numerical results for the following quantities:
- tip-sample separation (nm)
- sample-tip bias voltage (V)
- contact potential (eV)
- Pot0 - the surface potential at the semiconductor surface (eV).
- FORT.11 - provides the potential (eV) along the z axis, as a
function of distance (output for IWRIT>=1).
- FORT.16 - gives an exact copy of the output to the console
All of the parameters in the program can be varied using the input file FORT.9, with the exception of the array sizes, the specification of a surface state density other than a uniform or Gaussian shaped one, and the specification of spatial arrangement of bulk charge density. See
SEMITIP V6 Technical Manual
for additional information on these user-defined functions. Modification of those functions
can be accomplished by changing the source code of the program. The source code is available, in the following files (version numbers follow the dash in the names):
All routines are written in Fortran. The source code can be downloaded
directly from the above locations, and it can be compiled and linked
on any platform. Sample input and output from the program is shown in the examples below.
main program, available in example(s) below.
general purpose Golden Section search routine, for dealing with nonlinear aspects of the problem.
routines for computing semiconductor charge densities.
performs the detailed finite element solution of Poisson's equation.
routines for handling surface charge densities.
Illustrative Examples of Running the Code
GaAs(110) with 10 nm thick undoped region on n-type material