Modifying dipole initialization

The value of the magnetic field inside the planet has been changed to avoid numerical errors when aplying a very strong magnetic field in the cetnter of the current loop.
Moving calculateB to the field subroutine

The call to calculateB was still performed after the particle mover inside the particle subroutine. Moving this call causes the particle mover to use the updated (n+1) magnetic field, instead of the previous (n) B field. The tests show a very small difference between the two versions which increasses over time.

The test script has been updated to lower the failure threshold. The minimum relative error was set to 0.1% and is only calculated if the absolute error is above 1e-7.
Write only parallel files when PHDF5 is active

Until now the old sequential files were also created when using parallel HDF5.
Solver order update and output motifications

The solver was retouched to compute the B-field before the E-field, as done before. The results are slightly modified by the change.

A few updates were added to the file outputs.

Bug corrections were performed in the 'h5Xdmf' postprocessing tool.
Parallel HDF5 is now done using the H5hut library

Reading and writing functions that use the H5hut library have been included. These functions can be used in iPic3D but are also useful in pre- and post-processing tools. For such reason the H5hut library is handled by the new library saved in the H5hut-io directory.

The CMake structure of the code has been changed: the 'main' CMakeLists.txt file is located in the root directory. This file calls cmake inside the main directory and inside the H5hut-io directory if it is required by the user. It also performs the necessary links between all the libraries.

MPI functions were included to recover information about the topology.
Functions to gather information at the cell center have been included in the fields side of the code.
H5hut-io with functional restart

1) Bug corrections and improvements to the H5hut-io library.
The sources for the H5hut library itself have been added to the external/ directory.
Restart with H5hut-io can be done similar to the classical restart:

mpiexec -n 4 ./iPic3D solinit GEM.inp

Note that 'solinit' is used instead of 'restart'. For this H5hut restarting method to work additional flags have been added to the input file.
See the examplpe in inpufiles/GEM.inp

2) Preprocessing tools that use H5hut-io were added to create new initial files and to test the library.

3) The postprocessing tool Xdmf in the postprocessing_tools/c++ directory creates an .xmf file that contains information to read the HDF5 solutions writen by H5hut directly into Paraview, VisIt, etc...