The CONTINUATION line

Syntax

  CONTInuation estimate termination bias knee files

Description

The CONTINUATION line instructs PADRE to trace an IV curve by varying the voltage and current on a given electrode using a continuation method.

Parameters

estimate

  INitial      =  logical  (default is false)   
  PREvious     =  logical  (default is true)    
  PROject      =  logical  (default is false)   
  EXtrapolate  =  logical  (default is false)   
  LOcal        =  logical  (default is false)   

The above parameters are used to specify how the initial guess for the solution is to be obtained. The first bias point for a given structure must have the INITIAL parameter specified. From then PADRE will use the previous solution (PREVIOUS) by default. If there are two previous solutions present and equivalent bias steps are taken on any electrodes that are changed, an extrapolation (PROJECT) from the preceding two solutions can be used to sometimes get an improved initial guess, which is particularly good for IV curves that are being traced to a fine resolution. A special Euler projection is also available using the EXTRAPOLATE option which also works quite well for fine IV curve tracing. LOCAL is a special, off-state guess which guesses local values for quasi-Fermi levels based on bias which is typically optimal for for large steps in reverse bias.

termination

  VMIn       =  real     (default is -max[5V,max(|Vi|])
  VMAx       =  real     (default is max[5V,max(|Vi|])
  IMIn       =  real     (default is -max[1mA/mm,max(|Ii|])
  IMAx       =  real     (default is max[1mA/mm,max(|Ii|])
  MAxpnts    =  integer  (default is 30)
  VCross     =  real     (default is 0)
  ICross     =  real     (default is 0)
  N.Vcross   =  real     (default is 1000)
  N.Icross   =  real     (default is 1000)
  I1.vcross  =  real     (default is -infinity)
  I2.vcross  =  real     (default is +infinity)
  V1.icross  =  real     (default is -infinity)
  V2.icross  =  real     (default is +infinity)

A continuation simulation can end on any one of several circumstances. VMIN/VMAX and IMIN/IMAX are the smallest/largest voltage and current that will be allowed at the contact; when exceeded the continuation procedure will terminate. VMIN/VMAX and IMIN/IMAX are also used to scale the IV coordinates so that they always run between 0 and 1. The maximum number of bias points per continuation sequence can be set using MAXPNTS. Termination can also occur if the curve crosses the lines defined by V=VCROSS or I=ICROSS a certain number of times (N.VCROSS for VCROSS, N.ICROSS for ICROSS). The crossings can be further restricted to occur within certain current/voltage limits; for instance a voltage crossing is counted towards the N.VCROSS limit only if the terminal current lies between I1.VCROSS and I2.VCROSS (V1.ICROSS and V2.ICROSS are defined similarly with respect to ICROSS).

bias

  ELectrode  =  integer
  Restart    =  logical  (default is false)
  SIGMa0     =  real
  V.Up       =  logical  (default is true)
  V.Down     =  logical  (default is false)
  I.Log      =  logical  (default is false)
  V.Log      =  logical  (default is false)
  TOL.Sig    =  real     (default is .05)
  ERr.term   =  integer  (default is ELECTRODE)
  SOl.err    =  logical  (default is false)  [Expert]
  L2norm     =  logical  (default is false)  [Expert]
  Power      =  real     (default is 2)
  SIG.MIN    =  real     (default is 1.0e-8)
  SIG.MAX    =  real
  SIG.LIMA   =  real     (default is .5)
  SIG.LIMB   =  real     (default is 2.0)
  SIG.CUT    =  real
  NMaxcut    =  integer  (default is 10)
  CIrcle     =  logical  (default is false)
  N.bias     =  real
  P.bias     =  real

ELECTRODE specifies the contact which will have IV traced. RESTART specifies that the continuation sequence is a restart from a preceding CONTINUATION line, in which case the step size control is carried on; for new sequences, SIGMA0 specifies the initial step size (pseudo-arc length) for the method (in scaled IV coordinates). V.UP (positive voltage step) and V.DOWN (negative voltage step) specify the direction. I.LOG and V.LOG specify that continuation should be performed on the log of the current and voltage respectively. TOL.SIG specifies the accuracy to which the IV curve is traced; it is used to automatically increase or reduce the arc lengths. By default, the IV characteristic at ELECTRODE is monitored, but a different electrode can be used for error control by setting ERR.TERM. Normally the accuracy is measured in terms of the difference in the linear projection and actual bias point; alternatively, the error can be measured in the solution itself using the infinity (L2NORM=false) or L2 norm (L2NORM=true) by specifying SOL.ERR. POWER specifies the order of the extrapolation error (linear=2). SIG.MIN and SIG.MAX are the minimum and maximum allowed arc lengths while SIG.LIMA and SIG.LIMB are the minimum and maximum amounts by which the arc length can change; if the change is less than SIG.LIMB, the previous step will be redone. A positive SIG.CUT will set SIG.MAX to SIG.CUT*sigma(fail) if non-convergence is observed for an arc length sigma(fail). NMAXCUT defines the maximum number of cutbacks of an originally desired step in acr length. CIRCLE forces the auxiliary continuation equation to be a circle rather than a perpendicular so that the arc length is limited to a given radius. Finally, N.BIAS and P.BIAS specify fixed quasi-Fermi potentials for carriers (electrons and holes, respectively) that are not being solved for (see the SOLVE line).

knee

  KNee        =  logical  (default is false)
  ITol.knee   =  real     (default is .01)
  DVtol.Knee  =  real     (default is .05)
  Bisect      =  logical  (default is false)

KNEE specifies that the continuation method is to attempt to capture the first knee (limit point) it finds on the IV curve. ITOL.KNEE and DVTOL.KNEE specify the accuracy to which the knee is desired; ITOL.KNEE is defined as the relative change in consecutive guesses to the knee current, and DVTOL.KNEE is the tolerance in terms of the voltage tangent. BISECT uses a bisection method to find the knee once an IV point has bee acquired on each side; the default is that a much more efficient cubic interpolation procedure is used.

files

  Outfile    =  filename
  SAve       =  integer   (default is 1)
  KFile      =  filename
  EFile      =  filename                      [Expert]
  AFile      =  filename                      [Expert]
  Ufile      =  filename                      [Expert]
  Currents   =  logical   (default is true)
  NO.append  =  logical   (default is false)
  AScii      =  logical   (default is true)

The OUTFILE parameter optionally specifies the name of the output file for the solution of this bias point. The file names may contain up to 20 characters. If an electrode is stepped so that more than one solution is generated by this line and NO.APPEND is not set, the last non-blank character of the supplied file name will have its ascii code incremented by one for each bias point in succession, resulting in a unique file per saved bias point. By default the solutions are saved at every bias point. Alternatively a frequency of saves can be specified by SAVE, i.e. if SAVE=2, solutions will be saved only for every other bias point. KFILE is the name of the file where the solution at the knee will be stored. If CURRENTS is specified, the electron, hole, and displacement currents, and the electric field, will be computed and stored with the solution. IF ASCII is specified, OUTFILE will be ascii as every bias point. EFILE, AFILE and UFILE are output files containing the nonlinear error/residual, Jacobian matrix and update at every Newton iteration, used for the purposes of debugging.

Examples

The following traces an IV curve using terminal 4. Extrapolation is used to obtain initial guesses, and the simulation will terminate when V4 5 volts or I4 1E-4 Amps/mum. The initial step will be <= .05*5 = .25v on V4 and <= 5E-6A in I4.

  CONTIN  ELECT=4 SIGMA=.05 VMAX=5 IMAX=1E-4 TOL.SIG=5E-3 EXTRA