- 积分
- 0
- 注册时间
- 2012-4-11
- 仿真币
-
- 最后登录
- 1970-1-1
|
源程序如下,就是长方体中开了一道裂缝,用过滤器在除了裂缝外其他地方生成球体,命令运行至SET ff_x=0 ff_y=0 ff_z=0 a=10 b=8 c=8 d=1停止了,并显示出错信息 cannot use density scaling。
各位达人帮帮忙啊,小女子拜谢啦,我是刚开始学这个软件,只会修改一部分语句的命令,大家看看我有什么改的不对的吗?
————————————————————————————
;fname: wallfilt.dat
new
def ff_rect
; ----- User-defined generation filter that defines a square annulus
; with center at ([ff_x], [ff_y], [ff_z])
; Assumes that the GENERATE command using this filter will define
; the square region that just encompasses the outer radius.
; Returns (0) if the trial ball is fully within the annulus
; Returns (1) otherwise (reject this trial ball)
; INPUT: ff_x, ff_z, a, b, c, d
_brad = fc_arg(0)
_bx = fc_arg(1)
_by = fc_arg(2)
_bz = fc_arg(3)
_skip = 0
_r1 = _bz - c*(_bx + _brad)/d
_r2 = _bz + c*(_bx - _brad)/d
if _r1 < 0 then
if _r2 < 0 then
_skip = 1
end_if
end_if
ff_rect = _skip
end
def gen_balls
_xlo = ff_x - a
_xhi = ff_x + a
_ylo = ff_y - b
_yhi = ff_y + b
_zlo = ff_z - c
_zhi = ff_z + c
command
generate x=(_xlo, _xhi) y=(_ylo, _yhi) z=(_zlo, _zhi) &
rad=(0.1, 0.15) &
filter=ff_rect &
id=(1,200)
end_command
end
SET ff_x=0 ff_y=0 ff_z=0 a=10 b=8 c=8 d=1
gen_balls
property dens=1200 kn=1e8 ks=1e8 ; ball property
wall id=1 face (a,-b,-c) (a,b,-c) (a,b,c) (a,-b,c)
wall id=2 face (a,-b,c) (a,b,c) (-a,b,c) (-a,-b,c)
wall id=3 face (-a,-b,c) (-a,b,c) (-a,b,-c) (-a,-b,-c)
wall id=4 face (a,-b,-c) (a,b,-c) (-a,b,-c) (-a,-b,-c)
wall id=5 face (d,-b,-c) (d,b,-c) (0,b,0) (0,-b,0)
wall id=6 face (0,-b,0) (0,b,0) (-d,b,-c) (-d,-b,-c)
wall id=9 face (a,b,-c) (-a,b,-c) (-a,b,c) (a,b,c) ; wall at the front
wall id=10 face (-a,-b,-c) (a,-b,-c) (a,-b,c) (-a,-b,c) ; wall at the back
wall id=1 kn=1e8 ks=1e8
wall id=2 kn=1e8 ks=1e8
wall id=3 kn=1e8 ks=1e8
wall id=4 kn=1e8 ks=1e8
wall id=5 kn=1e8 ks=1e8
wall id=6 kn=1e8 ks=1e8
wall id=9 kn=1e8 ks=1e8
wall id=10 kn=1e8 ks=1e8 ; wall property
;
plot create the_view
plot add ball yellow
plot add axes black
plot add wall blue id=on
plot show
;
pause
property rad mul 1.5 ; ball radius multiply 1.5
plot add cf green ; plot contact force green
cycle 250
pause
;wall id=1 x=3.5 y=0.5 z=3.5 ys=10.0
;wall id=2 x=3.5 y=0.5 z=3.5 ys=10.0
;wall id=3 x=3.5 y=0.5 z=3.5 ys=10.0
;wall id=4 x=3.5 y=0.5 z=3.5 ys=10.0
;wall id=5 x=3.5 y=0.5 z=3.5 ys=10.0
;wall id=6 x=3.5 y=0.5 z=3.5 ys=10.0
cycle 500
|
|