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

[建模专区] 求问cannot use density scaling这个错误怎么解决?

[复制链接]
发表于 2012-9-29 21:04:35 | 显示全部楼层 |阅读模式 来自 北京昌平
源程序如下,就是长方体中开了一道裂缝,用过滤器在除了裂缝外其他地方生成球体,命令运行至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
发表于 2012-9-30 00:20:52 | 显示全部楼层 来自 美国
Simdroid开发平台
见附件,程序通了。只是建模,我也没有仔细看。
fish函数变量在使用是一定要注意命名规则,有些预留的名称是不可以用地,如c,d等。最好在后面加上数字后缀,变量值取相反数时只有在his中有效,其他的pfc命令中无效“-”被认为是字符如a0 与-a0是两个不同的变量,不是相反数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-30 20:23:41 | 显示全部楼层 来自 北京昌平
rock_cumt 发表于 2012-9-30 00:20
见附件,程序通了。只是建模,我也没有仔细看。
fish函数变量在使用是一定要注意命名规则,有些预留的名称 ...

非常感谢~~  
之前用matlab vc什么的用习惯了,觉得a b c d这种变量随便用呢。
PFC中原来负号也不是随便用的,长知识了,多谢多谢!
回复 不支持

使用道具 举报

发表于 2012-10-1 10:56:33 | 显示全部楼层 来自 武汉大学
学习了
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-29 09:28 , Processed in 0.032476 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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