SYMMIC Users Manual CapeSym

Running a Simulation

A new temperature solution for a device or layout is obtained by selecting Run simulation from the Solve menu. Running a simulation causes the temperature scale and parameter windows to be temporarily disabled (to prevent changes during the simulation), and a progress dialog to appear. Running a simulation may take several minutes, dependingon the size of the problem (i.e. the number of finite elements and unique nodes), the type of solution desired (e.g. the number of time points in the solution), and the resources of the computer system. In general, more CPU cores and more RAM memory usually yields faster simulations. Machines optimized with large amounts of fast memory are particularly productive, due to the memory-intensive nature of the computations.

During meshing of a single device template, the progress dialog text will display:

Meshing part 1 of 1...

This will be followed by solving for the temperatures, as in the screenshot shown above. After the solution has been computed, progress will be shown for each of three additional operations:

Loading solution... Solution file is being read in.
Comparing mesh to template... Temperatures on each component are being determined.
Generating graphics... Mesh is being converted to OpenGL for 3D graphics display.

During a multi-device layout simulation, the progress bar text will indicate what part of the analysis is underway:

Solving part 1 of 6...

Additional information about the progress of the simulation, including the number of finite elements generated and the number of unique nodes at which temperatures will be calculated, is available in the console window. The console window is normally minimized to the Taskbar, but can be restored to see any messages generated during template processing. The console window may be minimized after viewing, but do not close the console window. Closing the console window will cause the entire application to terminate after 5 seconds.

Aborting a Simulation

A simulation may be terminated by clicking on the Abort button in the progress dialog, when running from the GUI. When the Abort button is disabled, the user is not allowed to terminate the operation. Beware that attempting to abort the Pardiso solver routine may take a long time, depending on the current state. If an operation cannot be aborted by the Abort button, closing the SYMMIC console window with the [X] button may be used to terminate the entire SYMMIC program. This termination occurs 5 seconds after the [X] button is pressed. All unsaved changes or calculations in progress will be lost when the application is terminated by closing the console.

A Background run may be terminated by selecting the Background run menu item again and answering Yes to the Abort dialog that is displayed. This will immediately terminate the background simulation process. Likewise, all command line simulations may be terminated immediately by entering Ctrl-C in the Command Prompt window from which the simulation was launched.

During generation of a solution through time for a single device template, clicking on the Abort button will cause the simulation to be terminated but the results computed so far will be available in the solution file. In this case, it may be possible to restart the simulation from the last time step computed after adjusting the initial conditions to use the solution file. Note that the time steps and cycle start time (for pulsed power) may also need to be adjusted to synchronize with the time of the transient termination. A superposition simulation may not be continued in this way after an Abort.

Error Messages

A simulation may fail due to memory allocation or other problems. Most errors that occur during a simulation are indicated by error messages printed in the console window, so check the console window for explanations about why a simulation failed. One such message would be the following:

Pardiso Error -4 :Zero pivot, factorization or iterative refinement

Interrupt or error at equation 1

This error message is generated when the Pardiso solver is interrupted by the user. However, the same error message might be generated to indicate that the direct solver was not able to compute a solution because the problem is ill-conditioned. In this case the equation number would indicate the temperature node for which the factorization ran into trouble. To eliminate the error the template(s) would need to be corrected so that a better model is generated.

Problems with memory allocation may occur without generating any error messages in the console. A good indicator of an impending memory problem is when all of the physical RAM is consumed during a calculation. The memory reading displayed in the SYMMIC statusbar turns red when all of the physical memory is consumed. At this point the calculations slow way down, and it is probably best to abandon the calculation and try something else.

When memory is insufficient, it may be possible to successfully rerun the problem using the out-of-core solver algorithm. To switch to the out-of-core algorithm, open the Solver settings... dialog (from the Configure Run submenu), and check the box next to “Use out-of-core solver to conserve memory”. Out-of-core solution may use as little as ¼ the memory required by the in-core direct solver, but it may still be possible to setup problems too large for a particular machine. For additional information, see Temperature Computations.

Files Generated

Additional files will be written to the template directory during a simulation run. The names of these files are typically formed by replacing the .xml file extension of the template with a new extension. For example, after a successful simulation run on a template named “FET.xml”, the solution file will be “FET.rst”. In addition to the solution file, thermal impedance files (of types .bas, .cir and .net) may be generated when thermal impedance calculations are enabled. A recording file (e.g. “FET.csv”) will also be created for each device template unless a different file was previously specified for recording run values. Except for the .csv file(s) (to which data is always appended), all files generated during a simulation run will be overwritten by the next simulation run.

A few temporary files are generated during the computation. These files are generally removed after the operation is complete but in some circumstances, such as abnormal termination of the program, the files may remain. For a simulation of a device template called “FET.xml”, intermediate files that may be generated are:


Temporary files for the out-of-core solver.


Temperature profile for an extracted boundary condition.

When running a layout with multiple devices, an intermediate solution file (.rst) will also be written for each of the devices. All of the intermediate files may be deleted only AFTER the simulation run has terminated.

Running Multiple Instances

There is no limit to the number of SYMMIC windows that can be opened on a machine, provided each instance of the GUI is able to get a valid license. These windows can be used to examine multiple solutions or even the same solution in different ways. The number of simulations that can run simultaneously on a machine may be limited by the templates involved, the amount of available memory, or the number of solver licenses available for that machine.

Simultaneous instances of SYMMIC on a machine should never run simulations on the same templates, including any device template files common to different layouts. Because SYMMIC (and xSYMMIC) generate intermediate files using the template file names, solving the same templates from simultaneous instances of SYMMIC (or xSYMMIC) can lead to errors due to interference. Files with the same name used by both solutions can be incorrectly overwritten by two instances working in the same folder. Another problem is that when one instance of SYMMIC is trying to write to a file that is currently in use by another instance there is the potential for a fatal runtime error. Multiple instances of SYMMIC (or xSYMMIC) can simultaneously run simulations as long as each instance operates on templates in a unique directory so that none of the intermediate files will be confused. Other aspects of the user interface, such as loading and viewing a template or its solution, can be utilized on shared templates in a single folder without any problems.

CapeSym > SYMMIC > Users Manual
© Copyright 2007-2019 CapeSym, Inc. | 6 Huron Dr. Suite 1B, Natick, MA 01760, USA | +1 (508) 653-7100