今天在运行岩石真三轴试验中,碰到了伺服函数callback调用的重要的问题,以前认知到callback函数的重要性但是一直赋的值为-1.0因而没有特别关注。
今天存在的问题是:fish callback remove @servo_walls 1.0 这个在之前赋围压的时候设置的也是1.0,表述为:fish callback add @servo_walls 1.0。但是在remove掉该函数并表述为1.0的时候,发现加载过程中墙体不再监测应力了,所有的应变与应力的值均不再发生改变。而remove掉该函数并表述为-1.0的时候,应力监测才能够运行。
参考了help文件:
0.0-Timestep Determination
为了可靠地更新模型状态,我们必须为牛顿定律的数值积分确定一个合适的时间步长。选择一个过大的时间步长可能会导致不稳定,表现为物体飞向无限远。另一方面,选择一个太小的时间步长可能会导致模拟时间过长。在PFC中,时间步长的计算是基于运动学上的片状位移约束和刚度约束,如下所述;最终的时间步长被视为这些约束的最小值。时间步数的计算可能相对昂贵,人们可以非常谨慎地完全禁用时间步数计算算法以提高效率。这是一个危险的提议,应该只由高级用户使用。。
10.0-Law of Motion
机械运动规律以及热体属性的更新是在周期点10.0进行的。机械运动规律将在本节中介绍。关于热力公式的细节,请参见PFC热力公式。
单个刚性粒子的运动是由作用在它身上的结果力和力矩矢量决定的,可以用粒子中的一个点的平移运动和粒子的旋转运动来描述。质量中心的运动可以用其位置、速度和加速度来描述。粒子的旋转运动是由其角速度和角加速度来描述的。
运动方程可以表示为两个矢量方程:一个是将结果力与平移运动联系起来,另一个是将结果力矩与旋转运动联系起来。
也就是说,-1.0还计算了时间步相比于1.0, 所以出现这种情况是因为时间步太小?如果只是设置到1.0的话。还得仔细研究,看看主要是什么问题。