Solving
The equations solved by the Semiconductor interface are highly nonlinear and are consequently difficult to solve in the absence of good initial conditions. The default initial conditions are good approximate guesses for the carrier concentration in the absence of applied voltages or currents. For stationary models when currents flow it is often necessary to ramp up the currents or voltages slowly to the desired operating point within the solver. To achieve this, ensure that the currents and voltages in the model are controlled by parameters and then use the Auxiliary sweep settings in the Study Extensions section of the Stationary study step. Then set up the voltage and current parameters so that these are swept up from zero. Note that you select the parameter on which the continuation solver should be used in the Run continuation for drop down menu. When performing multiple sweeps it is desirable to set the Reuse solution for previous step setting to Auto. Note also that the solution from one study can be used as the starting point for a second study by altering the settings in the Values of Dependent Variables section of the Stationary study step. To do this, select the Initial values of variables solved for check box, select Solution for the Method, and then select the appropriate solution from the Study list.
In addition to ramping up currents and voltages it is also possible to gradually introduce contributions to the equation system using the continuation solver. This is particularly useful when problems are highly nonlinear. When this approach is appropriate a Continuation Settings section is present in some of the semiconductor feature settings. By default No continuation is selected, which means that the equation contribution is as specified. For User defined an input for the Continuation parameter appears and this should be set to a parameter with values between 0 and 1 to determine the scaling of the equation contribution. Adding the name of a parameter to this setting and ramping it from 0 to 1 in the continuation solver will gradually introduce the contribution into the equation system. By choosing Use interface continuation parameter the continuation parameter is linked to the value of the interface-level continuation parameter specified in the Continuation Settings section of the Semiconductor interface’s Settings window. This enables several features to be ramped up simultaneously. Finally it is possible to ramp up the dopant concentration, starting from a small fraction of that specified (or even zero) and gradually increasing the doping. By default the Continuation Settings for the doping features link to an interface-level doping continuation parameter that can be set up in the Continuation Settings section of the Semiconductor interface’s Settings window. In turn this can be linked to the interface level continuation parameter or specified separately. For the finite volume method the doping continuation parameter should be started at a small value (for example, 106) rather than zero, as the continuation solver does not handle the transition from no doping to finite doping when this numerical method is used. The doping continuation can also be disabled or defined within each individual feature.
The nanowire_traps tutorial in the Application Libraries (Semiconductor Module>Transistors>nanowire_traps) provides a good example on using the continuation solver (through the Auxiliary sweep and the Continuation parameter as mentioned above) to ramp up a number of different nonlinear contributions to the model.
The Semiconductor Equilibrium study step can often provide a good initial condition for subsequent ramping up of applied voltages.
The heterojunction_1d tutorial in the Application Libraries (Semiconductor Module>Verification_Examples>heterojunction_1d) provides a set of standard techniques to achieve convergence for stationary (steady-state) studies.
For time-dependent models it is recommended that the simulation is started in the manner described previously using a known solution to an appropriate stationary problem. The time-dependent effects can then be turned on during the simulation.
The pin_forward_recovery and pin_reverse_recovery tutorials in the Application Libraries (Semiconductor Module>Device Building Blocks>pin_forward_recovery and pin_reverse_recovery) provide good examples on using the equilibrium or stationary solution as the initial condition for the time-dependent study step.
In many cases the time-dependent solver performs better than the continuation solver for nonlinear stationary problems. By changing the Equation setting in the Semiconductor interface Settings window from the default (Study controlled) to Stationary, you can force the physics interface to use the stationary equation form even though the time dependent solver is used. Then parameters can be defined as functions of time, so that the applied currents and voltage, as well as nonlinear equation contributions and the doping, can be gradually turned on.
Using the correct solver tolerance for a problem is also important. The nonlinear solver tolerances are set up differently in 1D, 2D, and 3D to achieve a balance between solution speed and accuracy. For minority carrier devices it might be necessary to tighten the solver tolerances to ensure that the solution is converged to within sufficient accuracy. For a Stationary study the solver tolerance is adjusted in the Stationary Solver node of the Solver Configurations branch (if this branch is not visible click the study and from the Study toolbar, click Show Default Solver ()). The Relative tolerance setting determines the fractional accuracy that the carrier concentrations are solved to. The Time-Dependent Solver has both relative and absolute tolerance settings. The relative tolerance setting is available on the Time Dependent study step in the Study Settings section. The absolute tolerance is set in the Time-Dependent Solver node on the Solver Configurations branch.
When modeling nonisothermal semiconductor devices, the solver settings must be adjusted so that the temperature degree of freedom is in a separate segregated group from the carrier densities and the potential. To do this, click the study and from the Study toolbar, click Show Default Solver () (this step is not necessary if the Solver Configurations node is already visible in the model tree). Then expand the Solver Configurations node until you can see either the Stationary Solver 1 or the Time-Dependent Solver 1 node (depending on whether the study is stationary or time-dependent). Right-click this node and select Segregated. Expand the resulting Segregated 1 node and select the Segregated Step node. Then in the General settings for this node, delete the Temperature (mod1.T) variable from the list. Next right-click the Segregated 1 node and select Segregated Step. In the settings for the resulting Segregated Step 1 node, add Temperature (mod1.T) to the list. Note that the node numbers given above can be altered if multiple studies or study steps are present in the model.
For coupled optoelectronic models, it is better to first solve only the wave optics part, and then solve the fully coupled problem in the following study step.
In the COMSOL Multiphysics Reference Manual: