论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 794阅读
  • 0回复

求助!用FISH程序计算单元强度应力比,结果明显不对,求大神指点。 [复制链接]

上一主题 下一主题
离线lxz6510151
 

发帖
30
土币
159
威望
11
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2021-03-05
各位大神:编写了一段fish程序来计算单元应力比,但程序运行后得到的结果明显有问题,数量级太大了。本人实在找不到问题出在哪,求路过的大神给指点指点。fish程序如下:

;建立模型,求初始应力
ge zone brick  p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 size 10 10 10 g 1
ge zone brick  p0 0 0 10 p1 add 10 0 0 p2 add 0 10 0 p3 add 0 0 10 size 10 10 10 g 2
model elas
prop bulk 3e7 shear 1e7 r g 1
prop bulk 3e8 shear 1e8 r g 2
fix x y z range z 0
ini dens 2000 r g 1
ini dens 2500 r g 2
set grav 0 0 -10
solve
save model.sav

;将最大主应力赋值给z_extra1
config zextra 2
def find_max_stress
  p_z =zone_head
  loop while p_z # null
  if z_syy(p_z) > z_szz(p_z) then
    z_extra(p_z,1) = z_syy(p_z)      
    else
    z_extra(p_z,1) = z_szz(p_z)
   endif
   p_z = z_next(p_z)
   endloop
end
find_max_stress
save max_stress.sav

;求单元强度应力比
def yinglibi
  stress_a=1.0e5
  p_z =zone_head
  loop while p_z # null
    if z_group(p_z) = '2' then
       z_extra(p_z,2)=(stress_a)/(z_extra(p_z,1))
       else
               if z_group(p_z) = '1' then
                      z_extra(p_z,2)=0      
              endif
             endif
             p_z = z_next(p_z)
   endloop
end
yinglibi
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      https://beian.mps.gov.cn/ 粤公网安备 44010602012919号 广州半山岩土网络科技有限公司 粤ICP备2024274469号

      工业和信息化部备案管理系统网站