Skip to main content

Solver Options

1. Overview

This section provides a brief introduction to the simulator's settings and parameters, which control the behaviour of the simulation engine.

To edit or view the solver options:

  1. From the main menu, select Simulation -> Solver Options, or click the Device Icon button.

2. General

NameDescriptionUnit
Minimum Network ResistanceSpecifies the resistance value of the linking resistor used to connect a device to the circuit.Ω
Result File Output TypeSpecifies the type of solution point files which are created by the solver. Options: [Original, Binary, Ascii, None].-
Numerical PrecisionSpecifies the numerical precision used by the solver. In certain simulations, such as reverse bias conditions for wide bandgap materials, higher precision (i.e. Quadruple Precision) may be necessary to capture small current levels accurately. Options: [Double, Quadruple]-
Monitor SolverIf enabled the solver output will display more detailed information as simulation progresses. Options: [On, Off]-

3. Equations to Solve

These options allow the user to select which physical equations are included in the device simulation. Enabling or disabling specific equations controls which physical effects are modelled.

NameDescriptionUnit
Poisson’s EquationSolves for the electrostatic potential within the device, determining the electric field and charge distribution. Options: [On, Off].-
Hole Continuity EquationComputes the transport and recombination of holes, enabling simulation of p-type carrier behaviour. Options: [On, Off].-
Electron Continuity EquationComputes the transport and recombination of electrons, enabling simulation of n-type carrier behaviour. Options: [On, Off].-
Heat EquationModels self-heating by solving for the temperature distribution in the device. This equation is only needed for electrothermal simulations. Options: [On, Off].-

4. Linear Algebra Settings

The linear solver computes the solution to the set of linear equations that arise at each Newton step of the simulation.

NameDescriptionUnit
Solver TypeSelects the linear algebra method used to solve the system of equations at each Newton step. CGS and CGSTAB are iterative solvers suitable for large, sparse matrices, while DIRECT uses a direct factorisation method that is more robust but can require significantly more memory. Options: [CGS, CGSTAB or DIRECT].-
Maximum Number of LoopsSpecifies the maximum number of iterations the solver is allowed to perform when attempting to converge to a solution.-
ToleranceSpecifies the convergence threshold for the iterative linear solver. Lower values require tighter accuracy but may increase computation time.-
Pivot FactorSpecifies the amount of additional workspace allocated to the direct linear solver during matrix factorisation. Increasing this value helps the solver remain robust when the system matrix is ill-conditioned or difficult to factor, but may increase memory usage.-
note

Explanations of each abbreviations used above:

  • CGS: Conjugate Gradient Squared. An iterative solver for general (non-symmetric) matrices that can converge quickly but may be less stable.

  • CGS-STAB: Stabilised Conjugate Gradient Squared. A variant of CGS designed to provide more stable and reliable convergence for non-symmetric systems.

5. Non-Linear Algebra Settings

These parameters control how the simulator solves the non-linear system of equations that arise during each Newton iteration. They determine convergence criteria, damping behaviour, and the overall robustness of the non-linear solution process.

5.1. Equation Coupling

Equation coupling controls how the electrical, thermal, and carrier-transport equations are solved in relation to one another. Different coupling modes allow the solver to balance stability and performance depending on the complexity of the device physics.

NameDescriptionUnit
Coupled TypeDisplays how the device equations are solved. Options: [Fully Coupled, Decoupled Electrothermal].-
Max Decoupled LoopsMaximum number of decoupled iterations performed before switching back to a fully coupled Newton solve or reporting non-convergence. Only used with Decoupled Electrothermal.-

5.1.1. Coupled Type

5.1.1.1. Fully Coupled

All governing equations are solved simultaneously within a single Newton iteration. This provides the most stable and accurate solution but may be slower. This is used when the thermal equation is not solved.

5.1.1.2. Decoupled Electrothermal

Electrical and carrier equations are solved together, while the thermal equation is solved separately. This is used when the thermal equation is solved.

The Newton Search refers to the iterative solution process that drives the device equations toward a self-consistent solution. At each iteration, the solver updates all unknown quantities until the residuals fall within the specified convergence tolerances.

NameDescriptionUnit
Max Newton LoopsMaximum number of Newton iterations allowed per solution step.-
Network ToleranceSpecifies the convergence tolerance for network voltages of the external circuit.V
Voltage ToleranceSpecifies the convergence tolerance for the internal device node voltages.V
Max Voltage UpdateMaximum voltage update at any node in the mesh for a single Newton step.V
Temperature ToleranceSpecifies the convergence tolerance for internal device node temperatures.K
Max Temperature UpdateThe maximum allowed temperature change at any mesh node per Newton iteration.K
Temperature StepThe temperature increment used when numerically computing temperature-dependent derivatives.K

5.3. Back Tracking

Backtracking adjusts the Newton update when a full step would cause divergence, reducing the step size to help the solver recover and move toward a stable solution.

NameDescriptionUnit
Max Update IncreasesMaximum number of times a solution update is allowed to increase before the solution is assumed to have failed and back-tracking is used.-
Max No Back Track StepsSpecifies the maximum number of back-tracking attempts permitted within a single Newton iteration to recover convergence.-
Back Track Increment FactorMultiplication factor used to increase bias after a successful back-tracked step, helping the solver resume progress.-
Back Track Decrement FactorDivision factor used to reduce the applied bias when back-tracking is triggered-
Save Back TrackSpecifies whether to save solution points when the solver back-tracks. Options: [On, Off].-

6. Transient Solution Settings

6.1. Run Time

6.1.1. Simulation End Time

NameDescriptionUnit
Simulation End TimeSpecifies the final simulation time for a transient analysis. The solver advances time steps until this time is reached.s

6.1.2. Write Times

These parameters control when the full internal solution is written to disk during a transient simulation. The internal solution is written to a separate file that is referenced by the main ASCII results file (.res). This file contains a single full internal solution at each write event. When multiple devices are present, each device’s internal solution is saved to its own file.

For steady-state simulations, the internal solution is always written at each bias point. However, for transient simulations, the user may wish to explicitly control when this internal solution file is written.

The Save Options parameter determines how these write times are selected.

NameDescriptionUnit
Save OptionsSelects the method used to determine write times for the internal solution file. Options: [Equal Spacing or Time Steps]-
Save Result Every (seconds)Active when Save Options is set to Equal Spacing. The internal solution is written at this time interval.s
Save Result Every (Time Steps)Active when Save Options is set to Time Steps. The internal solution is written after this specified number of time steps.-

6.2. Time Step

These parameters are used to control the time steps in a transient simulation.

The simulator uses a backward Euler time stepping algorithm. The time steps can be supplied either manually or selected by the simulator in two ways. These options are given as:

  1. Newton Loops
  2. Automatic
NameDescriptionUnit
Time Stepping MethodSelects the strategy used for adjusting the time step during the simulation. Options: [Automatic or Newton Loops].-
Minimum Time StepThe smallest time step the solver is permitted to take.s
Maximum Time StepThe largest time step the solver is permitted to take.s

In all cases above it is likely that at some point the Newton-process will fail. If this happens the simulator will "back-track", this involves reducing the time step until the process converges. This will always happen since at very small time steps the difference between the solution at the last time step and that at this time step are sufficiently small that the solution must converge. Once convergence is achieved the process will continue on forward again.

6.2.1. Automatic

Automatic time stepping relies on a Predictor–Corrector method to manage step size. This approach calculates an error estimate by comparing the initial guess from the explicit predictor (which calculates the future state directly from the current one) with the refined solution from the implicit corrector (which requires solving for the future state iteratively). If the estimated error is too large, the time step is rejected and reduced. Otherwise, it is accepted, and a larger step size is recommended for the subsequent iteration.

NameDescriptionUnit
Initial Time StepThe time step used at the beginning of the transient simulation before any adaptive adjustments are made.s
Relative Error ToleranceThe maximum allowable relative error between the predictor (explicit) and corrector (implicit) solutions.
Absolute Error ToleranceThe maximum allowable absolute error between the predictor and corrector solutions, independent of scale.

6.2.2. Newton Loops

The final method for selecting the time step is based on monitoring the number of Newton iterations required for each non-linear solution step. If only a small number of Newton iterations are needed, the algorithm increases the time step. Conversely, if many iterations are required, the time step is reduced accordingly.

NameDescriptionUnit
Initial Time StepThe time step used at the beginning of the transient simulation before any adaptive adjustments are made.s
Lower Newton Step ThresholdIf the number of Newton iterations in a solution step falls below this threshold, the solver interprets the step as easy to converge and will increase the time step.
Upper Newton Step ThresholdIf the number of Newton iterations in a solution step exceeds this threshold, the solver interprets the step as difficult to converge and reduces the time step.
Time Step Increase FactorThe multiplicative factor applied to increase the time step when Newton iterations fall below the lower threshold.-
Time Step Decrease FactorThe multiplicative factor applied to reduce the time step when Newton iterations exceed the upper threshold.