Hello Everyone,
I am currently working on modeling a centrifuge test at prototype scale. My geometry includes three liquefiable sand layers with varying relative densities (Dr), so I am using the PM4Sand model. The experiment I am replicating was conducted with ring containers on each side of the box. To mimic these side boundaries, I chose to attach the left and right side gridpoints instead of using a free-field boundary condition. Below is the FISH function I wrote for this purpose:
fish define _Attach_Side_Boundaries
global M_xMin, M_xMax, _Attach_List
local _gp, _a, _b, _side_gp, _id1, _id2
loop foreach _gp gp.list
if gp.pos.x(_gp) == M_xMin
_a = M_xMax
_b = gp.pos.y(_gp)
_side_gp = gp.near(_a,_b)
_id1 = gp.id(_gp)
_id2 = gp.id(_side_gp)
command
zone attach gridpointid [_id1] to-gridpointid [_id2] snap on
endcommand
endif
endloop
_Attach_List = attach.list
end
My question is this: I encountered an “illegal geometry” error when using the snap on
option. However, if I turn the snap
option off, the code runs without error. I believe that the snap
option should be enabled due to the nature of the centrifuge test. Does anyone have suggestions for resolving this issue or improving my approach to modeling attached boundaries?
Thank you for any advice.