找回密码
 注册
Simdroid-非首页
查看: 175|回复: 1

请问这个单轴压缩的小命令流哪里不对

[复制链接]
发表于 2007-10-16 10:23:28 | 显示全部楼层 |阅读模式 来自 河南郑州
我模拟一个不同弹性性质的双层材料,竖向压缩,界面连接完美,因为这个所以没有设接触面interface,
计算结果为什么水平位移上下都一样? 按道理弹性模量不一样水平位移应该不一样的阿,请高手指教!
new
gen zone brick p0 0 0 0 p1 10 0 0 p2 0 1 0 &
               p3 0 0 20 size 20 3 40 ratio 1 1 1

def derive
s_mod = y_mod / (2.0 * (1.0 + p_ratio))
b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))
end
set y_mod = 5120 p_ratio = 0.312
derive
print b_mod s_mod
def derivem
s_modm = y_modm / (2.0 * (1.0 + p_ratiom))
b_modm = y_modm / (3.0 * (1.0 - 2.0 * p_ratiom))
end
set y_modm = 22480 p_ratiom = 0.232
derivem
print b_modm s_modm
model elastic range z 0 10
pro bulk b_mod shear s_mod
model elastic range z 10 20
pro bulk b_modm shear s_modm
fix x range x -0.1 0.1
fix z range z -0.1 0.1
;fix y
ini dens 2000
;set grav 0 0 -9.8
apply szz -50 range z 19.9 20.1
;step 5000
solve
save 1.sav

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2022-3-8 09:16:18 | 显示全部楼层 来自 河北
Simdroid开发平台
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'
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-10 06:29 , Processed in 0.054519 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表