Added option for defining mpi types in order to reduce amount of MPI communication
Added mpi types for exact PipeCG traversal and made sure code compiles without MPI again
Added edge and node types to conformity
Added create and destroy calls to all darcy traversals as well as further edge and node types
Added create and destroy calls to all swe traversals as well as further edge and node types
Changed tag upper bound to 2^28 - 1 for compatibility with MPICH 3. Added serial midpoint cutoff to load balancing (not yet callable though). Also changed send and receive to transmit only non-empty data
Fixed a small memory leak - grid%destroy() must be calle din parallel in order to free thread data
Changed adaptive traversal to allow edge and node types, fixed a bug taht would always ignore edge types and added edge and node types to linear solvers
Forgot to uncomment some assertions in generic adaptive traversal
Added include paths to F90PATH in SConstruct, instead of setting compiler flags, this should help dependency creation of scons
Minor fix to SConstruct: reset vars after reading the config file
Added some instructions to README, incomplete yet
Performance bug in Conformity: Stats were reduced globally after each conformity check even though it is not actually necessary
Added conformity stats reduction to reduce_stats()
Changed sync_boundary to wait for all mpi sends first and then proceed with recv and local merge + write, this should allow some small overlapping
Added some information to the Readme, still incomplete
Added options for weighting the count-based load estimate and split synchronization into multiple functions
Split permeability and error estimate into two distinct traversals for efficiency reasons
Count-based load estimate now includes boundary and weights for cell and boundary count
Removed grid types from kernels