好的,昨天一顿操作猛如虎,回头一看,棺材板压不住了。
昨天的主要想法是,师妹的模型存在两个问题,一个是颗粒示踪没做,一个是挡板高度太低。再就是环剪盒的模型和实际环剪盒尺寸不一致。
于是,没弄明白示踪是怎么回事,就决定把岩土新军的代码抄过来,改一改。结果运行完了以后,到今天上午才想明白,到底为什么棺材板会压不住。因为新军的伺服代码原理是,如果球体和墙的接触力大于法向应力,那墙体往上移,减小这个力,直到达到平衡的位置,即接触力和法向压力相等的时候。那么问题就来了,如果初始接触力大的话,也就是重叠量大,为了达到平衡,顶部的墙就会向上移动。所以,在新军的代码里有缩放颗粒大小这一步。缩放颗粒带来的问题就是,最终形成的颗粒的粒径和你原来设置的粒径大小不一样,这和我们研究关注的重点是矛盾的。另外新军的代码还有一个缺陷是,在伺服的时候,只有顶部的墙在动,而顶部的挡板是不动的。这和实际的环剪试验是不相符的。
目前解决的方法:
1、接触问题,试验两种方法,一种是用新军模型,将生成颗粒的范围变小,然后试一下固结,看看效果,如果效果不好,那就只能用师妹的固结代码。如果固结效果好的话,就可以考虑怎么改一下代码,让上面的挡板和墙一起动。效果是好的。
2、挡板和墙一起动的问题,有两个解决方案,一是运行结束以后,计算上墙体的移动距离,将挡板一起移动;一种是在计算过程中,让挡板和墙面一起移动,(还没想明白怎么实现)
PS:家人们!悟了!代码运行的时候可以看到各个参数的数值。
文章评论