颗粒流软件PFC6.0 案例——病毒感染、传播感染算例《古尔丹的黑魔法军团》
没人点赞这个博客就关啦!T_T
博客介绍
想了几个名字:①生化危机、②星火燎原、③古尔丹大战霜狼氏族!
-
《古尔丹的黑魔法军团》
-
最近有人咨询过这个,感觉挺有意思,昨天昨天抽空写了写,效果还行。哈哈哈,虽然被鸽了,但模型跑起来还蛮治愈的,写在这里记录一下吧。
-
计算需求:一个固定区域内有一定数量的健康对象,一个感染源对象(暂且称为古尔丹吧),健康对象和感染源接触两次后被感染,模拟整个感染过程。
代码
model new
model large-strain on
设置基础参数
def canshu
changdu=0.6
kuandu=0.6
lijing=0.0035
tiaosushijian=0.00015
num_p=600
suduxishu=0.1
fsfw=5
end
@canshu
生成对象,计算范围
domain extent [-changdu*1.5] [kuandu*1.5]
cmat default model linear method deformability emod 10e6 kratio 1.5
ball generate id 1 radius [lijing] number 1 box [-changdu] [kuandu] group 'ganranyuan'
ball generate radius [lijing] number [num_p-1] box [-changdu] [kuandu] group 'duixiang'
ball attribute density 1500 damp 0.1
wall generate box [-changdu] [kuandu]
设置运单位速度
fish define brdongyidong
global tnext,time_br_do
local tcurrent = mech.time.total
if tcurrent < tnext then
exit
endif
tnext = tcurrent + time_br_do
;
endloop
end
[time_br_do =2]
[time_start = mech.time.total]
[tnext = time_start]
@brdongyidong
fish callback add brdongyidong -11.0
根据碰撞进行判断
def pengzhuangfenzu(entry)
;
end
model solve
结果
不同阶段的感染情况
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
最后贴上所有代码
;后续再更新
model solve
向各位大神、致敬!!!
先更一下占个坑,后边有时间了再来完善!!!
整理不易,如果您觉得文章有用的话,别忘了动动小手点个赞哦!!!