目录
认识线性模型
模型简介
Linear Model 在颗粒与墙体相接触时候才会出现。(下图:切向力-重叠量)
参数掌握kn,ks和fric
模型验证
建立法向和切向模型,验证参数如何控制模型的破坏。
new
domain extent -100 100
ball create position 0 -10 radius 10
ball create position 0 10 radius 10
ball fix vel spin range id 1
ball fix vel spin range id 2
ball attribute vel 0 -1.0 range id 2
;ball attribute给定初始速度
;加上ball fix表示固定速度,速度保持不变
ball attribute density 2.3e3 damp 0.7
cmat default model linear property kn 1e7
;定义线性模型
set timestep fix 1e-5
solve time 0.1
save faxiang1
ball attribute vel 0 1.0 range id 2
;2号球体朝上运动
solve time 0.12
save faxiang2
restore faxiang1
ball attribute vel -1.0 -0.0 range id 2
;将球体赋予速度
cmat default model linear property kn 1e7 ks 1e7 fric 0.5
cmat apply
;cmat是对于新接触赋值
;如果已经有接触了,那就需要加上一句cmat apply
[ct=contact.find("ball-ball",1)]
def jiance
whilestepping
faxiang_force=contact.force.normal(ct)
qiexiang_force=contact.force.shear(ct)
heli_local=math.sqrt(faxiang_force^2+qiexiang_force^2)
;获取法向力,切向力以及合力(局部坐标系)
Xforce=contact.force.global.x(ct)
Yforce=contact.force.global.y(ct)
heli_global=math.sqrt(Xforce^2+Yforce^2)
;获取全局坐标系的力
;局部和全局得出的合力相同,只是分解的方式不一样
fu=faxiang_force*0.5
;强度包络线,峰值和μ×Fn有关,见第一部分曲线
end
;whilestepping可以直接回调,等价于callback-1.0
history id 1 @faxiang_force
history id 2 @qiexiang_force
history id 3 @Xforce
history id 4 @Yforce
history id 5 @heli_local
history id 6 @heli_global
history id 7 @fu
solve time 0.1
emod介绍
lin_mode 模型的计算模式
emod 弹性模量
kratio 刚度
emod和kn可以进行互换,即可以由kn计算得出emod,或者由emod和粒径计算得出kn
测试不同粒径下kn的不同。在二维情况下,kn随着颗粒粒径变化较小,而三维时,kn随着颗粒粒径变化较大。建议使用宏观的emod参数进行赋值,如果设定kn的话,需要考虑一下粒径对于kn的影响。
restore faxiang1
ball attribute vel -1.0 -0.0 range id 2
cmat default model linear method deform emod 1e7 kratio 10
cmat apply