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

[命令/FISH] 自定义接触面本构模型

[复制链接]
发表于 2012-8-14 15:56:09 | 显示全部楼层 |阅读模式 来自 上海
悬赏1仿真币未解决
自定义接触面本构模型(界面软化模型),有哪位高手帮我看看错在哪里,有哪些地方需要改正!!!!
cal int.fin
def bengou
   array int_disp(60)
   array int_ndisp(60)
   array int_shear(60)
   array int_normal(60)
   array int_len(60)
   array int_posx(120) int_posy(120) intpos(60)
   array a1_parameter(60)
   array b1_parameter(60)
   array int_ks(60)
   array d(60)
   array s(60)
   while_stepping
   ip=int_pnt
   loop while ip # 0
       intcid=imem(ip+$kicid)
       ispt=imem(ip+$kicbpt)
       loop while ispt = 0
           int_disp(intcid)=fmem(ispt+$kidasd)
           int_ndisp(intcid)=fmem(ispt+$kidand)
           int_shear(intcid)=fmem(ispt+$kidfs)
           int_normal(intcid)=fmem(ispt+$kidfn)
           int_posx(intcid)=fmem(ispt+$kidx)
           int_posy(intcid)=fmem(ispt+$kidy)
           int_len(intcid)=fmem(ispt+$kidlen)
           int_ks(intcid)=fmem(ispt+$kicks)
           ispt=imem(ispt)
       endloop
   p_shear=3.2e3+abs(int_normal(intcid))*tan(24.5/180*3.14159)
   p_disp=4e-3                                            
   r_shear=2.5e3+abs(int_normal(intcid))*tan(12.8/180*3.14159)
   r_disp=8e-2  
   k_parameter=5.82
   c_parameter=1.21
   aa=intcid
       if int_len(aa) # 0 then
       if int_disp(intcid)< p_disp  then
       int_ks(intcid)=5314*10000*(int_normal(intcid)/1.01e5)^0.18
       ;a1_parameter(aa)=1/int_ks(intcid)
       ;b1_parameter(aa)=2500+int_normal(intcid)*tan(22.9)   
       int_shear(intcid)=int_disp(intcid)/(1/int_ks(intcid)+(2500+int_normal(intcid)*tan(22.9) )*int_disp(intcid))
       endif
       if int_disp(intcid)>= p_disp  then
        if int_disp(intcid)< r_disp  then
        D(aa)=(int_disp(intcid)-p_disp)/ r_disp
        R(aa)=D(aa)/(1/k_parameter+D(aa)/c_parameter)
        int_shear(intcid)=p_shear*(1-R(intcid))+R(intcid)* r_shear+int_shear(intcid)   
        endif
        endif
       if int_disp(intcid)> =r_disp  then
        int_shear(intcid)=r_shear
       endif   
       else
           int_shear(intcid)=0.0
           int_normal(intcid)=0.0
       endif
       if intcid < 41 then
          index_0=1+(intcid-1)*2
          intpos(intcid)=(int_posx(index_0)+int_posx(index_0+1))/2.0
       endif
       if intcid > 40 then
          index_0=1+(intcid-1)*2
          xxx=(int_posx(index_0)+int_posx(index_0+1)-2*length)/2.0
          yyy=(int_posy(index_0)+int_posy(index_0+1)-2*0)/2.0
          intpos(intcid)=sqrt(xxx*xxx+yyy*yyy)+length
       endif
       ip=imem(ip)
   endloop
end

 楼主| 发表于 2012-8-23 08:48:49 | 显示全部楼层 来自 上海
Simdroid开发平台
求大神!!!!!!!
回复

使用道具 举报

发表于 2012-8-25 16:18:28 | 显示全部楼层 来自 江苏南京
这个程序怎么调用啊?FLAC3D能自定义接触本构吗
回复

使用道具 举报

发表于 2012-8-26 10:43:17 | 显示全部楼层 来自 上海
可以的,不过只能是通过fish语句,与定义材料本构不同。楼主的应该是2d的不是3d。
回复

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-24 16:24 , Processed in 0.028249 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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