Thank you for your reply. I tried to avoid shooting directly into gaps by shifting the position of the voxels, but the result was the same. I also simulated the experiment as follows and I made sure that I never shoot particles directly into the gaps with around 100K positrons. I tried to place just one cube of volume 4mmx4mmx4mm and the range was as of the range in uniform water. But when I placed two cubes of volume 4mmx4mmx4mm next to one another, then the positron range increased compared to the range in uniform water. Here is how I placed them next to one another:

paramSolid = new G4Box(“ParamSolid”, 2.*mm, 2.*mm, 2.*mm);

defaultMaterial = NISTManager->FindOrBuildMaterial(“G4_WATER”);

paramLogVol = new G4LogicalVolume(paramSolid, defaultMaterial, “ParamLogVol”);

physCube = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*mm,0.*mm), paramLogVol, “physCube”, logicWorld, 0, false, 0);

physCube1 = new G4PVPlacement(0, G4ThreeVector(4.*mm, 0.*mm, 0.*mm), paramLogVol, “physCube1”, logicWorld, 0, false, 0);

I also made the size of the cube smaller and smaller, The range was increasing even more compared to cubes of volume 4mmx4mmx4mm. for example, when I placed the following two cubes, the range was bigger than the range obtained from the two cubes provided above.

paramSolid = new G4Box(“ParamSolid”, 1.*mm, 1.*mm, 1.*mm);

defaultMaterial = NISTManager->FindOrBuildMaterial(“G4_WATER”);

paramLogVol = new G4LogicalVolume(paramSolid, defaultMaterial, “ParamLogVol”);

physCube = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*mm,0.*mm), paramLogVol, “physCube”, logicWorld, 0, false, 0);

physCube1 = new G4PVPlacement(0, G4ThreeVector(2.*mm, 0.*mm, 0.*mm), paramLogVol, “physCube1”, logicWorld, 0, false, 0);

For sure, as we make the cubes smaller this increasing of the range has a limit.

However, more interestingly, when I placed big enough cubes (as follows) the range was the same as the uniform water (= the world volume is filled with water).

paramSolid = new G4Box(“ParamSolid”, 6.*mm, 6.*mm, 6.*mm);

defaultMaterial = NISTManager->FindOrBuildMaterial(“G4_WATER”);

paramLogVol = new G4LogicalVolume(paramSolid, defaultMaterial, “ParamLogVol”);

physCube = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*mm,0.*mm), paramLogVol, “physCube”, logicWorld, 0, false, 0);

physCube1 = new G4PVPlacement(0, G4ThreeVector(12.*mm, 0.*mm, 0.*mm), paramLogVol, “physCube1”, logicWorld, 0, false, 0);

I also witnessed that few positrons can travel at most around 4 mm. So, when I make the cubes bigger and no positron can reach the edge of a cube and enter the other cube, the average range is as the uniform water. But when positrons can pass the boundaries of a cube and enter to the adjacent cube, then the range starts to increase.