Troubleshoot¶
If you encounter issues running your simulation, you can ask for help in the chat room on Element or publish an Issue
on GitHub.
From previous users experience, the cause of most of the issues can be found performing some basic checks, listed in the following.
Also, performing these simple tests helps us while finding an answer to your Issue
.
Simulation not starting / Error running a simulation¶
Your simulation does not start or has an error while running.
Check that the
smilei
executable is called correctly, e.g. it is present in the input namelist folder or correctly called from there. See also Run.Check that
smilei
runs correctly with at least one input namelist in thebenchmarks
folder.Use the
smilei_test
executable on your input namelist. Does it display error or warning messages?Check your Profiles in the input namelist, e.g. Avoid
NaN
values if you read them from a file or generate them through a Python function.Try
git pull
,make clean
and compile again. Also, be sure that uou have already usedmake happi
for postprocessing. All these operations must be performed in the installation folder on your machine to run the simulations.Change the numerical parameters in the input namelist e.g. resolution, timestep, particles per cell, number of patches. Does the error occur again? See the dedicated sections in Write a namelist.
Change the number of MPI process, OpenMP threads. Do the simulations in the
benchmarks
folder run correctly with only one MPI process/OpenMP thread?Check that your MPI and OpenMP configuration is correct through parallel Hello World tests or other basic parallel programs.
Try running a reduced simulation (less particles per cell, coarser resolution).
Try using the same input namelist, and/or a reduced version (less particles per cell, coarser resolution) on a different machine.
If the simulation stops after its start, does the error occur always at the same iteration? With
print_every
in the input namelist you can change the iteration print frequency in the log file.
New simulation does not run¶
You have already run successfully other similar simulations, but a new one gives an error at the start.
Use the input namelist of the simulation that works correctly and then progressively change the input to arrive to the simulation you want to run. At each step check if something goes wrong and what is the change in the input namelist that caused the issue.
Try running the new simulation with the
smilei
executable used for the simulation that worked correctly, if different. Changing the code version creates the problem?
Postprocessing error¶
You can run the simulation but you cannot open/read the results.
Do
git pull
andmake happi
in your installation folder to have the postprocessing libraryhappi
ready for use. Afterwards, remember to close and reopen the Python interface you are using, e.g. IPython. See also Install.Check if you can correctly open the results of a simulation using one input namelist in the
benchmarks
folder.Carefully read the doc about the Post-process method you are trying to use.
Physical error in the results.¶
The physical results are not the ones you expect.
Read the doc on the physical methods you are using (e.g. Binary collisions & reactions, Ionization, Laser envelope model, …). Are the underlying physical assumptions satisfied?
Check that the units given in the input namelist are properly normalized. See also Units.
Some physical processes like Binary collisions & reactions, Ionization need a reference frequency in SI in the
Main
block of the input namelist. Did you provide it? See also Write a namelist.Check the CFL condition in the input namelist. See PIC algorithms
See with the Scalar diagnostics (See Post-process ) if the kinetic energy
Ukin
or electromagnetic energyUelm
display strange behaviours (e.g. exponential growths).Verify the overall consistency of the physical set-up, e.g. only immobile or almost immobile particles while using a Poisson solver.
Verify that the physical initialization is correct. Should you use a classical or relativistic Poisson solver (See Field initialization for relativistic species) for the initial fields. Is it necessary to use a Poisson solver?
Check the presence of numerical effects running the simulation with different numerical parameters, e.g. changing the resolution, timestep, in the input namelist.
If using the
AMcylindrical
geometry, check that the origin of the axes you are using in the input namelist is the one described in See Azimuthal modes decomposition.
Performances issues¶
The simulation is very slow / the performances are not as expected.
Change the number of MPI process and OpenMP threads.
Change the number of patches and/or their distribution in each direction. See also Parallelization basics.
Check that
LoadBalancing
is activated in the Write a namelist (if the physical set-up is suitable for its use). See also Parallelization basics.If using Vectorization, check that the compilation flags for vectorization were correctly used. See also Install.