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:
- From the main menu, select
Simulation->Solver Options, or click the
button.

2. General
| Name | Description | Unit |
|---|---|---|
Minimum Network Resistance | Specifies the resistance value of the linking resistor used to connect a device to the circuit. | Ω |
Result File Output Type | Specifies the type of solution point files which are created by the solver. Options: [Original, Binary, Ascii, None]. | - |
Numerical Precision | Specifies 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 Solver | If 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.
| Name | Description | Unit |
|---|---|---|
Poisson’s Equation | Solves for the electrostatic potential within the device, determining the electric field and charge distribution. Options: [On, Off]. | - |
Hole Continuity Equation | Computes the transport and recombination of holes, enabling simulation of p-type carrier behaviour. Options: [On, Off]. | - |
Electron Continuity Equation | Computes the transport and recombination of electrons, enabling simulation of n-type carrier behaviour. Options: [On, Off]. | - |
Heat Equation | Models 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.
| Name | Description | Unit |
|---|---|---|
Solver Type | Selects 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 Loops | Specifies the maximum number of iterations the solver is allowed to perform when attempting to converge to a solution. | - |
Tolerance | Specifies the convergence threshold for the iterative linear solver. Lower values require tighter accuracy but may increase computation time. | - |
Pivot Factor | Specifies 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. | - |
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.
| Name | Description | Unit |
|---|---|---|
Coupled Type | Displays how the device equations are solved. Options: [Fully Coupled, Decoupled Electrothermal]. | - |
Max Decoupled Loops | Maximum 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.
5.2. Newton Search
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.
| Name | Description | Unit |
|---|---|---|
Max Newton Loops | Maximum number of Newton iterations allowed per solution step. | - |
Network Tolerance | Specifies the convergence tolerance for network voltages of the external circuit. | V |
Voltage Tolerance | Specifies the convergence tolerance for the internal device node voltages. | V |
Max Voltage Update | Maximum voltage update at any node in the mesh for a single Newton step. | V |
Temperature Tolerance | Specifies the convergence tolerance for internal device node temperatures. | K |
Max Temperature Update | The maximum allowed temperature change at any mesh node per Newton iteration. | K |
Temperature Step | The 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.
| Name | Description | Unit |
|---|---|---|
Max Update Increases | Maximum 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 Steps | Specifies the maximum number of back-tracking attempts permitted within a single Newton iteration to recover convergence. | - |
Back Track Increment Factor | Multiplication factor used to increase bias after a successful back-tracked step, helping the solver resume progress. | - |
Back Track Decrement Factor | Division factor used to reduce the applied bias when back-tracking is triggered | - |
Save Back Track | Specifies 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
| Name | Description | Unit |
|---|---|---|
Simulation End Time | Specifies 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.
| Name | Description | Unit |
|---|---|---|
Save Options | Selects 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:
- Newton Loops
- Automatic
| Name | Description | Unit |
|---|---|---|
Time Stepping Method | Selects the strategy used for adjusting the time step during the simulation. Options: [Automatic or Newton Loops]. | - |
Minimum Time Step | The smallest time step the solver is permitted to take. | s |
Maximum Time Step | The 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.
| Name | Description | Unit |
|---|---|---|
Initial Time Step | The time step used at the beginning of the transient simulation before any adaptive adjustments are made. | s |
Relative Error Tolerance | The maximum allowable relative error between the predictor (explicit) and corrector (implicit) solutions. | – |
Absolute Error Tolerance | The 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.
| Name | Description | Unit |
|---|---|---|
Initial Time Step | The time step used at the beginning of the transient simulation before any adaptive adjustments are made. | s |
Lower Newton Step Threshold | If 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 Threshold | If 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 Factor | The multiplicative factor applied to increase the time step when Newton iterations fall below the lower threshold. | - |
Time Step Decrease Factor | The multiplicative factor applied to reduce the time step when Newton iterations exceed the upper threshold. | – |