liulei111 发表于 2021-12-13 13:26:30

加载自定义的循环软化模型出错

加载完模型后 计算中出现这种错误 请教大佬指点一二

liulei111 发表于 2021-12-21 18:59:19

:):):):):):)

liulei111 发表于 2021-12-22 12:26:27

我的命令流:
new
config dyn
set dyn off
config cppudm
model loadUWmodel.dll
gen zone radcyl p0 0 0 0 p1 20 0 0 p20 0 -6p30 15 0 &
                         p4 20 0 -6 p5 0 15 -6 p6 20 15 0 p7 20 15 -6 &
                         p8 0.15 0 0 p9 0 0.15 0 p10 0.15 0 -6 p11 0 0.15 -6 &
                         size3 15 15 15ratio 1 1 1 1.15
group clay1 range z 0 -1.3
group clay2 range z -1.3 -6
gen zone reflect dd 270 dip 90
gen zone reflect dd0 dip 90

interface 1 face range cylinder end1 (0,0,0)end2 (0 ,0 ,-6.1) radius 0.16 &
                              cylinder end1 (0,0,0) end2 (0,0,-6.1) radius 0.14 not

gen zone cyl p0 0 0 7.2 p1 0.15 0 7.2 p2 0 0 1.2 p3 0 0.15 7.2 &
                  p4 0.15 0 1.2 p5 0 0.15 1.2 size 2 15 15
gen zone cyl p0 0 0 7.8 p1 0.15 0 7.8 p2 0 0 7.8 p3 0 0.15 7.8 &
                  p4 0.15 0 7.2 p5 0 0.15 7.2 size 2 10 15
gen zone reflect dd 270 dip 90 range z 1.2 7.8
gen zone reflect dd0 dip 90 range z 1.2 7.8
group pile range z 1.2 7.8
ini z add -7.2 range group pile

range name=clay1 group clay1
range name=clay2 group clay2
range name=pile group pile

modelmohr range clay1
prop shear 2.04e7 bulk 4.42e7 range clay1
prop coh 28200 fric 2.9 range clay1

modelmohr range clay2
prop shear 2.04e7 bulk 4.42e7 range clay2
prop coh 28200 fric 2.9 range clay2

modelelastic range pile
prop bulk 4.42e7 shear2.04e7 range pile

model mech null range z -0.1 0.61

interface 1 prop kn 1e7 ks 1e7 fric 1.5 coh 14100

fix x range x -20.1 -19.9
fix x range x 19.9 20.1
fix y range y -15.1 -14.9
fix y range y 14.9 15.1
fix x y z range z -6.1 -5.9

set grav 0 0 -10

water density 1000
water table origin 0,0,-1.3 normal 0 0 -1

ini dens 1570 range clay1
ini dens 1570 range clay2
ini dens 1570 range pile

solve

modelelastic range pile
prop bulk 1.09e8 shear 8.17e7 range pile
ini dens2500 range pile

solve

model UWmodel range clay1
prop Gmax 20400000 p0 45510mm 0.5 PR 0.30 CC 28200 Fai 2.9 bb 432 nn 3.44 Rf 0.9 range clay1
prop TauRef 0.8 A0 0.05 Stpp 1 range clay1
prop dens 1570 range clay1

model UWmodel range clay2
prop Gmax 20400000 p0 45510mm 0.5 PR 0.30 CC 28200 Fai 2.9 bb 432 nn 3.44 Rf 0.9 range clay2
prop TauRef 0.8 A0 0.05 Stpp 1 range clay2
prop dens 1570 range clay2

solve

set dyn on

ini state 0
inixv 0 yv 0 zv 0 xdisp 0 ydisp 0 zdisp 0

sel beam id=1 begin=(0,0,0.6) end=(0,0, 0) nseg=10
sel beam id=1 begin=(0,0,0) end=(0,0,-6) nseg=15
sel beam id=1 propemod=3.8964e10 nu=0.2 dens=2500 &
xcarea=7.1e-2 xcj=3.976e-4 xciy=3.976e-4 xciz=0 &
pmoment=51200


sel node fix x y z xr yr zr range id=12

def xf_p1
      local ad = top_head
      local xftot = 0.0
      loop while ad # null
         local gp_pnt = mem(ad+1)
         local xf = gp_xfunbal(gp_pnt)
         xftot = xftot + xf
         ad = mem(ad)
      endloop
   xf_p1 = xftot
end

fix x range z 0.55 0.61 group pile

def init_ramp
   global udapp=0
   global udmax=2.5e-2
end
@init_ramp

def ramp
   while_stepping
   if dytime < 1 then
      udapp=udmax
         else
         if dytime>1
         if dytime<3 then
            udapp=-udmax
             else
             if dytime>3
                if dytime<5 then
                udapp=udmax
                  else
                  if dytime>5
                     if dytime<7 then
                         udapp=-udmax
                           else
                           if dytime>7
                              if dytime<8 then
                                 udapp=udmax
                              endif
                           endif
                     endif
                  endif
               endif
             endif
         endif
       endif
    endif
    local ad = top_head
   loop while ad # null
         local gp_pnt = mem(ad+1)
               gp_xvel(gp_pnt) = udapp
               ad = mem(ad)
   endloop
end

def find_add
       global top_head = null
       loop foreach local gp_pnt gp_list
               if gp_zpos(gp_pnt) > 0.59 then
                     local mem_head = get_mem(2)
                     mem(mem_head) = top_head
                     mem(mem_head+1) = gp_pnt
                     top_head = mem_head
                endif
      endloop
end
@find_add

hist add fish @xf_p1
hist add gpxdisp 0 0 0.6
hist add gp xvel 0 0 0.6
set mech damp comb
set dyn multi on

solve age 28
页: [1]
查看完整版本: 加载自定义的循环软化模型出错