Initialize particles from an array or a file

In the namelist, position_initialization and momentum_initialization may be set to a numpy array or to an HDF5 file containing particle data to be imported.

The position initialization is incompatible with number_density, charge_density and particles_per_cell. Particles initialized outside of the initial simulation domain will not be created.

The momentum initialization is incompatible with temperature and mean_velocity.


From a numpy array

The position_initialization may be a numpy array of shape (Ndim+1, Npart) where Ndim is the number of particle dimensions, and Npart is the total number of particles. Positions components x, y, z are given along the first Ndim columns and the weights are given in the last column of the array.

The momentum_initialization may be a numpy array of shape (3, Npart). It requires that position_initialization also be an array with the same number of particles Npart. Momentum components px, py, pz are given in successive columns.


From an HDF5 file

The position_initialization may be a path to an HDF5 file containing the appropriate data structure. The path may point to a file, such as "some_folder/some_data.h5", but it may also contain the path to a group inside the file, such as "some_folder/some_data.h5/group1/group2".

The HDF5 location must contain the following datasets, all 1-dimensional of equal size:

  • position/x, list of x coordinates

  • position/y, list of y coordinates

  • position/z, list of z coordinates

  • weight, list of statistical weights

The momentum_initialization works the same way. It must be an HDF5 location containing the following datasets, all 1-dimensional of equal size:

  • momentum/x, list of px

  • momentum/y, list of py

  • momentum/z, list of pz

Note

This file structure is identical to that obtained from the TrackParticles diagnostics, meaning that you can directly pass the output of a previous simulation, for instance "path/to/results/TrackParticlesDisordered_myspecies.h5/data/0000003000/particles/myspecies".