Issue with GDML export of G4UnionSolid

Dear all,

I am trying to write out the geometry I have created in G4 into the GDML format via

G4GDMLParser parser;

However, my geometry contains a G4UnionSolid from a G4Sphere and G4Tubs:

auto bump_sphere = new G4Sphere("bumps_sphere", 0, 1, 0, 360 * CLHEP::deg, 0, 360 * CLHEP::deg);
auto bump_tube = new G4Tubs("bumps_tube", 0, 1.5, 0.5, 0., 360 * CLHEP::deg);
auto bump = new G4UnionSolid("bumps", bump_sphere.get(), bump_tube.get());
auto bumps_cell_log = new G4LogicalVolume(bump.get(), material_solder, "bumps_log");

which is placed physically as a parametrized volume, repeating itself on a 2D grid:

auto bump_box = new G4Box("bump_box", 100.0, 100.0, 0.5.);
auto bumps_wrapper_log = new G4LogicalVolume(bump_box.get(), material, "bumps_wrapper_log");

G4VPVParameterisation* bumps_param = new Parameterization2DG4(50, 25.0, 50, 0, 0, 0);
G4PVParameterised* bumps_param_phys = new ParameterisedG4("bumps_phys",

When I try to write out this geometry, I get the following exception:

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : InvalidSetup
      issued by : G4GDMLWriteParamvol::ParametersWrite()
Solid 'bumps' cannot be used in parameterised volume!
*** Fatal Exception *** core dump ***
**** Track information is not available at this moment
**** Step information is not available at this moment
-------- EEEE -------- G4Exception-END --------- EEEE -------

*** G4Exception: Aborting execution ***
Aborted (core dumped)

Is this a general restriction of GDML or am I doing something wrong here?

Thanks for your input!


Please, see notes in the Users Guide. Parameterisations of Boolean shapes are not recommended and not supported by the GDML parser.