User Tools


Troubleshooting

In case your simulation does not start properly, this site gives some hints how to find possible issues. Many potential problems are intercepted and (hopefully) comprehensible error messages are printed. If this is not the case, there are different kinds of errors:

  • Not even the information about the picmc version is printed, most probable this is a Parameter file issue.
  • The simulation does not reach the point: ** Starting time cycles **, maybe this is a Geometry issue.
  • Terminating simulations at any time could be caused by Memory issues.

Parameter file issue

A common troublemaker are missing semicolon at the line ends. The first approach would be to assure, that every line in the parameter file is terminated by a semicolon (except those ending with an open curly bracket). Comments, which start with a hash mark, are perfectly fine after a semicolon.

Geometry issue

One of the first steps to find possible problems is to have a look at the cell_volumes.pos plot. In this plot you can see if the inside/outside algorithm correctly determined your simulation volume or if due to some double defined or missing surfaces the particles are placed inside the chamber walls. Also you should check your mesh file by cycling through the individual Physical Surfaces with the Visibility tool of GMSH and verifying that there are no peculiarities.

Memory issue

If you have a big simulation volume and the program terminates at the first time cycles or shortly before, maybe the available memory of your computer is not enough. On your own cluster have a look at the cluster report otherwise talk to your admin. To solve this, try to reduce the simulation volume or the particle numbers (as long as the constraints are satisfied). If that is not possible get more memory.

WARNING messages

Below some warning messages are listed and more information about the origin and the solution (if any) is given.


N particles of type M are located inside the mesh volume!

If you read a checkpoint file into a simulation with different mesh (compared to the mesh with which the checkpoint was created), some of the particles may now be positioned inside the mesh. These particles then will be deleted. As long as the number of particles is not too high you don't have to worry. This message may also occur if your mesh resolution is too coarse, so that particles can “tunnel” into the mesh.


DSMC_Emitter, yield function: Energy/Angular range violated


No surface found at hit position -> SP(X, Y, Z){N};


Check the orientation of the reference vector of the histogram with Codec N, it looks as if some mesh elements (M %) are orthogonal to it!

For angular histograms a reference direction where the azimuth angle is zero has to be defined. If this reference vector is orthogonal to the mesh element plain, the azimuth angle is undefined. For oblique surfaces the projection of the reference vector onto its plain is taken.


Elements with codecNumber N are ignored...OK?

You can delete whole codec/border blocks from your parameter file if you don't need them while using an existing mesh file. In this case the simulation ignores all mesh elements which belong to the deleted codec. This warning is just for your convenience to prevent accidental codec deletions.


Collision energy violation: Species N-M = X eV

For each collision cross section a table up to some maximum energy is created. This limit has a default value of 1100 eV. If your collision energy at some point of the simulation gets higher than the limit you receive this message. To manually set the limit use the SIGMA_ENERGY parameter.


For the charged species N no absorption is defined in the border with icodec M!

This is a convenience message if you forgot to define an absorption of a charged species on a surface. Usually all charged species should react somehow with all surfaces. In the rare case where a surface is not reachable for particles you can ignore this warning.


TEX solver divergence: iteration = xxx, residuum = xxx, lastResiduum = xxx, secondLastResiduum = xxx, ConvergenceThreshold = xxx