Didn't try the script yet, but one problem is that the boundaries of your system are defined using min/max coordinates of the spheres, it does not reflect the movement of the walls at all. Thus the total volume change is wrong.
You need to assign the walls as boundary conditions, just like in the oedometer example:
flow.boundaryUseMaxMin=[0,0,0,0,0,0]
And if the numbering of the walls is not the same as in triaxial scripts (0 to 5), you need to list them explicitely:
flow.wallIds=[x-,x+,y-,y+,z-,z+]
Didn't try the script yet, but one problem is that the boundaries of your system are defined using min/max coordinates of the spheres, it does not reflect the movement of the walls at all. Thus the total volume change is wrong.
You need to assign the walls as boundary conditions, just like in the oedometer example: eMaxMin= [0,0,0, 0,0,0]
flow.boundaryUs
And if the numbering of the walls is not the same as in triaxial scripts (0 to 5), you need to list them explicitely: [x-,x+, y-,y+,z- ,z+]
flow.wallIds=