Hi Roozbeh,
Thank you for your previous response. I?ve applied the method you described to impose a vertical displacement of 10 cm in my model. Below is the script I?m using:
newmodel()
set("unit", "stress-kpa");
line("startPoint", 0, 0, "endPoint", 0.5, 0)
line("startPoint", 0.5, 0, "endPoint", 5, 0)
line("startPoint", 5, 0, "endPoint", 5, -10)
line("startPoint", 5, -10, "endPoint", 0, -10)
line("startPoint", 0.0, -10.0, "endPoint", 0.0, 0.0)
discretize("size", "auto")
segment("id",1,"numedge",10)
gmsh("size", "auto", "elemtype", "T3", "useNMD", "on")
//assigning material
material("create","IsoElastic","matid",1,"matname","masiv pamant","density",1.9,"shear",5769.23,"bulk",12500)
material("assign","matid",1,"region",3,-5)
//applying boundary conditions
applybc("xfix","xlim",-0.01,0.01,"ylim",-10.01,0.01)
applybc("xfix","xlim",4.99,5.01,"ylim",-10.01,0.01)
applybc("xyfix","xlim",-0.01,5.01,"ylim",-10.01,-9.99)
//applying displacement boundary conditions: 10 cm vertical displacement
applybc("yvel",-0.0001,"yvar",0.0,"xlim",-0.1,0.51,"ylim",-0.1,0.1)
applybc("xyfix","xlim",-0.01,0.501,"ylim",-0.01,0.01)
//solve
solve("numstep",1000)
plot("contour","ydisp")
While this approach works, I am struggling to understand the rationale for fixing the nodes at the top boundary (applybc("xyfix","xlim",-0.01,0.501,"ylim",-0.01,0.01)) in both directions (horizontal and vertical).
My assumption is that fixing vertical displacements would prevent the imposed vertical velocity from generating the intended displacement.
I understand fixing horizontal displacements makes sense for a rough foundation base, but I would appreciate clarification on why vertical displacements also need to be fixed for this setup. Could you kindly elaborate on this aspect?
Thank you for your assistance!