Integration point data partitioning in partmesh

wenqing requested to merge wenqing/ogs:improve_partmesh into master

The implementation in this MR enables partmesh partition mesh with integration point data.

The parallel mesh reading function under MPI is also modified in order to read the partitioned mesh with integration point data. Utility binaryToPVTU can be used to check the partitioned mesh. For example:

mpiexec -n 3 binaryToPVTU -i m1_3Dload_ts_1_t_1_000000 -o output_mi_load


mpiexec -n 4 bin/binaryToPVTU -i expected_pointheatsource_quadratic-mesh_ts_10_t_50000_000000 -o output_pointheatsource

The following figure compares the stress from a sequential computation as an initial stress field, and the initial stress read from the partitioned initial stress data in the parallel computation:

partmesh_sigma_ip We can see from the figure that with the code implementation presented in this MR,the integration point stress are corrected partitioned by partmesh, and are correctly read into to ogs in parallel run as well.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added? There are six ctest tests included, which also include one with a 3D mesh having tet, hex, prism and pyramid:
  1. Any new feature or behavior change was documented?
Edited by wenqing

Merge request reports