How to generate an HDF5 file

Hi, I have some questions to ask.

  1. How to generate an HDF5 file. Can I use SALOME?
  2. What information I need to generate HDF5 file. Geometry, Points cloud, or mesh. And what information in such a file.
  3. When enabling IO boundary, is that SA Boundary necessary?
    Thanks a lot.

Hello @JoJo,

you should be able to use SALOME to generate HDF5 files for GPUSPH. I think the export format should be Point cloud or Particles.

For I/O you need to use SA boundary conditions at the moment (we are working on support for other boundary conditions too, but they are not merged in yet)

Beware that continued SA support in GPUSPH cannot be guaranteed, since we currently have nobody on the team with sufficiently in-depth knowledge about that part of the code.

Thanks for the reply.
And I notice that in ChannelIO, the fluid particles are also inputted by the hdf5 file.
Can I only input the boundary and generate the fluid particles inside GPUSPH?

Hello @JoJo, yes, you define each part of the geometry its own way, so you can import some things from HDF5, and define other things using the built-in objects in GPUSPH. The only thing to be aware of is that the inside/outside concept needed for unfilling/intersections is not always well-defined for imported geometries, so if you need fluid to fill the spaces left by a complex geometry imported from an HDF5, it is generally better to also make the fluid fill done in the same tool you used for the geometry.

Thanks
I am trying to use Crixus. However, when I run the example spheric2.ini. I got the following error:
I can find this case in GPUSPH. How can I fix that

Creation of 104940 fluid particles completed. [OK]
Creating and initializing of output buffer of particles … [OK]
Output format: h5sph
Writing output to file 0.spheric2.h5sph …HDF5-DIAG: Error detected in HDF5 (1.12.0) thread 0:
#000: H5F.c line 705 in H5Fcreate(): unable to create file
major: File accessibility
minor: Unable to open file
#001: H5VLcallback.c line 3393 in H5VL_file_create(): file create failed
major: Virtual Object Layer
minor: Unable to create file
#002: H5VLcallback.c line 3358 in H5VL__file_create(): file create failed
major: Virtual Object Layer
minor: Unable to create file
#003: H5VLnative_file.c line 65 in H5VL__native_file_create(): unable to create file
major: File accessibility
minor: Unable to open file
#004: H5Fint.c line 1568 in H5F_open(): unable to open file: name = ‘0.spheric2.h5sph’, tent_flags = 13
major: File accessibility
minor: Unable to open file

ok. Done. forget this.

Sorry, one more question to ask.
from the data_files. Two imput files can be found named “0.spheric2.boundary.kent0.h5sph” and “0.spheric2.fluid.h5sph”.
However, only one output file obtained after I run Crixus spheric2.ini.
Can you send me the testcase.ini to learn how to use Crixus. I think it is hard to understand

If I remember correctly, you need a split=true option in the output section of your .ini file to produce one separate h5sp file per group.

Do keep in mind that we are unable to provide support for SA_BOUNDARY and associated tools at the moment since we do not have anyone with the necessary expertise on the team anymore.