在UDEC计算中,经常有小伙伴会弹出以下的错误窗口:
提示“块体嵌入过大”的错误。块体嵌入的示意图如下所示:
遇到这种错误不要慌张,在错误提示窗口中其实已经说明了可能的最常见的原因,就是法向刚度过低。如果还不能解决问题,在帮助文档的 USER’S GUIDE 中专门有一节来说明计算过程中可能遇到的各种问题的解决办法,里面就有嵌入过大的常见可能原因及解决办法。
在该节 3 PROBLEM SOLVING WITH UDEC 的 3.9 Tips and Advice 中的 11. Contact Overlap 小结中这样写道:
The error message “Contact Overlap Too Great” can occur during cycling if one block penetrates too far into another. The maximum amount of overlap allowed by the code is one-half the rounding length. If such an error occurs, it is usually necessary to restart the problem from an earlier state. However, before restarting, it is important to identify the cause of the error and correct it.
Useful information concerning the contact location(s) where overlap occurred is given preceding the contact overlap message. Also, use the PLOT overlap command to identify the blocks involved. The following possible causes for contact overlap can be identified.
Joint Normal Stiffness Too Low
– If the joint normal stiffness is unrealistically low for the loads applied, the blocks will penetrate too far into each other. This cause can often be identified by (a) plotting a close-up of the affected area; or (b) printing contacts in the same area. See note 4, above, for a remedy to this problem.
Numerical Instability
– Numerical instabilities, characterized by increasing amplitude of oscillations, result from timesteps that are too large. History plots that show wild fluctuations are indicative of a numerical instability. The only way to correct a numerical instability without changing other problem parameters is to reduce the timestep by using the FRACTION command. Increasing mass damping parameters can often hide instability but will not likely eliminate it. UDEC automatically determines a timestep that is stable for most cases. However, situations may arise when this timestep is too large. Several situations have been identified as causing numerical instability:
如果一个块体嵌入到另一个块体中太深,则在循环计算期间可能会弹出错误消息:
“Contact Overlap Too Great”
程序默认允许的最大嵌入量是 rounding 长度的一半。 如果发生此类错误,通常必须从较早的状态重新开始计算。 但是,在重新计算之前,确定错误原因并进行纠正很重要。可以采用 PLOT overlap 命令来识别所涉及的块体。下面可能是块体嵌入过大的原因:
1.节理法向刚度太低
如果节理法向刚度相对于施加的荷载是不切实际的低,则块体将插入到其他块体太深。这个原因常常通过如下识别:(a)绘制影响区域闭合图或者(b)打印在同一区域的接触面。对于修正该问题,见上述 note 4
2.数值不稳定性
数值不稳定性的特征是振荡幅度增加,这是由于时间步长太大所致。History 记录图上显示出的剧烈波动就是数值不稳定的标志。在不更改其他问题参数的情况下纠正数值不稳定性的唯一方法是使用 FRACTION 命令减少时间步长。 质量阻尼参数的增加通常可以掩盖不稳定性,但不可能消除它。 UDEC自动确定在大多数情况下稳定的时间步长。然而,当这个时间步太大时就可能出现不稳定性了。已经确定了几种导致数值不稳定的情况:
(1) use of large values of stiffness proportional damping at high frequencies (see Section 4.2 in Special Features); (2) use of high values of joint dilation; (3) use of problem geometries in which one block contacts many (more than 3) other blocks on one side; and (4) use of nonreflecting (i.e., viscous) boundaries in which the bounding material is significantly stiffer than the material in the problem domain.
If the cause of the contact overlap cannot be identified, it may be necessary to use the SET cscan command. This command causes the location of the center of rounded corners to be updated more frequently, resulting in more accurate calculation of contacts and overlap.
- 在高频下采用了较大的刚度阻尼成分(与质量阻尼对应的阻尼) <见理论与背景的第4.2节>;
- 采用了较高的节理剪胀角;
- 釆用的几何模型中有一个块体在一个边与很多(多于3个)其他块体接触;
- 采用了非反射 (即粘滞)边界,且边界材料的刚度远远高于模型内部材料的刚度。
如果错误原因还不能找到,则可能有必要采用 SET cScan 命令。此命令使圆角中心的位置更加频繁地更新,从而可以更精确地计算接触和重叠。
Another procedure for eliminating this error is to increase the overlap tolerance at the start of the problem. Use the command SET ovtol. This procedure is useful if the original rounding length was very small and/or the problem geometry involved blocks with very acute angles. However, this approach can also be very dangerous if not used thoughtfully, because erroneous results can occur if ovtol is too large.
消除此错误的另一种方法是在问题开始时增大嵌入“容许值”,即使用命令 SET ovtol 进行设置。 如果初始设置的rounding 长度非常小,和(或)问题几何形状涉及具有非常尖锐锐角的块体,该方法很有用。 但是,如果不慎重使用该方法,也会非常危险,因为如果自行设置的 ovtol 太大,可能会产生错误的计算结果。
当然,上面的方法只是一些常见原因,很可能出现以上所有方法都没用的情况,这时就需要具体分析所写的命令流及检查模型的正确性了,不能一概而论。
Comments | 13 条评论
您好站主,咨询一个问题,我在一个剪切模拟中想生成一个点的法相位移随横向剪切位移的变化图,该怎么写这个plot 的命令呀
@liushang_honor 先hist ndis x y 再hist sdis x y,然后plot hist 1 vs 2应该就可以画出靠近x y坐标点的法向位移随剪切位移的变化图
谢谢,我还有个头疼的问题,就是我想设置一个有一条曲线裂隙的模型,我在gen edge 的时候,因为我是逐点取的坐标,然后描绘成的一条曲线,所以在曲线曲折密集的线段那里点特别多,在分块的时候就会很畸形,算起来感觉也很麻烦。所以我想请问一下如果直接导入的是一条方程函数生成的曲线,还会出现这种情况吗,烦请指点
@liushang_honor 平滑的曲线只会由更多直线组成,udec的节理裂隙几乎都是直线组成的,曲线的也是以直代曲,所以你用方程生成的曲线如果坐标点还是很多的话,还是会这样,无法解决
嗯嗯,谢谢啦,学到了!!
博主你好,请问为什么块体会嵌入呢,有没有什么办法让块体之间一点儿也不嵌入
@小凶许 块体之间的接触在计算中是以弹簧来模拟,因此可以看到需要指定法向和切向刚度。有力的作用就有嵌入,嵌入量*法向刚度应该就是接触力,反复循环计算。嵌入应该属于软件程序自身的问题,不可能一点都不嵌入,我最近计算大规模问题时遇到嵌入终止计算的问题也还没办法解决😂
万分感谢!
请问博主,我的模型破坏后,掉落的块体直接掉进了模型内部,没有沿着边坡表面运动是怎么回事呢?要如何解决,谢谢。
@2374472354 可以试着把接触刚度调大点,但是嵌入问题我觉得不可避免的,都会有一点
博主,我发现开启空间检测config cellspace 之后,块体之间就不会相互嵌入,jkn和jks 的大小对其影响很小
@2322968171 多谢你的反馈,以后我要是出现这种问题也config cell试试!我几乎还没用过这个功能
博主你好,我做模拟时也出现过Contact Overlap Too Great,我调整了节理的法向刚度还是没变化。请问一下我应该怎么能