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

[动力学分析] 处理颗粒逃逸的方法有哪些

[复制链接]
发表于 2010-5-9 10:25:57 | 显示全部楼层 |阅读模式 来自 湖南郴州
请教:
在荷载作用下,对于无墙处的颗粒,防止颗粒逃逸,都有哪些思路,效率如何?谢谢!
发表于 2011-8-14 15:14:40 | 显示全部楼层 来自 大连理工大学西山生活区
Simdroid开发平台
很简单,1. 你可以写个循环,每隔几步就将所有颗粒的速度设为零。2. 设置阻尼。over.

点评

很独到啊!  发表于 2015-4-2 15:30
回复 1 不支持 0

使用道具 举报

发表于 2010-10-25 20:38:52 | 显示全部楼层 来自 上海
同问???
回复 不支持

使用道具 举报

发表于 2010-11-2 10:25:01 | 显示全部楼层 来自 天津
同问
回复 不支持

使用道具 举报

发表于 2010-11-4 11:22:21 | 显示全部楼层 来自 大连理工大学
可以定义个periodic space试试
回复 不支持

使用道具 举报

发表于 2010-11-14 15:14:05 | 显示全部楼层 来自 上海
我这样生成模型,删除墙后,颗粒总是逃逸,请较高手,有什么方法解决啊?
new
set random
set disk on
set log on
set logfile  sha20090918.on
;---------------------------------------------
def initial_wall; 初始化墙尺寸
height1=0.1
pileD =0.01
width=pileD*30
height2=0.3
hremove=0.04
poros=0.12
fric_sand=0
fric_soil=0
pileD =0.01
pilel =0.1
kn_w=1e8
end
initial_wall
;------------------make wall--------------------
def  make_wall
   extend=0.1
   height3=height2+extend+0.1
   _x0=-extend
   _y0=0
   _x1=width+extend
   _y1=0
   command
     wall id=1 kn=kn_w  nodes (_x0,_y0) (_x1,_y1)
   end_command
;----------------------------------------------------
   _x0=width
   _y0=-extend
   _x1=width
   _y1=height2+extend
   command
     wall id=2 kn=kn_w nodes (_x0,_y0) (_x1,_y1)
   end_command
;------------------------------------------------
   _x0=width
   _y0=height2+extend
   _x1=width
   _y1=height2+extend+0.1
   command
     wall id=3 kn=kn_w  nodes (_x0,_y0) (_x1,_y1)
   end_command
;-------------------------------------------------
   _x0=width+extend
   _y0=height2+extend+0.1
   _x1=-extend
   _y1=height2+extend+0.1
   command
     wall id=4 kn=kn_w  nodes (_x0,_y0) (_x1,_y1)
   end_command
;-------------------------------------------------
   _x0=0
   _y0=height2+extend+0.1
   _x1=0
   _y1=height2+extend
   command
     wall id=5 kn=kn_w   nodes (_x0,_y0) (_x1,_y1)
   end_command
;-------------------------------------------------
   _x0=0
   _y0=height2+extend
   _x1=0
   _y1=-extend
   command
     wall id=6 kn=kn_w   nodes (_x0,_y0) (_x1,_y1)
   end_command
end
;---------------------------
make_wall       ;-----------生成墙------------------
;-----------分隔墙完成--------------------------------
;------------------------------------------------
;-------------------砂土颗粒-----------------------
;------------------------------------------------
def set_prop_sand
    dens_sand=2630
    fric_sand=0.0
    kn_sand=5e7
    ks_sand=6.25e6
    dens_soil=2730
    fric_soil=0.0
    kn_soil=2e6
    ks_soil=1e6  
  end
;-----------------------------------------------
def assemble_sand
    set_prop_sand
;-------------the frist qu----------
     rlo=0.0018
     rhi=0.0025
    tot_vol = (height2+extend+0.1)*width
    rbar= 0.5*(rlo+rhi)
    _x0=0
    _y0=0
    _x1=width
    _y1=height2+extend+0.1
    num=int((1.0-poros)*tot_vol/(pi*rbar^2))
    shaqu1=num+100 ;预留100颗粒
    shaqu10=100+1
    mult = 1.6
    rlo_0=rlo/mult
    rhi_0=rhi/mult
    command
      gen id=shaqu10,shaqu1 rad=rlo_0,rhi_0 x=_x0,_x1 y=_y0,_y1 &
              tries 10000000000   ;filter ff_sand
      macro rball_sand1 'id=shaqu10,shaqu1'
      prop dens=dens_sand kn=kn_sand range rball_sand1
    end_command
    ii=out(string(num)+' particles were created')
    command
    plot create view1
    plot set background white
    plot add ax brown
    plot wall red
    plot add ball yellow
    plot show
    ;----------------------------
       cyc 10
        cyc 500
    ;-----------------------
    end_command   
    sum = 0        ;get actual porosity
    bp  = ball_head
    loop while bp # null
     sum = sum +pi*b_rad(bp)^2
     bp  = b_next(bp)
    end_loop
    pmeas = 1.0-sum/(1.0*tot_vol)
    mult  = sqrt((1.0-poros)/(1.0-pmeas))
    command
      ini rad mul mult  range rball_sand1
      prop ks=ks_sand fric=fric_sand range rball_sand1
      ;-----------------------------------
       cycle 10  range rball_sand1
        cycle 500  range rball_sand1
     ;-----------------------------------
    end_command
;------------finish----------------
end
;------------------------------------------------------
;------------- main program---------------------------------
;-----------------------------------------------------------
    initial_wall
    assemble_sand
    set grav 0 -9.8
     cyc 100
;----------------------------------
   macro zero 'ini xvel 0 yvel 0 spin 0 xd 0 yd 0'                                solve ave 0.001 max 0.001
   zero
   group upperspace range x 0.0 width y height2 height3
   dele ball range group upperspace
   range name modelbox x 0 width y 0 height2
   dele ball range modelbox not
   dele wall 3
   dele wall 4
   dele wall 5
   cycle 1000
   save model_box.sav
回复 不支持

使用道具 举报

发表于 2011-8-8 21:52:33 | 显示全部楼层 来自 天津
请问您的程序里面的extend是什么意思啊?看不明白。
回复 不支持

使用道具 举报

发表于 2011-8-9 10:02:05 | 显示全部楼层 来自 北京西城
你是说通过什么方法防止因为颗粒放大法生成颗粒后产生较大初始接触力致使在删除墙后颗粒逃逸么?
回复 不支持

使用道具 举报

发表于 2011-8-17 07:51:06 | 显示全部楼层 来自 吉林长春
回复 8# lww20051014


    设置阻尼是用damp来设置吗 是设置速度为零还是怎么来实现 可否说得再详细一点
回复 不支持

使用道具 举报

发表于 2011-12-13 20:00:38 | 显示全部楼层 来自 四川成都
同问·······
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-29 15:30 , Processed in 0.052110 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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