model new
zone create brick point 0 0 0 0 point 1 10 0 0 point 2 0 1 0 point 3 0 0 20 size 20 3 40 ratio 1 1 1
fish define derive
s_mod = y_mod / (2.0 * (1.0 + p_ratio))
b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))
end
fish set @y_mod = 5120 @p_ratio = 0.312
@derive
list @b_mod @s_mod
zone group 'xia' range position-z 0 10
zone cmodel assign elastic range group 'xia'
zone property bulk @b_mod shear @s_mod
fish define derivem
s_modm = y_modm / (2.0 * (1.0 + p_ratiom))
b_modm = y_modm / (3.0 * (1.0 - 2.0 * p_ratiom))
end
fish set @y_modm = 22480 @p_ratiom = 0.232
@derivem
list @b_modm @s_modm
zone group 'shang' range position-z 10 20
zone cmodel assign elastic range group 'shang'
zone property bulk @b_modm shear @s_modm range group 'shang'
zone gridpoint fix velocity-x range position-z -0.1 0.1
zone gridpoint fix velocity-y range position-z -0.1 0.1
zone gridpoint fix velocity-z range position-z -0.1 0.1
zone initialize density 2000
zone face apply stress-zz -100 range position-z 19.9 20.1
zone history displacement-z position 5 0.5 10
fish define ax_str
str = 0
pnt = gp.head
loop while pnt # null
if gp.pos.z(pnt) < 10.1
gp.pos.z(pnt) > 9.9 then
str = str + gp.force.unbal.z(pnt)
endif
pnt = gp.next(pnt)
endloop
ax_str = str / 10
end
fish history @ax_str
model solve
model save '1.sav'