Hi,
I'll try to help as much as I can.
I personnaly use the #geometry_objects_read feature with geometry and material information created by me via another python code : this helps me making sure the files are working.
First -> creating the files
you have several options :
-> using a code where you create everything you want in your geometry (soils characteristics, thickness, etc)
then you use the feature gow = gprMax.GeometryObjectsWrite(p1=(0, 0, 0), p2=(x, y, z), filename=fn.with_suffix("").name) to save the geometry for future use
run the simulation with geometry_only=True to only get the geometry (and not running the whole code, taking much more time)
you'll then have a HDF5 (.h5) file and a material file (.txt) created automatically
-> other option: using the feature STLtoVoxel which allows you to create HDF5 file from a STL file
you'll then also have a HDF5 (.h5) file and a material file (.txt) created automatically
There's probably other options but these two are the one I know and use.
Then -> using the feature #geometry_objects_read
you'll need 2 files : the .h5 and the .txt (materials) and you just need to load them
for example :
geofile = "geometry_file.h5"
matfile = "materials.txt"
geo = gprMax.GeometryObjectsRead(p1=(0, 0, 0), geofile=geofile, matfile=matfile)
then you add geo to the scene.
Please notice that I am using de gprMax-devel version and I think you are using another version. I shared with you are .h5 that is working for me but I don't know if it'll work for you.
creating_geometry.py is the file used to create the geometry and obtaining creating_geometry.h5 and creating_geometry_materials.txt
using_geometry.py is the file where I load the
obtaining create_geometry.h5 and creating_geometry_materials.txt
I hope this message is helpful. I'll explain again if you don't understand something.