在 COMSOL Multiphysics® 软件的大多数功能中,都包含 弱约束 选项。这篇博客,我们将深入探讨什么是弱约束、为什么要使用弱约束,以及使用弱约束时需要特别考虑的事项。
章节内容
几乎在所有情况下,COMSOL Multiphysics® 中默认的约束类型都是逐点约束。逐点约束直接应用于自由度 (DOF),通常是网格中的一组节点。
在模型开发器的大多数标准约束功能的设置中,都有一个 约束设置 栏。在这个下列菜单栏中,您可以在两个不同的约束之间进行选择。一些功能的约束列表中可能包含第三个选项,即 Nitsche 约束。
约束设置 栏示例。
不过,默认情况下该栏并不显示。弱约束属于 “高级”功能。您可以在 显示更多选项 对话框中选择 高级物理场选项 来启用该栏。
由于弱约束是基于 拉格朗日乘子,我们有必要先从该主题的一些基本概念讲起。
拉格朗日乘子的概念是由数学家约瑟夫•路易•拉格朗日(Joseph-Louis Lagrange)在变分法研究中提出。在我们的博客诞辰快乐,约瑟夫•路易•拉格朗日中,您可以了解更多关于他的生平和工作。
一般的带约束最小化问题可表述如下:在一组约束条件 的约束下,求函数
的最小值。接下来的问题是,如何以一般的方式满足这些约束条件。对于简单约束(例如线性约束),可以显式地反解约束表达式并将结果代入
,从而减少未知数的数量。但这只是例外情况,而非普遍规律。
现在可以通过求解以下函数的最小值来解决问题:
式中, 是一组新的未知变量,即拉格朗日乘子。由于
为真解,因此很明显,
的最小值等于受约束
的最小值。但为什么会这样呢?
要找到函数的极值,需要计算所有变量的偏导数,并将它们设为零。在这个示例中,
和
因此,通过对方程组求关于拉格朗日乘子的偏导就可以恢复约束方程,也就是说,约束条件仍然有效。但是,第一组方程更为精妙。要理解对于特定值,为什么它们能确保获得正确的最小值,需要更详细的论证。值得注意的是,新方程现在还涉及约束函数的梯度。
如需完整且详细的解释和举例说明,请参阅:拉格朗日乘子。
考虑一个简单的线性静态有限元问题。最终离散矩阵形式可以写为
式中, 是刚度矩阵,
是自由度向量,
是节点载荷向量。为了能够求解此方程组(使刚度矩阵非奇异),必须已知至少一定数量的自由度值。例如,对于传热问题,至少需要一个温度,而对于三维固体力学问题,至少需要知道 6 个位移自由度。最常见的方法是直接输入该自由度的数值。此外还有其他选项,如热量传递分析中的对流边界条件或结构力学中的弹簧条件。
实际应用中往往会施加远超稳定性所需的约束,例如在整个边界上应用约束。只要存在一些受约束的自由度,就可以将方程组按如下形式进行划分:
式中,下标 a 表示激活的自由度,下标 c 表示受约束的自由度。矢量 包含受约束节点上未知的反作用力。这一术语来源于固体力学反作用力的概念。例如,在热量传递中,反作用力就是热通量。大多数情况下,约束节点上不施加任何载荷
,因为它们对解没有影响。
的值是已知的,例如
。在求解有限元方程时,最基本的处理方法是只求解激活的自由度。约束值的影响可以移到方程右侧,得到
求解简化后的方程组后,就可以使用以下方程在结果估计步骤计算反作用力
实际计算时,只需组装 矩阵,其余矩阵乘法运算可以在单元层面更高效地完成。
这种表述反作用力的方法假定问题是线性的,因此矩阵是常数。一种更通用的表述方式是,反作用力是残差计算的结果。对于激活的自由度,收敛解的残差很小。在受约束节点,残差较大,可以解释为反作用力。
在 COMSOL Multiphysics® 中,基本上 后验 是可以做到的使用 reacf() 算子计算与节点相关的反作用力。请注意,得到的值是集中的节点值而非连续分布场。根据单元中使用的形函数,这种节点值的分布可能不是很直观。不过,其求和结果在数值舍入误差范围内是精确的。
这种方法的缺点是,如果需要在计算中使用反作用力,它们就无法使用。
注:上述描述基于一般的有限元公式,是对 COMSOL Multiphysics® 内部实际处理方式的极大简化。实际上约束处理要复杂得多。例如,可能涉及非线性约束,或是连接不同物理场变量的跨场约束。
现在,继续讨论离散化形式。为了不那么抽象,我们举一个固体力学的例子。对于线性问题,可以证明势能为
将 W 与位移最小化,就能得到之前使用过的普通方程组。现在,将所有约束条件与各自对应的拉格朗日乘子相乘后加入势能表达式:
为清晰起见,自由度向量分为无约束 DOF ( ) 和有约束 DOF (
) 。关键区别在于:新公式中将受约束自由度同样视为未知量。
为简单起见,假设受约束的自由度无外载作用。对各组变量求导后得到如下方程组:
利用第二行方程可以很容易地验证,拉格朗日乘子与上文介绍的节点反作用向量 完全相同。最后一行方程简单地说明了
。
如果原始刚度矩阵是对称的(通常是这种情况),那么这个新方程组也是对称的。但此表述存在以下局限:
尽管如此,该方法仍具显著优势:
弱约束条件同样基于拉格朗日乘子概念。不过,在离散化之前的数学描述中已经考虑了约束条件。
有限元公式的基础是使用基本方程的弱形式。在固体力学中,这也被称为虚功原理。计算公式如下:
式中, 是应力张量,
是应变张量,
是牵引向量,
是位移场。符号
表示变分算子。在 COMSOL Multiphysics® 中,它由
test() 和 var() 算子表示。符号约定与软件保持一致。
为简单起见,假设载荷(牵引力)只作用于边界。在更一般的情况下,也可能存在体积、边和点载荷。
为了使公式更加完整,需要在边界的某些部分设置位移的指定值,
在用选定的形函数近似位移时,该数学表达式将转化为有限元方程的离散化形式。
基于拉格朗日乘子的思想,现在可以通过添加一个额外项,将约束条件纳入弱表达式中:
式中, 是一个定义在约束边界上的拉格朗日乘子。假设
只是一个指定值(与解无关),那么最后一项可以扩展为三项,即
当使用有限元法将弱形式表达式转换为离散方程时,与位移一样, 使用形函数在单元上近似。原则上,两个场的形函数可以相互独立地选择,但这样会失去刚度矩阵的对称性(甚至会使矩阵变得奇异)。因此,通常使用与位移相同的形函数。组装后的方程组如下所示
矩阵 和
源自上述弱表达式中的第三项和第四项,只要位移和拉格朗日乘子使用相同的形函数,它们就具有对称性。
补充说明:矩阵
实际上与同一边界上单位面积质量分布的质量矩阵贡献相同。在 固体力学 接口中,可以使用 附加质量 节点给出这种质量分布。
为便于比较,我们重复上述对离散化系统应用拉格朗日乘子得到的方程组:
可以看出,结构类似,但单位矩阵被 所取代,右侧现在包含
,它是
的加权形式。
那么,这种修改会产生什么影响?指定自由度的节点值将不再与指定值完全一致。另一方面,节点之间的值在平均意义上将更接近给定函数 。
为了说明这一点,我们来看一个简单的传热示例,比较用标准逐点约束法和弱约束法得到的结果。
使用二阶拉格朗日单元在单位正方形上以 2×2 网格求解一个二维传热问题。在最右边的边界上,温度设定为 sin(2*Y)。在相反的边界上,温度设为零。在其余边界上,没有任何边界条件,对应于无通量。温度选择指定正弦函数分布是为了避免二次形函数对其进行精确描述。
如果我们沿着右边界绘制温度曲线,两种方法之间的差异几乎重合,如下图所示。
在下图中,我们可以看到温度与其设定值之间的比较,这是一个更有趣的曲线图。
从上图可以看出,在节点点上,逐点约束与指定函数完全一致。而使用弱约束条件时,情况并非如此。
还存在一个或其他更好的解吗?第一个尝试是计算与给定函数相比的平均误差。结果如下表所示。
| 约束 | T-sin(2*Y) 的平均值 |
|---|---|
| 逐点约束 | 2.5*10-4 |
| 弱约束 | 3.6*10-7 |
事实证明,使用弱约束条件时,平均误差要小三个数量级。通过添加拉格朗日乘子场,指定值将在平均意义上尽可能地一致。为了证明这不是巧合,我们进行了一次参数扫描,将边的网格密度从 1 个单元改为 20 个单元。
需要强调的是,这些误差量级本身已经非常微小。对于任何合理细化的网格而言,上述对比主要具有理论研究价值。
在接下来的案例中,约束类型的选择将产生直观可见的影响。
此例中,我们使用的是一根横截面为正方形的杆,它受到单轴拉伸。这是一个有两个域的装配体。一个域使用六面体单元网格划分,另一个域使用四面体单元网格划分。由于这是一个装配体,因此使用 连续性 条件将两个域连接起来。其结果是,网格在共同边界处 不兼容。
默认情况下,连续性是通过逐点约束来实现的,因此 目标 侧的每个节点都必须具有与 源 侧相应位置完全相同的位移。根据选择哪一侧作为目标,将得到不同的结果。
使用逐点状约束时杆内的应力分布。在前景中,六面体单元构成目标侧,背景中则为四面体单元。
由于两个域交界处的形函数不一致,应力场中存在明显的局部扰动。随着与连接处距离的增加,扰动会迅速消失。COMSOL博客:“圣-维南原理的应用和解释 ”中详细讨论了这一现象。
如果我们现在改用弱约束,结果会好得多。在下图中,应力采用了另一种标度。误差大约小了一个数量级。
结论表明,弱约束法能有效缓解非匹配网格连接时的应力扰动问题。
您可能会问,既然在传热示例中的影响如此之小,为什么在这个示例中两个公式之间的差异如此之大?答案是,指定温度是平滑的,可以用形函数进行合理近似。而在网格不匹配的情况下,每个单元面上的位移场都由各自的形函数表示,并不具有连续导数。现在,弱约束的平均效应变得更加重要。
COMSOL Multiphysics® 中的一些约束功能允许使用第三种类型的约束实施方法:Nitsche 方法。本文不展开理论细节,它也是一种弱约束类型,但不依赖于拉格朗日乘子的使用。它没有增加额外的自由度。以下是将该方法应用于同一个杆示例时的结果。
Nitsche方法有多种变体可供选择。这里使用的是默认的对称方法。可以看出,源点和终点的选择不再重要,误差甚至比使用弱约束时更小。Nitsche 约束不仅涉及连接边界上的节点,还涉及与边界上一个面的单元相连的所有节点,因此提供了更多的灵活性。
Nitsche 方法的缺点是,在其默认(也是最稳定的)的实现中,会产生一个非对称刚度矩阵,这可能会大大延长求解时间。如果问题中还有其他效应导致非对称贡献,这一缺陷则可忽略,因为对称刚度矩阵的优势已不复存在。
在 COMSOL Multiphysics® 中,当选择使用弱约束时,该功能表示”使用拉格朗日乘子进行约束”。在少数情况下,例如在约束单点或常微分方程 (ODE) 自由度时,拉格朗日乘子只是一个数值而非场量。在这种情况下,情况与上述离散情况相同:没有新的近似值,唯一的影响是可以直接获取约束力。(不过,你可能并不认为这是真正的弱约束)。
在某些情况下,特别是在结构力学接口中,调用拉格朗日乘子的公式时并没有明确提及弱约束。例如,刚性连接件 功能有一个名为 计算反作用力 的选项。
你可能会问为什么需要一个选项来获取反作用力。原因是对于该功能和其他类似功能,除了使用拉格朗日乘子外,没有其他方法可以计算反作用力。另一方面,总是使用这种计算方法可能会导致一些不明显的问题,这将在后文中讨论。因此,需要用户进行交互控制。
上文提到,对于离散情况,拉格朗日乘子可直接解释为节点反作用力。这一特性更为普遍,并且不局限于有限元方法或固体力学。拉格朗日乘子代表执行约束所需的某种作用。通常,拉格朗日 代表一种能量。在这种情况下,拉格朗日乘子将与约束量在能量上共轭。
拉格朗日乘子的实际单位还取决于受约束物体的尺寸。对于固体力学,采用弱约束边界的拉格朗日乘子单位为 N/m2 = Pa。拉格朗日乘子场可以解释为为了保持指定位移而需要施加到边界上的牵引力场。但是,不应期望该域能准确表示约束处的局部应力场。不过,它在综合意义上是非常准确的。
为了说明反作用力的牵引力场,我们对下图中的短悬臂梁进行了研究。在固定端施加了弱约束。
接下来研究受约束端部的剪应力。根据分析解法,剪应力在横截面上呈抛物线分布。泊松比选择为零,以尽量减少约束效应。在给定的坐标系中,外加载荷会产生剪应力 σxy 和弯曲正应力 σxx。由于固定表面的法线位于 x 方向,牵引力分量 ty = σxy。因此,它应该用 y 方向上约束条件的拉格朗日乘子来表示。下图对这些结果进行了比较。
在所使用的网格分辨率下,应力和拉格朗日乘子均未精确反映真实解。存在一个显著差异:积分后,Y 方向总反作用力的相对误差在使用应力计算时为 3%,而使用拉格朗日乘子时为 2·10-12。
如果自行编写弱约束,拉格朗日乘数的物理意义可能因约束公式的不同而有强有弱。例如,假设需约束某点,使其变形后位于以原始位置为圆心、半径为 R 的圆周上。
以下展示了两种输入此类约束的不同方式:
在 弱约束 节点的设置中输入同一约束的不同方法。
这两种表达式都能以相似的迭代次数得到相同的解。然而,在第一种情况下,拉格朗日乘子的值很难解释。从量纲角度来看,它的单位是 N/m(因为它乘以单位为 m2 的约束条件)。在第二种公式中,它实际上是对径向位移的约束。计算出的拉格朗日乘子将是作用在支撑结构上的力。反作用力的方向并不明显,但会沿径向作用。因此,在物理上,该结构由一个无摩擦的圆形边界支撑。
不过,这个问题有两种可能的正确解—— 该点可能附着于圆周上的两个位置,本质上代表圆内侧或外侧的接触,最终解取决于初始条件。
在使用弱约束时最常见的问题是,若将其与标准逐点约束应用于同一自由度,二者无法共存。这种冲突可能导致”奇异矩阵””发现 NaN 或 Inf”等错误,甚至是完全错误的解。这种情况通常并非用户有意为之,但也可能在不经意间发生。
例如,如果在一条边界上使用弱约束,而在相邻边界上使用逐点约束。那么在公共边上就会出现冲突。通常,最简单的解决方法是将所有相连的约束条件转换为相同的表述(可能是弱约束条件,因为首先在某处选择它是有原因的)。有些约束的设置中还有 排除的边 和 排除的点 的部分。通过将冲突边添加到此类选择中,也可以解决问题。
在某些情况下,发生冲突的可能性并不明显。可能有一些约束条件是你没有想到的,因为它们或多或少是自动添加的。连续性 条件就是这样一种情况。
更微妙的是壳 接口中的情况,在 壳 接口中,每个节点都对旋转自由度(围绕壳表面法线的旋转)具有隐式约束。因此,如果在 壳 接口的任何对象上添加涉及旋转的弱约束(例如 固定约束 ),就会产生冲突。所有旋转约束(包括隐式约束)都必须改为弱约束。
在大多数情况下,COMSOL Multiphysics® 中的拉格朗日乘子不带单位。这使得它们与几乎所有其他量不同。单位是隐含的,只能通过反作用力场的物理意义推断。如果需要在结果评估中频繁使用拉格朗日乘子,建议创建包含单位的中间变量。
添加一个带有单位的变量来表示拉格朗日乘子场。
有时,加入拉格朗日乘子会使非线性问题的迭代次数增加,甚至无法收敛。出现这种情况的最可能原因是容差处理不当。解决这一问题并确保容差得到正确处理的最佳方法是对拉格朗日乘子的自由度进行手动缩放。为此,请转到求解器序列中的 因变量 节点,并添加适当的缩放比例。缩放应提供拉格朗日乘子的数量级,即其代表的反作用力通量。
如果使用迭代求解器求解线性方程组,拉格朗日乘子可能会引发一些问题。刚度矩阵的对角线上有零点,因此它不再是正定矩阵,大多数标准有限元公式都是如此。
因此,某些线性求解器和前置条件器不能用于求解弱约束问题,即共轭梯度迭代求解器和 SOR 类前置条件器和平滑器。您可以尝试另一种迭代求解器,并使用以拉格朗日乘数作为 Vanka 变量的 Vanka 算法,或者使用不完全 LU 因子化算法作为预处理器。
对于多物理场问题,一种可行方法是采用分离式求解策略;若模型规模允许,还可对涉及拉格朗日乘数的场使用直接求解器。
将标准约束条件转换为弱约束条件时,在数值上会表现良好。但是,如果编写自己的非线性约束条件,或使用约束变量的某些表达式,那么刚度矩阵的拉格朗日乘子部分可能会出现奇异性。
在上文使用的非线性约束示例中,当节点被约束移动到其原始位置周围一圈时,其原始配置实际上会失效。
这里的约束表达式实际上是一个以节点为中心的抛物面,因此当 u = v = 0 时,其梯度为零。
作为替代方案,您可以在拉格朗日乘子的自由度中添加一个人为的”刚度”。在上面的例子中,可以将表达式扩展为:u^2+v^2-R^2+1e-6*lm*(u^2+v^2 < 0.01*R^2)
拉格朗日乘子变量的名称为 lm。由于采用布尔表达式,额外的贡献只对小位移有效,因此不会影响真正的解。其作用是在刚度矩阵的对角线上放置一个小数值,以避免初始奇异性。
我们在下一篇博客的"弱约束条件"部分也使用了同样的方法:如何在仿真中设置边界条件。在该部分中,出现奇异性的原因是边界中只有随时间变化的部分具有指定值。在边界的其余部分,拉格朗日乘子的自由度仍然存在,但没有定义它们的方程。
COMSOL Multiphysics® 中的弱约束是强大的模拟技术,但要成功运用它们,需从数值角度理解其底层机制。
如果您想了解更多有关弱约束的信息,也可以查看以下博客:
在工程学以及其他科学领域,一个常见的问题是:如果将两个或多个独立的源相结合,会产生什么作用。这种效应常常以图形的形式表示为相互作用曲线。这篇博客,我们将介绍一些相互作用曲线的示例,并探讨其背景知识。
内容简介
作为一个入门示例,让我们来研究同时承受轴向力和弯矩作用的梁的极限荷载。假定梁的横截面为矩形,高 2a ,宽 2b。采用屈服应力为 的理想塑性作为失效标准。
在极限载荷下,整个截面上的应力(无论是拉伸应力还是压缩应力)均等于屈服应力,应力分布如下图所示:
图中,e 为中心轴到应力反转位置(中线)的距离。
由一侧的应力分布与另一侧施加的轴向力 N 和弯矩 M 平衡,可知
和
可以看出, 当 e = a 和 e = 0 时,可分别获得最大承载力 和
:
和
式中,A 为横截面积, Zp 称为“塑性截面模量”。
这类表达式常常以非量纲的形式书写:
和
使用这种形式,可以消除参数 e,从而得到一个简单且明确的关系:
或
此表达式给出了导致梁截面失效的力和力矩组合。这种关系通常以相互作用曲线的形式表示。该方程或相应的图形可用于快速评估允许承载状态。
对于无量纲相互作用定律,最常见的形式是将失效曲线表示为 ,因此
代表安全区域。以梁弯曲为例,
许多相互作用定律都是幂律类型。幂律用数学形式可表达为
指数 和
不一定是整数,尽管它们的常见值为 1 和 2。通常,
。在这种情况下,此定律的两个参数是对称的。但并不是所有的情况都如此;例如,在开始的梁示例中,就出现了
的情况。
在幂律中,一个参数的最大值总是出现在另一个参数为零的时候。这直观上似乎是显而易见的,但稍后我们将给出一个反例。
幂律有一个特例,即 的情况,其结果是纯加法作用,可以用一条直线表示。如果对一个载荷施加临界值的 40%,就可以对另一个载荷施加临界值的 60%。
通过对铆钉的简单分析,可以得到一个 的幂律示例。铆钉可能受到拉伸力(N)和剪力(T)的共同作用。铆钉中的拉伸力为
式中,A 为横截面积。在弹性状态下,剪力在横截面上的分布很复杂,但由于我们
这里主要关注的是失效状态,因此可以假定剪力是均匀分布的,
使用 von Mises 等效应力,失效标准为
单个失效载荷为
和
剪力的失效载荷是假定的 von Mises 标准的影响。
因此,将最终结果用力的形式来表示是
此示例为幂律的一种情况,即 。当使用“平方和的平方根”类型的标准来组合不同的影响时,这种定律很常见。
然而,这并不是所有紧固件类型的标准。旧版本的 MIL-HDBK-5H《MILITARY HANDBOOK: METALLIC MATERIALS AND ELEMENTS FOR AEROSPACE VEHICLE STRUCTURES》(参考文献 1)中提出了螺栓的几种相互作用标准。螺栓与铆钉并不完全相同,但在忽略连接部件之间摩擦力的保守假设下,这两种情况是相似的。使用该文件中的符号(t = 拉伸力;s = 剪力),
和
有趣的是,我们得到以下所有类型的相互作用标准:
相应的相互作用曲线如下图所示。
不同螺栓相互作用标准的相互作用曲线。红色曲线是由铆钉理论得出的曲线。
目前,螺栓相互作用标准的首选项是
如何解释这与铆钉分析(两个项的指数都是 2)的差异?
推荐标准允许的载荷高于铆钉分析所显示的结果。在无法获得底层推理逻辑的情况下,我们只能做出猜测。其中一个重要的差异是,螺栓的作用力不是按失效应力归一化的,而是按“允许力”归一化的。螺栓的允许力来自两个不同的区域:基于螺纹区域的允许拉伸力,基于螺杆的允许剪力。在某种程度上,这是两种不同的失效机制。螺纹区域的横截面积明显较小,减少了约 25%。
考虑到这一点,此示例实际上存在两个相互竞争的标准:
在纯拉力作用下,螺纹是最薄弱的部分。在纯剪力作用下,则是螺杆。在组合载荷作用下,任何一个位置都可能是关键部分。
在螺杆区域,可以使用 von Mises 标准。在这种情况下,螺栓(在保守假设下)类似于铆钉。
式中, 是螺杆和螺纹区域的横截面积之比。这是因为
是针对螺纹区域定义的,而螺杆区域的拉伸失效载荷更高。
螺纹不受任何剪力,其失效标准也很简单:
使用 = 1.25,该标准可直观显示为:
可以看出,在剪力占主导的情况下,基于 von Mises 标准和基于 标准的曲线非常吻合。对于纯拉伸力和纯剪力之间的所有比值,后一种标准都偏于保守。使用一条简单的分析曲线比使用分段函数(由于面积比 κ 不同,因此对每种螺栓尺寸,该函数都是唯一的)更方便。
下图是 COMSOL Multiphysics® 软件 壳 接口 紧固件 下 安全 子节点的截图。在此接口下,您可以使用任何类型的幂律。
在 COMSOL Multiphysics 中计算紧固件安全系数的设置。
之前曾有人指出,使用 von Mises 屈服应力会产生一个幂律,即
那么,很自然引出一个问题:如果使用 Tresca 失效标准,会对相互作用曲线产生什么影响?标准中使用的往往是更为保守(但在数学上不那么容易接受)的 Tresca 标准。
Tresca 等效应力被定义为最大主应力和最小主应力之差。我们可以利用 Mohr’s circle(莫尔圆)进行分析。对于由单一直接应力和剪力组成的应力状态,莫尔圆的直径(2R)也是两个主应力之差。因此,莫尔圆将失效描述为
根据 Tresca 失效标准,纯剪力的疲劳应力为
出人意料的是,我们得到了与 von Mises 标准完全相同的幂律相互作用曲线!
唯一的区别是,当使用 Tresca 失效标准时,表达式中使用的剪力疲劳荷载 要小 13%。
梁柱通常由混凝土制成。混凝土是一种压缩强度与拉伸强度相差很大的材料。抗拉强度()仅为抗压强度(
)的10%。
如果重新对矩形梁进行初始分析,考虑不同的拉伸应力和压缩应力,可以得到
和
在继续讨论之前,必须说明一个重要问题:在实际操作中,混凝土结构通常需要通过钢筋进行加固。要进行全面分析,就必须考虑钢筋的数量、钢筋在横截面上的位置以及钢筋的屈服应力。这些因素使得代数分析变得极为复杂。然而,当前的简化分析仍足以说明基本原理。
作为轴向力的参考疲劳载荷,我们可以选择纯压缩应力失效,即
作为弯曲的疲劳载荷,我们选择了可能的最大力矩。很明显,当 e= 0 时会出现最大力矩,因此
引入一个参数,表示抗拉强度和抗压强度的比值,即
。同样,令
,将更容易写出无量纲关系式。现在
和
这里,压缩荷载被视为正值(P = -N)。这是分析梁柱的习惯做法,因为预期荷载主要是压缩荷载。
下图为 的相互作用曲线,按照惯例,将力绘制在纵轴上,弯矩绘制在横轴上。
请注意,在这种情况下,最大允许力矩与零轴向力并不重合。从上述表达式中可以看出,当其变为以下形式时,出现最大弯矩承载力
由于 较小,令人惊讶的是,最大弯矩承载力出现在压缩力几乎为疲劳荷载的 50% 时。从图中还可以推断出,当没有轴向力时,弯矩承载力比最大值降低了 70%!
如果考虑加固因素,相互作用曲线的形状就会发生变化,但不会发生根本性的变化。要查看此类图表,可在网上搜索 “梁柱相互作用曲线”。
两个粘合表面之间的剥离通常被认为是拉伸失效和剪切失效的综合作用。在这种情况下,承载能力通常由模式 I(拉伸) 和模式 II(剪切)
的断裂韧性来描述。
最早提出的用于描述混合模式剥离的一个相互作用标准是幂律,
在这种情况下,指数 和
必须与实验相匹配。没有第一性原理可以依赖,您可以将此模型视为有两个参数(
和
),而
和
的值是根据单模式实验确定的。另外,也可以使用全部的四个参数,以尽可能地匹配一组具有不同模式组合的实验数据。在这种情况下,
和
与纯拉伸或剪切试验的结果并不完全匹配。
大多数情况下,幂律与测量结果并不能很好地匹配。Benzeggagh-Kenane (B-K) 标准提供了另一种常用的相互作用定律:
这一标准所代表的物理含义并不明显。它指出,应用的模式 I 和模式 II 能量释放率之和等于失效时的有效断裂韧性:
有效断裂韧性是 和
的加权和,其中权重取决于所施加载荷的比率。显然,对于纯 I 型断裂或纯 II 型断裂,可以使用单模式标准。为了理解 B-K 标准的含义,可以使用相互作用曲线进行解释。
如果已经测量单向强度,则只需一个参数与实验相匹配,即指数 。或者,也可以使用所有三个参数以获得更好地曲线拟合。
相互作用曲线可以用一个描述载荷的参数来参数化,
R 将从 0(纯I型)变化到 1(纯II型)。
假设剪切断裂韧性和拉伸断裂韧性之比为 ,则
通常, < 1。重新排列公式,B-K 标准可以写成以下两种无量纲形式
或
这可以看作是以 R 为参数的相互作用曲线的参数化表述。
下表列出了B-K 标准和幂律的四种不同材料的材料参数。数据来自参考文献 2。两种模型的断裂韧性值 和
并不相同。断裂韧性值是整体曲线拟合的一部分。
| 材料 | | | | |
|---|---|---|---|---|
| 1 | 0.147 | 1.75 | 0.17 | 4.8 |
| 2 | 0.0785 | 2.35 | 6.0 | 6.0 |
| 3 | 0.0182 | 1.39 | 0.49 | 3.9 |
| 4 | 0.783 | 0.63 | 2.1 | 0.62 |
将这些数据绘制成相互作用曲线,如下图所示。幂律曲线已根据模型之间的断裂韧性差异进行了缩放。这就是为什么幂律曲线的终点不都在值 1 处的原因。
四种不同材料的混合模式剥离相互作用曲线。实线表示 B-K 标准,虚线表示同一材料的幂律。
可以看出,相互作用曲线有一些出人意料的特性,这些特性是其各自数值特性的影响。通过这种方式可以清楚地看出,对同一种材料的预测可能会因使用的模型不同而存在很大差异。
层压复合材料案例模型中的混合模式剥离就是使用 B-K 标准对剥离进行模拟的一个示例。
在评估疲劳失效风险时,通常认为允许的应力幅值取决于平均应力。拉伸平均应力越大,允许的应力变化就越小。由于存在多个标准,平均应力和应力幅值之间存在多种不同的相互作用曲线。最常用的三种标准是 Goodman 标准、Gerber 标准和 Soderberg 标准。
如果允许的幅值应力称为 ,平均应力称为
,这些标准可以写为以下形式:
Goodman:
Gerber:
Soderberg:
允许的应力幅值已按平均应力为零时的疲劳极限 进行了归一化处理。
和
分别表示极限应力和屈服应力。如下图所示,可以将这些标准可视化为相互作用曲线。
疲劳评估中应力幅值与平均应力之间的相互作用。平均应力轴已经根据极限应力进行归一化,并假定极限应力比屈服应力大 30%。
当你使用一个失效标准时,常见的要求是提出一个单一的安全系数、安全裕度或类似的量。这当然是合理的,但并不总是容易做到的。大多数情况下,安全系数代表的是在达到失效标准之前,载荷可以增加多少。然而,相互作用曲线的整个理念是有两个独立的载荷源。使用由 表示失效的符号,让我们考虑一种安全状态
。安全系数 s至少有三种合理的定义:
大多数情况下,根据这三种关系中的任何一种计算安全系数都需要求解一个非线性方程。
举例来说,假设初始示例中的横梁加载到以下水平
下图中以图形的形式对三种安全系数进行了解释。相互作用曲线可以轻松地用于图解安全系数,而无需求解方程。
在这种情况下,描述安全系数的三个方程为
现在让我们来看看相互作用曲线在结构力学领域之外的应用。等值线图 用于确定医用药物之间的相互作用。
同时服用两种药物可以增强彼此的效果。这就是所谓的“协同作用”。但是,也有可能出现相互抵消的情况,即“拮抗作用”。协同作用可能是有益的,因为它们可以减少剂量,进而减少副作用。
当然,同样的观点也可以应用于毒性研究,当两种有毒物质混合时,其效果会比两种单独效果的总和更强或更弱。
等值线图是两种物质之间的相互作用曲线,显示了产生相同效果的组合。通常,会对曲线进行归一化处理。下图显示了等值线图的主要形状。
无论是从定性还是定量的角度来看,相互作用曲线图都是了解两个作用综合效果的有力工具。
似乎大多数结构失效曲线都是拮抗型的,通常能够承受两种不同荷载的组合,其承载能力高于单纯叠加所能承受的作用。然而,这种现象是否具有普适性仍需进一步探讨。如果你有一些反例,欢迎留言讨论。事实上,早期的一些剥离曲线图确实在部分范围内表现出协同行为。不过,这可能是曲线拟合时产生的假象。任何指数小于 1 的幂律都会在某种程度上低于叠加线。
我们经常遇到这样一个问题:当存在奇点时,评估应力的最佳方法是什么?最标准的回答是:尽量避免评估应力。然而,这对实际工程帮助不大。这篇博客,我们将深入探讨奇异应力场的特性,并讨论一些可行的评估方法。
本文是博客有限元模型中的奇异现象:如何处理模型中的红点的后续内容,该博客介绍了结构力学模型中出现奇异应力的时间和原因,并对奇异现象进行了一般性介绍。如果您是第一次了解这个主题,建议先阅读这篇博客。有关如何处理奇异应力场的详细信息,请阅读本文。
首先,我们来详细分析一下奇异应力场及其与应力集中的关系。二者的相似之处是应力集中都出现在几何不连续处。应力集中与奇点的区别在于:前者的最大应力是有边界的,可以通过在有限元模型中使用足够精细的网格获得精确解。
通常,机械设计人员会通过引入一个半径尽可能大的圆角来减少应力集中。应力集中处的峰值应力通常用应力集中系数 与适当选定的名义应力的乘积描述。对于圆角,有时可以通过下列表达式获得
:
式中, 是圆角半径,
是圆角缺口处的特征长度。
该方程的背景是求解一个大平板中的椭圆孔处应力集中的解析解,其中 是椭圆较大的半轴的长度。

含一个椭圆孔的大平板。
对于大多数缺口,该表达式只能用于粗略计算 ,因为很难推导出特征长度。但事实上,对于小缺口,峰值应力基本上是随圆角半径平方根的倒数变化。相信任何尝试过减小局部应力集中的工程师都可能为这一事实而苦恼过,因为适度地增大圆角半径会使峰值应力相应地减小。
极限应力集中发生在缺口半径无限小的裂纹尖端处。众所周知,在弹性固体中,裂纹尖端附近的应力场和应变场的解,与到裂纹尖端的距离 的平方根成反比。应力场通常用下式表示
式中,,
和
分别是模式 I(开口)、模式 II(剪切)和模式 III(撕裂)的应力强度因子。函数
,
, 和
由裂纹尖端周围的极角
的三角函数组成。(更详细的定义请参见此处)。
由此得出结论,只要到裂纹尖端的距离足够近,裂纹尖端周围的应力场看起来都是一样的,与裂纹的实际形状以及存在裂纹的成分无关。
在线性弹性断裂力学的假设条件下,模式 的断裂准则为
,其中
是材料参数(称为断裂韧性)。这样,就可以在不明确使用无限应力的情况下研究这种具有特殊奇异性的几何形状。下文,我们将对这一思路进行推广应用。
现在,考虑一种几何形状几乎是奇点的情况:一个圆角或一个圆角半径很小的裂纹,本文将重点讨论这种情况。在距离较远处,我们无法真正区分缺口和奇点。接下来,我们将使用一个例子来解释这句话。
以一个处于拉伸状态的含缺口的长条几何的二维模型为例。通过在这个模型中沿左侧垂直边添加对称条件,同一模型也可用于研究内部缝隙。

含缺口的长条几何结构的应力分布。该模型的参数与缺口深度 () 和缺口半径 (
) 有关。
对于尖锐的裂纹,这种几何形状的应力强度因子可写成
是裂纹长度;
是外加应力(此处为 1 Pa);
是长条宽度。函数
有多种表示方法。在此,我们使用以下表达式
本文将这个表达式称作裂纹解。
沿韧带(从切口尖端向 x 方向延伸)的应力分布图,适用于短切口和几种不同的切口半径。由于对称性,只有一个应力分量 c 不为零。
不同缺口半径下沿韧带的垂直应力与到缺口尖端的距离的函数关系。虚线表示相同深度的裂纹的理论值。
一个有趣的现象,在特定情况下,应力场与裂纹解析解的应力场非常相似,即应力-距离对数图中的直线。在靠近缺口的地方,应力是有边界的,因为它是一个缺口,而不是裂纹。峰值应力与 成正比。
在距离尖端较远处,裂纹的局部应力场解在任何情况下都是无效的,不管它是裂纹还是缺口。但在非常近和非常远之间的区域,无论是从观察的角度,还是从物理学和数学的角度来看,都无法真正推断出缺口尖端的真实形状。
为什么这一点很重要?如果知道缺口的形状,那么只要观察一定距离外的应力,就可以确定那里的应力。稍后我们将详细探讨这一想法。
下一步,我们将在同一个图表中绘制大量具有不同缺口半径和切口长度的应力图。现在,通过缺口半径 对横轴进行归一化处理。
不同缺口深度和半径下,沿韧带的垂直应力与到缺口尖端的距离的函数关系。
从图中可以看出,在到缺口尖端的距离小于尖端半径 0.7 时,进入恒定斜率区域。从我们的角度来看,这已经相当接近要求解的问题了。那么这个区域会延伸多长呢?这不是由缺口细节控制的,而是由几何尺寸控制的。通过另一个归一化曲线图,韧带长度 (
),可以得知这一信息。
因此得出以下结论,这种情况下的恒定斜率区域延伸到韧带的 10% 左右。再远一些,应力场就不再受裂纹解的控制,而是受更多全局属性控制。对于特定的几何,这一区域的大小取决于该几何特有的长度尺度。
接下来,我们来研究是否可以用裂纹解中的应力场预测缺口尖端的峰值应力。先回到大平板上的椭圆孔。椭圆孔(宽度为,缺口半径为
)的峰值应力与裂纹(长度为
)的应力强度因子之比为
假定 ,则峰值应力可用应力强度系数表示为
这样,当计算出应力强度因子时,就可以用以下表达式确定圆形裂纹尖端的应力了。
其中,系数 是一个与配置相关的数量级为1的数字。我们可以在上面的例子中尝试这一假设。
下图显示的表达式
为缺口半径与缺口深度的函数关系。使用两种不同的几何形状进行计算:边缘缺口和中央狭缝。后一种情况是通过在模型中添加对称条件实现。
使用有边缘缺口的几何形状得到的系数 。
使用有中心狭缝的几何形状得到的系数 。
可以看出,只要缺口半径较小,两种情况下假定的乘数 的实际值都接近 1.2。缺口半径大、长度小的情况下,与裂纹的相似度就会降低。使用
进行简化是无效的。
为了绘制这些图,我们使用了 的解析值。在实际情况中,如果不知道这个值,可以使用到缺口一定距离的解,通过数值计算确定
。
事实上,任何尖角都有一个应力场衰减为 的区域,其中
是到尖角的距离。到目前为止,我们已经看到理想的裂纹
。不同开口角度下的
值如下图所示。
不同开口角度下应力奇点衰减的幂次。突出显示了 45°、90°和 135° 的值。
这条曲线是通过求解超越方程绘制
,
为开口角度。
为了完整起见,我们可以在含内角的长条几何拉伸有限元模型中检验超越方程的解。该模型使用拐角的开口角度作为参数。

开口角度为 90°时,含内角的长条几何中的 von Mises 应力 。
沿韧带的垂直应力。到尖角的距离通过韧带长度进行了归一化处理。虚线表示根据上述 p 值得出的理论解。
可以看出,应力-距离图中有一些几乎是直线的区域,这些区域在拐角附近,与理论斜率非常接近。
另一种奇点是由材料不连续性引起的,在实践中通常与几何奇点同时出现。在此,我们仅研究长条在拉力作用下的纯材料不连续性。

一个下部比上部硬的长条几何模型,其中绘制了载荷方向的应力。
从这幅图中的第一个图就已经可以看出一些通用特性:
为了更深入地研究这个问题,我们可以绘制显示应力衰减与材料界面距离的函数关系图。
沿自由边界加载方向上的应力与界面距离的函数关系图。实线表示软质材料的应力结果,虚线表示硬质材料的应力结果。参数 是软质材料与硬质材料的杨氏模量比值。
同样,可以在应力-距离对数图中发现一些直线,这表明应力随距离的变化而变化,如 。在两种材料中,幂 ‘
’是相同的(用相同颜色表示的实线和虚线是平行)。奇点的强度受两种弹性模量的比值和泊松比值的控制。
观察上述(放大的)表面图中的变形形状,可以从物理角度对此进行解释:在相同载荷下,较软的材料比较硬的材料延伸得更多。也就是说,在软质材料中,载荷方向上的应变变大。这也意味着,在两种材料具有相同泊松比的情况下,横向收缩也会相应增大。不过,这种收缩会在两种材料的界面处受到抑制,从而产生局部应力奇点。
如果选择
这个奇点就会完全消失。
得出的结论是:在大多数情况下,材料变化会产生奇点。此外,在这种情况下,不连续性附近将存在一个应力随幂律衰减的区域。
至此,我们已经研究了有限元仿真中最常见的奇点类型,并发现它们有一个共同的特性:奇点附近的应力与距离呈幂律关系。
对焊缝进行设计以使其能够安全地应对失效是工程领域的一项重要功课。虽然在一般情况下无法进行精确的应力评估,但已有大量研究提供了预测失效的系统方法。对于这种情况,造成问题的主要原因是焊缝的实际几何形状未知。根据确切的局部几何形状,判断焊缝是否需要引入应力奇点。更为复杂的是,焊缝中往往存在隐性缺陷。除了需要高质量焊缝的情况外,在这种情况下可以对焊缝进行打磨,并采用某种无损检测方法进行检查。但大多数情况下,对焊缝进行详细的局部应力分析意义不大。

有三种不同局部几何形状的圆角焊缝。
COMSOL博客:如何预测焊缝的疲劳寿命中介绍了焊缝的应力评估。
与其深入了解焊缝分析的细节,不如探讨更有趣的焊缝设计理念:
在使用纸和笔计算的年代,所有的局部效应都被忽略了。允许的应力值不得不考虑到这一点,因此往往偏低。现代基于有限元的方法考虑了部分应力集中(由整体几何形状引起的部分,但不包括局部焊缝几何形状),因此允许的应力值更高,但仍远远低于纯材料测试所显示的应力值。
在使用有限元计算时,壳模型通常会返回求解所需的应力,而固体力学模型则会计算应力细节,而这在进行焊接疲劳分析时是不需要的。
有限元模型可能包含奇点的原因很多,并且本质不同。例如:
您可以参照焊接评估的方法,但要结合实际情况进行调整。要做到这一点,需要有大量的经验基础。以前的设计哪些失败了,哪些成功了?然后需要对设计进行分析,并尝试找到与经验相关的评估方法。
首先为这些设计建立有限元模型,并尝试确定一个区域,在该区域内的应力或应变场既不受局部缺口几何形状的控制,也不受整体几何形状的控制。至少在制定标准时,可能需要使用子模型。
使用什么标准通常并不明显。由于只是要进行相对比较,而不是将计算出的数字与任何物理强度值联系起来,因此有许多可能的选择。例如:
一般情况下,奇点的幂次是未知的。但我们知道,在某一区域,相关量的变化为
和
的值可以通过最小二乘法拟合或简单地使用应力应变对数-图中直线部分上的两点值来获得。由于
必须被看作某类奇点的恒定属性,因此计算出的值可用作方法有效性的检验。
在 已知的情况下,应将
的值与允许值进行比较。这与断裂力学中处理裂纹的方法类似。
另一种获得允许应力水平的方法是将参考应力定义为在参考体积的给定部分(例如 5%)中超出的值。如果该参考应力低于允许值,则该设计被接受。使用这种方法,可以避免计算接近奇点的问题。只需计算出超过参考应力的体积即可,而该体积的边界在到奇点一定距离处,此处解可以很好地收敛。
这种方法看似简单,但应用起来却需要一定的标准。其中一个问题就是如何确定参考体积。如果使用结构的总体积,那么只需在低应力区域添加更多材料就可以降低参考应力,这当然是不合理的。参考体积必须与奇点周围特定区域的大小等因素相关。另一个缺点是,优化方法可能会选择重新定位应力,从而使参考应力减小,而峰值应力增大。
同样,我们也只能对类似结构进行比较来确定。
现在,我们来讨论如何使用百分比法计算应力值。在 COMSOL Multiphysics® 中,无法直接计算 5% 的应力值。下面介绍 3 种替代方法。
如果只需要一次求值,最快的方法通常是手动迭代几次。您只需创建一个积分算子(例如,intop1),然后对 intop1(solid.mises>sRef)/intop1(1) 这样的表达式进行求值。通过多次改变参考应力 sRef,很快就能找到与给定百分比相对应的值。
使用模型方法自动执行方法 1。
可以设置一个额外的方程,求解应力值,下文将对此进行说明。
待解方程如下:
是计算应力。它可能是如 von Mises 的等效应力、第一主应力或其他应力。当然,也可以使用相同的方法来计算应变或能量标准。用
表示参考体积,
为百分比。积分内的布尔表达式假定为 1 时为真,定义为 0 时为假。
为了在计算时更容易处理缩放,最好将方程改写为
可以像第一种方法那样,使用积分算子计算积分。在 COMSOL Multiphysics® 中使用 全局方程 节点实现该方程的直接方法如下所示:
遗憾的是,这种方法行不通。不等式是不可微的,因此无法形成雅可比矩阵。刚度矩阵将只包含该方程的零点。不过,可以通过手动引入有限差分导数来规避这个问题。该表达式较长,需要您对 COMSOL® 中基于方程的建模有一定的了解,下面的附加信息部分将给出详细解释。
下图所示是一个修改后的全局方程,它可以解决如何找到能给出预期百分比的应力的问题。
这里,用户定义的参数 dS 是应力增量,在附加信息部分用 表示。
我们以上文的缺口板示例来说明这种方法。由于参考体积应与板的尺寸无关,可以在缺口周围选择一个圆。在这种情况下,圆的半径可以根据结构的以下特征长度来选择:
基于缺口尖端周围半径为 0.05 m 的圆确定的参考体积将远离结构的边界,但也将远离缺口本身的细节。
在不同的狭缝深度和切口半径下,5% 的参考体积所超出的应力水平。
对于所有狭缝深度值,5% 应力基本上与切口半径无关。它只对切口深度敏感。这与基本原理是一致的:避免对局部(可能是奇异的)应力场细节的灵敏性。无论使用尖角还是圆角,都能得到相同的结果。从本质上讲,这种方法提供的信息与应力强度因子相同:它测量的是奇点的强度。如果对具有相同圆角类型的结构进行比较,这种方法可以成为应力奇点处理的标准。
该表达式包含两个项:第一个项产生残差,第二个项产生雅可比矩阵。这是一种通常可用于高级建模的解决方案。例如,如果创建精确的雅可比函数成本较高,则可以使用类似的表达式将正确的残差与近似的雅可比函数结合起来。
多个地方使用了 nojac(expr) 算子,用于确保不产生给定表达式的雅可比贡献。
雅可比项乘以系数 (sRef-nojac(sRef))。由于这个表达式的求值总是为零,因此这部分表达式不会产生残差。 sRef 相对于自身的导数就是 1,而表达式的剩余部分就是导数的对称有限差分表达式。
式中, 是应力的有限变化,应选择尽可能小的变化量,同时还要保证
计算出的体积与
有明显差异。一个好的水平是,当一个单元上的应力变化在等值面附近为时,将得出参考应力
。
理论上,索然无法计算奇点处的梯度和通量(应变和应力),但还是有一些系统的方法可以解决这个问题。不过,这些方法需要有足够的实验数据来解释所选择的临界量。
点击下面的按钮,下载文中使用的模型。
最近在 Youtube 上,Stand-up Maths 频道发布了一段讨论跳环问题的视频。虽然这个问题看起来很简单,但其中涉及的物理学和数学在过去半个世纪中曾引起了许多研究人员的兴趣。在这篇博客中,我们将介绍一些可以帮助解跳环物理原理的模型。
这个问题最初的描述是:一个理想的、无质量的刚性的环,在其周长上附加一个单点质量。如果环沿水平面滚动,这个点质量是否有可能脱离该平面并跳到空中?运动开始时,环处于不稳定的平衡位置,点质量位于最高点。

本文我们来看一个与视频中讨论的环类似的环,稍微做了一些修改。例如,这个环不再是无质量的,而是有一个均匀分布的质量。该系统的总质量是 ,其中
是分配给点质量的部分,剩下的总质量
分布在环的周围。使用特殊情况
,然后恢复原始配置。确切的物理特性在这里并不重要,但可以作为参考:环的半径是
,总质量是
,质量分布参数
。环和平面之间的摩擦系数被设定为
。
在几何中,有几个不同的地方可以测量速度。除非有其他说明,速度()是指环中心的速度。在纯滚动运动中,它与角速度的关系为
。
为了更好地熟悉这个问题,我们首先在低速下滚动环。使用多体动力学 接口中的一个刚体来模拟环。使用刚体接触 功能模拟环和平面之间的连接。
参考配置(零旋转时)是当点质量位于环的顶部时。如果只给环一个最小的推力(在这种情况下,初始速度为 ),开始的旋转将非常缓慢,但随着点质量垂直位置的下降,旋转速度增加。一圈旋转的速度变化很大,当点质量再次到达顶部时,环几乎达到了静止状态。请看下面的动画。
环的颜色是由速度决定的。黑色轨迹显示了点质量(摆线)的路径。绿色轨迹显示了系统重心的路径。箭头与接触力成正比。
让我们更详细地研究一些关键特征。首先,绘制速度图。用角速度乘以环半径,这样就可以直接与中心的平移速度进行比较。只要运动是纯旋转,这两条曲线就会重合。

速度与时间的关系图。

速度与旋转角度的关系图。
点质量的势能可以被认为是旋转的驱动力。圆环本身的质量不会改变圆环离地面的高度,除非圆环刚好在跳动,所以如果圆环只是滚动,这部分质量不会对势能做出贡献。

系统的势能和动能。
当绘制角度图时,能量转换作为纯谐波函数变化。这是点质量的垂直位置的直接结果。
我们将对这个理论做一点稍微的改变,最后有一个有趣的转折。
系统的势能只受质点垂直位置的影响,可以写成:
参考高度的选择是为了使质点到达其顶部位置时势能为零。
通过一些包括重心位置和速度的代数转换,动能可以写成:
得到两种能量的表达式后,可以用能量守恒原则来推导角速度与旋转角度的函数的闭合表达式:
插入动能和势能的表达式,得到:
因此,角度与角速度的函数关系为:
最大角速度必须发生在 :
请注意,当 接近 1 时,会发生什么情况(原来只有一个点质量的问题)。最大角速度接近无穷大!这听起来非常不符合物理学!
问题是,在滚动运动中,环和地板的接触点总是处于静止状态。当所有的质量都在这个点时,动能为零。同时,动能应该等于损失的势能。这并不相加!另外,正如这个问题的原作者 John Littlewood 在他的 A Mathematicians Miscellany 一书中所说的,当 时,应该已经有了跳跃运动。
无论如何,这在现实中不会发生。为了获得高速度,需要非常大的加速度。因此,对于任何有限的摩擦系数值,迟早都会出现滑动。
最后,让我们看一下接触力。

作用在环上的接触力。
由摩擦引起的水平力,是驱动环加速和减速的原因。要获得这个动画所预测的纯滚动运动,要求具备两个条件:
检查摩擦力标准的一个简单方法是绘制 。在这种情况下,幅度很大;只有大约 38% 的可用摩擦力被利用。另一种解释,至少 0.38 的摩擦系数对维持纯滚动运动是必要的。

摩擦力利用系数。
在第二次尝试中,我们给了环一个更高的初始速度 ()。如下图所示,仍然有一个纯滚动运动。但是结果发生了一些有趣的变化,例如:
运动的动画()。

作用在环上的接触力()。

摩擦力利用系数 ()。
如果我们把这些点连接起来,很明显,在某个稍高的初始速度下,环和水平面之间会发生滑移。在接下来的尝试中,使用 。现在我们可以看到,摩擦利用系数趋于 1,这意味着出现了滑动。这从动画中不太容易确定,但速度图表明平移速度和角速度不再是相同的。

摩擦力利用系数()。

速度()。
可以看出,每个周期的速度峰值都在下降。如果我们继续模拟,它将以纯滚动运动结束(一旦有足够的能量被耗散)。下面是能量平衡图。“总”能量被定义为势能和动能之和。

能量平衡()。
将初始速度增加到 3.1m/s 后,动画变得非常有趣!
运动的动画 ()。
在上面的动画中,跳环在完成一个完整的旋转之前就出现了跳跃。正如预测的那样,这就是在 YouTube 视频中显示的相位图的右上角。在这副图中,当环在空中时,重心的轨迹被染成红色。曲线的这一部分形成了一个抛物线运动。
速度图显示,当环飞行时,角速度是恒定的。它必须是恒定的,因为没有施加外部力矩。不太直观能看出的是,即使没有力,速度也不是恒定的。为什么呢?

速度()。
那么,正在绘制的速度是环形中心的速度,而重力中心的速度是恒定的,重力中心实际上围绕环形中心旋转。
能量平衡图给出了进一步的见解。

能量平衡 ()。
请注意,在 350° 和 395° 之间的短时间内,势能略大于零,导致总能量大于动能。这是由于环的中心向上移动的影响。图中使用的势能表达式是基于实际位置,而不是基于上述的表达式 ,其中假定了滚动。
在这个模拟中,落地后有一个纯滚动运动。然而,这个结果是不可信的。如果你仔细观察,可以看到在撞击过程中损失的能量明显大于同一时刻的摩擦损失。这两种损失机制都将与接触条件的数值模型密切相关。我们没有足够的数据来说明两个刚性物体之间的碰撞过程中应该发生什么。
在最初的尝试中,摩擦系数大约低于 时,会导致滑动,即使初始速度很低。为了查看会发生什么,我们用
来尝试。
运动的动画()。
由于存在滑动,能量被耗散了。系统中没有足够的动能来提升质点回到顶部位置。轮子开始向相反方向滚动,然后来回摇晃。从速度和能量图中可以看出,较低的摩擦力值诱发了几次滑动。由于运动相对于角度来说不是单调的,我们绘制了这种情况下,数量与时间的关系图。

速度 ()。

能量平衡()。
我们可以将上文中的 2D 动画扩展为 3D,请看下面的运动动画,其中 。
在这篇博客中,仿真结果表明,跳环的行为比你刚开始想象的要复杂得多。点击下面的按钮下载教程模型,尝试自己分析跳环运动:
想进一步了解这种跳环现象吗?请查看以下资源:
COMSOL Multiphysics® 软件的 6.0 和 6.1 版本对屈曲分析的主要功能进行了改进。6.0 版本增加了在分析中包括几何缺陷的功能,6.1 版本则新增了分离固定的(“静态”)和变化的(“动态”)载荷的功能。在这篇文章中,我们将详细探讨对这类载荷的分析。
编者注:在之前的博客“屈曲,当结构突然倒塌时”中,我们介绍了屈曲分析的各个方面,并讨论了一些更专业的屈曲分析技术。这篇博客提供的信息适用于 COMSOL 软件 6.0 版本以前的用户。
众所周知,由于存在几何缺陷,一些结构对屈曲的承载能力会显著降低。在现实生活中,结构中总会存在一些制造缺陷。另外,施工过程中的安装不完善,或者结构可能因服役载荷效应而发生变形。因此,考虑缺陷很重要。
对此,我们有不同的方法。对于一个简单的结构,例如单个支柱,可以将它假设为其他相似的几何形状。如果要将缺陷包含在模型中,可以直接创建包含该缺陷的几何结构,也可以先构建一个完美的几何结构,然后添加包含指定变形 节点的变形几何 接口。
对于更复杂的结构,一般很难创建包含缺陷的几何结构。一种解决方案是进行线性屈曲分析,然后使用一种或多种屈曲模式作为缺陷。这样做的前提是,结构对屈曲模式本身很敏感。
请注意,在研究缺陷的影响时,通常不能使用线性屈曲分析。需要逐步增加载荷,直到结构失效。变形是渐进的,因此失效准则通常是最大允许位移或应力。
从 COMSOL Multiphysics 6.0 版本开始,有一种可以自动设置基于屈曲模式缺陷研究的方法。让我们来看看如何设置这种研究。
我们先从构建一个理想结构的普通线性屈曲分析开始。如果要在缺陷形状中包含比第一个屈曲模式更多的屈曲模式,就需要更改待求的屈曲模态数(默认值为 1)。

更改待求的屈曲模态的数量。
现在,屈曲模式和相应的临界载荷因子已经设置好了,下一步是在定义 下添加一个屈曲缺陷 节点。
左图显示了如何添加 屈曲缺陷节点,右图显示了新添加节点的 设置窗口。
现在需要调整添加的屈曲缺陷 节点的设置,包括输入模式编号和比例因子。要确定合适的比例因子,首先需要知道屈曲模式的最大挠度。屈曲模式的大小是任意的,因此求解器在求解时会成比例地缩小屈曲模式的位移大小,以方便计算。默认情况下,模式会被缩小,使最大位移为几何图形对角边界框长度的 10-6 倍。
实际的缺陷大小应反映真实结构的几何质量。或者,缺陷的大小可以通过一些设计规范给出。假设真实的几何形状尺寸可能与理想形状相差 2mm,该几何尺寸为 1m。如果使用单屈曲模式,比例因子将为 2000。如果使用多种模式,那么为所有的模式都分配 2000 的比例因子可能是保守的,因为这些值会相加。这是不可忽略的,因为某些模式可能会在相反的方向上起作用。我们可能需要检查模式,甚至为其中一些模式分配负比例因子来获得预期的形状。

从上到下,前三个图显示了 Euler 2 悬臂梁的前三种屈曲模式,底部的图显示了这些模式的纯叠加。标记显示了最大垂直位移。(您可以通过从案例下载页面下载模型的 MPH 文件 euler2_buckling_imperfection.mph,尝试自己建模。)
接下来,我们来设置变形几何。首先,单击屈曲缺陷设置中的变形几何 上部的配置 按钮。

创建变形几何结构。
这样,特殊配置了指定变形 的变形几何 节点将被添加到模型开发器树中。

新添加的 指定变节点。
如果要更改包含的模式、比例因子或重新运行线性屈曲研究,则无需重复这个步骤。
添加一个将充当载荷的乘数的参数,然后将该参数插入到用于线性屈曲分析的所有载荷特征中。
添加了一个新的参数 lf,并用作所有载荷的乘数。
接下来,在载荷参数 拉菜单中选择 If(载荷因子) 参数。

载荷因子已经选择好了。
要为包含缺陷的增量分析创建研究,请单击屈曲缺陷分析中的非线性屈曲研究 上部的配置 按钮。

创建非线性屈曲研究。
现在,我们已经创建好了一个新研究,并进行了一些特殊设置:

新研究的设置窗口。
该研究在较高的载荷水平下可能无法收敛。这通常意味着到目前为止已经远远超过极限负载了,但中间步骤仍会被存储并可用于计算。
对于非线性屈曲分析,没有唯一的临界载荷。通常,需要根据载荷参数绘制相关的位移和应力曲线,并基于结构的物理特性使用失效准则。
下列示例与用于表示上述三种屈曲模式(长度为 2m 的悬臂梁)的 Euler 2 示例相同。假设最大允许的尖端位移为 10mm,最大允许的 von Mises 等效应力为 400 MPa。

显示载荷参数与位移和应力关系的曲线图。屈曲分析产生的临界载荷因子对水平轴进行了归一化处理。图中的标记点分别显示了失效准则的位移为 10mm,应力为 400 MPa。
下表显示了选择不同屈曲模式缩放时的临界载荷值的比较。
| 比例因子,模式 1 | 比例因子,模式 2 | 比例因子,模式 3 | 最大缺陷(mm) | 临界载荷(位移) | 临界载荷(应力) |
|---|---|---|---|---|---|
| 1000 | 1000 | 1000 | 2 | 0.906 | 0.900 |
| 2000 | -2000 | 2000 | 2 | 0.832 | 0.846 |
| 2000 | 0 | 0 | 2 | 0.906 | 0.900 |
| 1000 | 0 | 0 | 1 | 0.907 | 0.908 |
| 20000 | 0 | 0 | 20 | 0.326 | 0.451 |
可以看出,中等水平的缺陷对实际选择生成模式的敏感性是有限的。
这个例子很简单,而且 Euler 支柱对缺陷不是很敏感。壳结构在这方面通常问题更大,所以接下来,我们来探讨一个壳示例。
在这个示例中,考虑一个直径为 1.5m、高度为 2m 的钢圆柱体,其壁厚度为 10mm,并有两个厚度为 20mm 的加强环。使用轴对称壳单元进行分析。(您可以通过 COMSOL 案例下载页面下载相关的 MPH 文件 cylindrical_shell_buckling_cleared.mph,来探索这个模型。)

几何形状和载荷。圆柱体的下端是固定的。
许多屈曲模式具有相似的临界荷载因子。

前 5 种屈曲模式对应的临界荷载因子。
在这种情况下,检查不同的缺陷模式很重要。可以通过在模式编号上添加外部参数扫描来自动进行这项操作,如下图所示。

屈曲缺陷节点中的 模式选择表格。
关于这个表格,需要考虑以下信息:
mode==1)的布尔表达式作为过滤器,来检查哪种模式将使用缺陷。 mode 是扫描参数。maxop1(在非局部耦合 → 定义 下添加)获取每个屈曲模式在径向方向上的最大位移。现在,非线性分析包括将前 4 种模式的外部扫描作为缺陷,以及每种模式的载荷都会增加的相同的内部辅助扫描。由于任何非线性解都可能无法在较高载荷下收敛,因此必须设置参数化扫描,使整个分析不会因此而失败。

非线性研究和 参数化扫描节点。

在 参数化节点中, 必须将误差选项设置为 存储空解。
现在,我们可以绘制所有情况下的最大应力和位移的变化。

显示了位移和应力归一化处理后施加载荷的曲线图。
在这个示例中,允许的应力在所有情况下都是在相当低的外部载荷下被超过的。在线性区域已经能够看到这种情况。最终的结果是,这种结构将在屈曲发生之前由于塑性坍塌而失效。有可能通过在模型中加入塑性来完善分析。
从这个示例中,我们可以看到,使用非线性分析的变形很大程度上与实际的变形一致。

不同的缺陷在接近失效载荷时的变形(缩小了 5 倍)。颜色表示径向位移。
必须注意的是,不能完全假设轴对称壳的所有屈曲模式也是轴对称的。真正的第一屈曲模式不是轴对称的,看起来像这样:

使用完整的三维公式时的第一种屈曲模式。
线性屈曲分析中的载荷因子可以被认为是相对于所施加载荷的一种安全系数。有时,只有某一组载荷可以变化,其他载荷具有明确定义的值,比如自重就是一个典型的例子。如果假设结构不会仅因重力而失效,那么需要回答的问题是:如果考虑部分承载能力已经被自重利用,服役载荷的安全因子是多少?
本文中将不变的荷载称为静荷载,会发生变化的载荷称为活荷载。 COMSOL Multiphysics 6.1 版本新增了分析活载荷与静荷载共同作用的功能。
需要注意的是,不可能首先计算静载荷利用了多少承载能力,然后相应地减少允许的活载荷。假设有两个独立的荷载, 和
,并且对于每个荷载都有一个单独的屈曲临界值
和
。如果施加的载荷
是这两个载荷的线性组合,那么当
时,临界状态通常不会发生。
在仅具有活荷载的普通线性屈曲分析中,我们需要有任意活荷载水平的静荷载工况,通过特征值分析计算临界荷载因子和相应的振型。这非常简单,当添加线性屈曲研究时,研究序列就会生成。如果要进行也包括静载荷的类似分析,需要两个稳态的研究步骤 — 从这些步骤中得出的结果需要由特征值求解器以不同的方式加以考虑。这样的研究可以通过不同的方式建立。接下来,您将看到我们建议的工作流程的步骤。
正常添加线性屈曲 研究。
像往常一样,用一个任意的荷载水平创建活荷载。
使用载荷的实际值创建静载荷。最好同时选中载荷特征的线性屈曲 部分中的视为静载 复选框。严格来说,只有当一个载荷是随动型的时候才需要这样做(取决于变形)。如果要在载荷特征中显示线性屈曲 部分,请确保选中显示更多选项 下的高级物理场选项。

添加一个静载荷。
在线性屈曲 步骤之前再插入一个稳态研究 步骤。

添加第二个稳态研究步骤。
在两个稳态研究步骤中的其中一个步骤中,我们需要同时分析两个载荷的影响。这与模型树的设置一样。
在另一个步骤中,应该只分析静载荷。这意味着我们必须禁用描述活载荷的所有载荷特征,进行这项任务最方便的是使用修改研究步骤的模型配置 选项。

图中 载荷1 已被禁用。
在线性屈曲 研究步骤设置中,需要指定两个解。为此,首先需要为研究运行显示默认求解器。线性点是仅具有静载荷的研究,活荷载的解包含活荷载和静荷载的总和。

选择两个解。
您可能想知道为什么两组载荷的静态解不是单独计算的。这是因为如果静态解是非线性的,那么给定的方法在静荷载解给出的应力状态下为屈曲分析提供了一个更加精确的线性点。
有关这类分析的示例,请查看静载作用下的桁架塔线性屈曲分析模型以及相关的应用程序文件。您可以在下文中找到这个模型和相关设置:
在这个示例中,有两个效应会影响静载荷。除了自重外,支撑线中还有一个预紧力,会在塔的下部引起压应力。
最新版本的 COMSOL Multiphysics 能够建立高级屈曲研究,并且操作简单。单击下面的链接,进入 COMSOL 案例下载页面,尝试自己模拟文中讨论的模型:
我们经常会遇到关于如何在 COMSOL Multiphysics® 软件中用最佳的方法评估各种应力量的问题,因为软件提供了许多不同的应力变量和呈现结果的方法。在这篇博客中,我们将详细探讨这些问题。在深入讨论应力分析的具体细节之前,我们将重点介绍结果评估的一般方法。
目录
在物理学的许多领域,主要关注的量是场本身,而不是其梯度。例如,在传热分析中,我们通常更关注的是温度,而详细的温度梯度和热通量是次要的。而在结构力学中,局部应力和应变往往比位移更重要。在大多数情况下,高应力是静态或疲劳失效的原因。因此,可靠的应力评估很重要。
在有限元方法中,几何体被细分为构成网格的小块(称为有限单元)。在每个单元中,都有一个关于要求解的场变化假设,由 形状函数 近似。最常见的是,形状函数是坐标函数的线性或二次多项式。该场可以是标量或矢量。
所有网格单元在网格节点处相互连接。通过考虑某些通量的平衡条件,可以为所有网格节点处的场值建立一个方程组。
下表总结了一些常见情况下要求解的场:
| 物理场 | 场 | 梯度 | 通量 |
|---|---|---|---|
| 固体力学 | 位移(矢量) | 应变(张量) | 应力(张量) |
| 传热 | 温度(标量) | 温度梯度(矢量) | 热通量(矢量) |
| 扩散 | 浓度(标量) | 浓度梯度(矢量) | 质量通量(矢量) |
| 静电 | 电势(标量) | 电场(矢量) | 电位移(矢量) |
在求解通过有限元近似生成的方程时,所有网格节点上的因变量(自由度或 DOF)都是已知的。整个几何结构上的场是连续的,并且单元内任何点的值由单元节点处的值和假设的插值多项式(即形状函数)唯一定义。
然而,在单元之间,场的梯度通常是不连续的。在单元内部,它由形状函数的空间导数和单个单元节点处的节点值确定。因此,在每个单元内,梯度也唯一定义,但在单元边界处不是。然后根据梯度计算通量。对于线性函数,只需要计算梯度与给定材料参数的乘积就可以了。
重要的是要认识到,由于物理原因,通量大多数时候是连续的。从一个单元流出的东西应该流入下一个单元。只有数值表示是不连续的。然而,随着网格的细化,有限元解将收敛于真实的连续解。不幸的是,对于我们这些从事应力研究的人来说,梯度的收敛速度比场的收敛要慢。
然而,梯度和通量的连续性并不简单。如果两种不同材料之间存在边界,那么只有通量和梯度的某些分量是连续的。
一般来说,通量在边界的法向方向上是连续的,但在切线方向上不是。对于梯度,情况正好相反。
在下面的示例中,研究了由两个具有不同材料属性的正方形组成的矩形中的稳态传热。

由正方形钢和正方形铝组成的矩形中的温度分布。沿所有边界的温度均为指定值,如图所示。
通过绘制沿分隔两个域的边界的温度梯度和热通量,可以直观地显示连续性。
沿材料边界的温度梯度(左)和沿材料边界的热通量(右)。
正如预期的那样,在边界两侧,y 方向的温度梯度以及 x 方向的通量是相同的。如果对固体力学做同样的设定,我们会发现两个应力分量 和
,以及一个应变分量
都连续。另一种看法是,在自由边界上可以指定的通量分量在内边界上也必须是连续的。
请注意,由于组成张量或矢量的所有分量并非都是连续的,像等效应力或通量范数这样的大多数不变量将在材料不连续处出现跳跃。
由于我们研究的大多数量都是连续的,因此很容易求取平均值,例如单元之间的应力。这也是大多数情况下的默认设置。通常,这样做不仅会改善视觉印象,而且更接近真正的收敛解。
您可以控制是否以及如何应用平均(或使用结果表示术语:平滑)。重点是对于大多数结果表示,都可用使用 质量 部分。

平滑选项。
下表总结了不同的平滑选项:
| 选择 | 影响 |
|---|---|
| 无 | 相邻单元之间没有平滑。 |
| 内部材料域 | 在属于同一材料域的相邻单元之间进行平滑处理。最简单的材料域是一组具有相同材料分配的域。然而,一些物理场接口确实实现了它们自己的定义。例如壳 接口,只有当单元具有相同的材料和厚度并且没有通过折线连接时,它们才属于相同的材料域。请注意,这是添加新绘图时的默认选项。 |
| 内部几何域 | 平滑是在属于同一几何域但不跨越域边界的相邻单元之间完成的。 |
| 所有域 | 在所有相邻单元之间进行平滑处理。 |
| 表达式 | 当布尔、用户定义的表达式计算为非零值时执行平滑。 |
应用平滑时,还可以使用平滑阈值。这格阈值提供了一个限制,即在某个网格节点上相邻单元之间的值差异达到多大时才会禁用平滑。这样做的目的是,在不隐藏明显的不连续的情况下,获得一个总体上平滑的的曲线图。
从 COMSOL® 软件 6.0 版本开始,结构力学接口生成的默认应力图就使用了这个功能。默认情况下,阈值被设置为 0.2,但您可以根据需要自定义此值。

固体力学接口中默认绘图的 质量 部分。使用默认阈值 0.2,可以接受高达 20% 的差异进行平滑处理。
下图显示了在二维单一材料的固体力学模型中的应力图中不同类型的平滑示例。为了强调效果,使用了一阶三角形单元。这是一个低性能的单元,每个单元内的应变和应力都是恒定的。观察这个图时,需要注意的是:
到目前为止,我们已经研究了体积图、曲面图和等值线图中的平均和跳跃会发生什么。对于线图来说,复杂性会增加。如果直线有一个或多个相邻曲面,则需要在两个方向上进行平均:
如果要绘制的量不应该是连续的,就不再需要平均值;如果需要在每个边界 (3D) 或域 (2D) 绘制一个图形,就需要使用特殊的算子。
如果该线表示 2D 中的边界,则可以使用 up() 和 down() 算子指定从哪个域获取结果。“上”和“下”分别对应于法线向量在边界上的方向。上述热通量的图就使用了这个方法。下图是在 x 方向重复的温度梯度,也包括默认的平均结果。显然,当跨越边界存在物理不连续性时,默认平均不是一个好的选择。
同样的技术也可用于 3D 内部边界上的曲面图,但在这种情况下,当然只能一次从一侧绘制值。
如果所选的线是 3D 中的一条边,情况就稍微复杂一些,因为共享这条边的边界是任意数量的。在这种情况下,您需要使用 side() 算子从各个边界中选取值。边算子的语法类似于 side(12,shell.mises),其中第一个参数是边界数。因此,您首先必须弄清楚您需要结果的边界数。一种快速的方法是创建内置变量 dom 的曲面图,然后只需单击预期的边界即可查看其数量。
另一种查找边界数量的方法是移动到模型开发器树中具有边界选择的任何节点,然后将鼠标指针悬停在边界上。边界编号动态就会显示在 图形 窗口的左上角。
生成彩色图和折线图后,通常需在每个单元、单元边界或单元边内的几个点处对要绘制的表达式进行评估。评估点的数量由 质量 部分中的 分辨率 设置控制。

选择分辨率的选项。
当选择了其中一种预定义的分辨率后,将评估的点数取决于几个因素,如模型大小和空间维度。使用高分辨率通常会在单元内生成更详细的图。但是,这仅在评估的表达式在单元内部具有较高的平滑度时才有用。否则,只会产生虚假波动。
到目前为止,我们主要介绍了一般的结果呈现选项。对于应力的可视化,还有一件事需要考虑,那就是如何在每个单元中实际计算应力。
总应变只是位移的导数,所以总是平滑的。然而,这些应力通常是几种不同效应组合的结果。如何计算应力的确切细节取决于顶层材料模型以及几何非线性是否有效。为了解释一般原理,我们假设顶层材料是线弹性的,并且分析是几何线性的。
那么,应力张量 , 可以用下式计算
式中, 是弹性张量,
是弹性应变,
是任何额外的压力贡献。弹性应变是总应变之差
,使用形状函数和节点位移以及任何非弹性应变场
计算。
以下是非弹性应变的一些例子:
以下是额外应力贡献的一些例子:
因此,通常来说总应力是几个不同贡献的总和。尤其是, 和
通常是同一数量级,因此弹性应变张量包含由两个或更多的大数减去另一个大数获得的小数。例如,不受约束的热膨胀或大的塑性变形就是这种情况。
那么为,什么这会是一个问题呢?如果不同的应力和应变贡献不是由单元上相同类型的插值表示,就可能存在较大的局部波动,即使结果在平均意义上是一致的。
我们先来研究一个可能发生这种情况的常见案例。有限元界很早就观察到,在耦合热应力分析过程中会出现“波浪状”应力模式。在耦合热应力分析中,最常见的是对位移和温度都使用二次形函数。由于热应变与温度成正比, 将在每个单元内具有二次变化。然而,由于总应变是位移形函数的导数,因此它将具有线性分布。现在,弹性应变将作为线性函数和二次函数之间的差被计算。产生的影响是每个单元内部可能存在奇怪的弹性应变(以及应力)模式。出于这个原因,当将温度作为驱动固体的热膨胀时,有时建议使用线性形函数来求解热问题。在 COMSOL Multiphysics 中,此问题在内部由 热膨胀 多物理场耦合节点(以及 吸湿膨胀 和 插层应变 等类似功能)处理。非弹性应变场被重新插值到一个与从位移场计算出的应变相匹配的多项式阶数。这将减少局部应力解中的这种假象。
还有另一种类型的非弹性应变根本不涉及场,而是在积分点(高斯点)处逐点的局部状态。有关高斯点的更多详细信息,请查看博客数值积分和高斯点简介。大多数非线性材料模型,如塑性和蠕变,都是这样工作的。在这种情况下,单元中任意位置的应力评估会变得更加复杂。
如果要求一个应力分量,例如 solid.sx,它实际上是在单元中的每个位置“动态”计算的。非线性材料定律就是在该位置利用最近的 高斯点的存储值被评估的。如果单元上非弹性应变的变化很大,可能会引入明显的误差。甚至可能无法评估材料定律,即使它可以在高斯点进行评估。
一个比较好的方法是基于高斯点值创建平滑近似。gpeval() 算子提供了这种可能性。例如,如果您请求 gpeval(4,solid.sx) 而不是 solid.sx,您将绘制一个在单元上平滑的应力。在这种情况下,非线性应力-应变关系仅在已经满足的高斯点处进行评估。然后,再使用高斯点值的最小二乘拟合来定义平滑场。
在其原始版本中,gpeval() 算子要求输入适当的积分阶次作为第一个参数。幸运的是,在大多数情况下,不必这么做。COMSOL 软件的物理场接口中提供了许多预定义变量,例如 solid.sGpx 和 solid.misesGp。如果无法为表达式找到合适的内置变量,则可以使用物理场接口的特定算子,例如 solid.gpeval(expr)。 正确的积分阶次将被嵌入到特定物理场接口的算子中。
下面的示例针对已经存储在高斯点的场(通过名为 myDOF 的用户定义的因变量)探索了不同的评估选项。该模型由单个 2D 单元组成,x 和 y 坐标范围为 0 到 1。该场由表达式 (Y+1)/(2*X+1) 描述。使用 3 × 3 高斯点方案,因此将存储九个独立的数字。这些值正是在每个高斯点处评估的原始场的值。

用高度图表示的同一组数据。
在图中左上方,原始函数是可视化的。在它的下方,显示了存储状态 myDOF 表面图的行为。此图中也显示了高斯点的位置以及存储的值。默认的行为,即高斯点状态由最近的高斯点处的值表示,在这里清晰可见。在这种情况下,一个更好的方法是使用 gpeval() 算子评估平滑场,如底行最右边的两个图所示。这两个图之间的差异是平滑场的多项式阶数。默认是使用双线性场(中下方)。在这个示例中,拟合二次场是更好的选择。在图的中上方和右上方,显示了平滑场与函数精确值之间的差异。
最后,我们来处理两个常见的误解:
solid.sx 的表达式,确实会在高斯点处获得计算值。但是,在高斯点处评估类似于 solid.sGpx 或 gpeval(4,solid.sx) 的表达式将不会在该点检索存储的结果。原因是这些表达式给出了通过最小二乘拟合获得的平滑场。拟合多项式不一定会通过其数据点。gpeval(4,solid.sx) 的表达式,则 边界上高斯点的值用于设置插值多项式。如果在固体力学模型的边界上绘制表面图,这可能不是想要的结果。幸运的是,COMSOL 软件接口中内置的 solid.sGpx 和 solid.gpeval(solid.sx) 与期望的一样:它们使用域插值。有了上面介绍的方法,我们就可以处理一些评估最大值的常见任务。首先,重要的是要认识到没有单一的“正确”方法。唯一的真理是使用非常精细的网格进行分析,以使离散误差尽可能小。在现实生活中,这是不太可行的。
话虽如此,通常最好使用高斯点插值结果,因为不太容易出现随机波动。然而,对于所有情况,这可能不是最好的结果(在“最接近真相”的意义上)。
在结果与可视化中,可以使用不同的方法来获得最大值(下面的UI截图中显示了其中的五种)。您可以查看图例上的最大值(见下图(1)),也可以添加:
很明显,使用这些方法获得的值不一定相同。以下是一些提示:
下图显示了使用不同的方法评估应力分量最小值的效果,通过表面图和体积图标记。solid.sy 和 solid.sGpy 都使用了平均和不平均绘制。正如预期的那样,未经平滑计算的每个值都高于经过平滑计算的相应值。还可以注意到,如果没有平均,表面和体积评估会给出相同的结果。这是很自然的,因为峰值在表面,所以在两种情况下都探测到相同的峰值位置。
当您要选择绘制结果时,会遇到如下所示的菜单:

选择应力结果。
可选择的方法取决于物理场接口以及使用的材料模型和其他选项。这可能看起来令人不知所措,但有些量比其他量更重要。
对于各向同性材料,最常见的是使用标量应力测量,例如 von Mises 或 Tresca 等效应力。von Mises 应力很受欢迎,因为它很容易评估,并且它可以直接计算灵敏度。但是,为安全起见,Tresca 压力是更好的选择。Tresca 等效应力的值比给定应力状态下的 von Mises 应力值大 0% ~ 17%。在某些工程领域,如压力容器,常用的是 Tresca 应力,有时称为 应力强度。
尽管 von Mises 和 Tresca 等效应力对于了解应力状态非常有用,但它们只能用于评估失效风险或找到特定材料类别的“最大负载点”。这些应力测量最初是为预测金属的屈服而设计的,它们对平均应力不敏感。金属在太平洋海底中并不比在自由空气中更接近屈服!另一方面,土壤或混凝土等材料的失效很大程度上取决于平均应力。压缩状态是稳定的。
现在你可能会问:如果我的材料不是金属,我怎样才能得到一个以红点为临界点的图?答案包含两个部分:首先,如果不引入一些描述失效的材料属性,通常不能这样做。一旦您可以访问这些值,就可以使用结构力学接口中的 安全 节点。这个功能可以为许多类别的材料计算不同类型的失效裕度测量值。由于这些标准通常基于压力,因此上述关于压力评估的任何内容也适用于此。

安全特征 中的失效模型。

土力学问题的 von Mises 应力(上)和安全系数(下)分析。下面的分析使用了 Drucker-Prager 标准。
有时,您可能会因为材料是各向异性的,或者想更好地了解应力分布而研究各个应力分量。对于后一种情况,绘制主应力图通常也很有用。
在处理单个应力分量时,您希望在全局坐标系之外的其他方向上进行评估是很常见的。有几种标记为“局部坐标系”类型的结果。这意味着方向是由材料节点中的坐标系选择确定,例如 线性弹性材料。

在材料模型中选择坐标系。
对于各向同性材料,坐标系选择的唯一作用是为结果定义局部方向。对于各向异性材料,选择的主要目的是为材料数据提供参考方向。附带的您会在局部方向上得到应力和应变结果。
在 COMSOL Multiphysics 中,存在三种类型的应力张量:柯西、第一类皮奥拉-基尔霍夫,第二类皮奥拉-基尔霍夫。要了解有关此主题的更多信息,请查看博客:为什么会有这些压力和应变?以及 COMSOL 官网上关于应力和运动方程的多物理场百科知识。如果您计划研究应力张量的单个分量,区别可能很重要,但对于几何线性分析,应力张量都是相同的。
COMSOL Multiphysics 为精细调整结果的评估和展示提供了多种方法。为了充分利用仿真,熟悉这些方法很重要,什么是最佳选择取决于您正在研究的内容和分析的目的。
还有一种我们没有讨论的情况是,如何处理出现在拐角处或其他奇点处的高应力。博客“有限元模型中的奇点:如何处理模型中的红点” 中讨论了奇点的影响。后续我们可能会重新讨论这个有重大实际意义的话题。
想要进一步了解 COMSOL 软件的应力分析功能吗?请点击下方按钮联系 COMSOL!
我们生活在一个三维世界——或许是四维,如果考虑到时空的话。然而,在工程分析中通过二维近似来节省模拟时间和计算资源的情况很常见。在这篇博客中,我们将介绍什么时候,以及如何使用二维公式研究固体力学领域中的问题。
目录
编者按:这篇博客更新于 2022 年 12 月 16 日,以显示 COMSOL Multiphysics® 软件 6.1 版本中的新特征和新功能。
在现实生活中,没有多少东西是二维的。例如,当我们在二维中研究电缆横截面周围的电磁场时,我们实际上是在说:“这条电缆又直又长。距离两端足够远时,电场只取决于横截面上的位置。”对于大多数物理问题,思路是这样的:在二维近似中,我们研究一个长而直的物体的横截面,忽略端点效应。

在二维中计算的两根具有不同电势的长电缆周围的电势 (用颜色表示)和电场(用箭头表示)。

又长又直且互相平行的电缆横截面
在固体力学领域,二维状态比较长的拉伸有更多的可能性。例如,我们可以将一个仅在其平面上承受载荷的薄平板看作二维。那么,固体力学有什么特别之处使这成为可能呢?
考虑对上述平板进行传热分析。在这种情况下,大表面将在面外方向产生对流和辐射。其次,厚度方向的温度梯度很重要。因此,通过二维近似薄平板中的热量传递比较困难。类似的推理也可以应用于许多其他物理现象。
固体力学领域也存在面外方向的影响。薄平板通常在横向上产生变形。例如,如果拉伸平板,它就会变薄。然而,这并不会直接影响此二维问题的解。如果你感兴趣的话,可以通过后验计算厚度变化的结果,这将在下文进行更详细的讨论。
在接下来的部分,假定 xy 平面表示二维平面,z 为面外方向。xy 平面上的位移分别称为 u 和 v,w 为 z 方向上的位移。
需要注意的是,如果面内作用和面外作用之间没有耦合(例如,当线弹性材料的泊松比为零时),所有公式将是相同的。
平面应变是二维固体力学公式中唯一不包含近似值的公式。在两个刚性壁之间的 z 方向上受到约束的物体中将存在平面应变状态。这也是在概念上与其他物理领域中的二维公式具有最佳对应的公式。然而,该物体并不一定要在 z 方向上是“长”的。这是与大多数其他物理领域中的二维近似的根本区别。
该假定的表示简单:在 z 方向没有位移。
这同样可以用应变来表示:
请注意,为了完全避免端部效应,实际上假定刚性壁面的边界条件是辊支撑类型,因此在 xy 平面上的位移不受抑制。如果不是这样,就又回到了我们研究远离终点的长物体的情况。
在平面应力公式中,假定与 z 方向有关的三个应力张量分量为零。这是薄板的一个很好的近似,但只有在厚度趋近于零的极限情况下才完全正确。
在自由表面上,平面应力的局部状态始终存在,因为这正是边界条件。这就是平面应力假设如此有效的原因——它在板的两侧都是完全正确的,并且只要厚度很小,内部就不会产生显著的 z 方向应力。
然而,广义平面应变没有唯一的定义,这通常意味着普通平面应变公式的一些假定是放宽的。假定整个应变张量非零,但仍然只取决于 x 和 y,则可以用下列位移场表示这种应变张量:
式中,a,b,c 是常数。无限小的面外应变将表示为
在执行分析的 z=0 平面,w 为零。因此,位移场仍然只有两个分量,u 和 v 需要求解。然而,存在三个新的未知数,a,b 和 c。在广义平面应变的一般解释中,只使用系数 c。实际上,这意味着长物体可以在 z 轴方向上膨胀。如果系数 a 和 b 也包括在内,也允许拉伸以一个恒定的曲率弯曲。a,b,c 的值取决于横截面上无净轴力和弯矩的假定;也就是说,终端是自由的。
当您在 COMSOL Multiphysics 中选择广义平面应变选项时,可以在纯纵向拉伸假定和启用面外弯曲之间进行选择。

选择广义平面应变。
还有其他的公式有时被称为广义平面应变。例如面外剪切应变,可被允许 和
为非零。这种公式与
,一起被用于弹性波,时域显式 接口的二维版本。
在线弹性假定下,胡克定律可专用于平面应变和平面应力。胡克定律的完整三维形式如下:
式中,E 为杨氏模量,ν 为泊松比,G 为剪切模量。
平面应变的情况比较简单,只需要从三维公式中删除三个为零的应变分量
对于平面应力,可以使用 来消除
,从而得到
横向应变(即厚度变化)可由解计算为:。
然而,COMSOL Multiphysics® 软件中不使用这个公式,而是使用完整的三维胡克定律与额外的未知场共同表示。当然,这增加了问题的总体规模,但优势显著:不需要考虑所有材料模型的特殊平面应力形式,不需要修改例如热膨胀以及类似的特性。如果绘制横向应力,你会注意到这个值并不等于零,因为它是用胡克定律从应变场计算出来的。
这个案例有点复杂。当在本构关系中引入面外应变的假设时,应力分量通过系数 a、b 和 c 显式取决于坐标 x 和 y。
可压缩程度越小,面内和面外作用之间的耦合越强。尤其是许多关于塑性、蠕变和超弹性的模型都假定不可压缩性。当使用这种材料模型时,所选择的二维假设的影响尤为显著。
我们来看一个简单的例子,中心有一个圆孔的矩形板。我们从一块非常薄的板开始,逐渐移动至一个厚物体,其中的圆孔看起来更像是一条长长的隧道。
平面内板的尺寸为 2 m x 1 m,孔直径为 0.4 m。施加 1 MPa 的拉伸载荷。使用钢的材料数据。平面应力的解如下图所示。

在平面应力假设下,求解的Von Mises 等效应力。
在平面应力假设下,横向应力 为零。
接下来,我们来看一个完整的三维解,并再次观察相同的对象,但厚度分别为 0.1、1 和 10 m。下图中绘制了横向应力 。

三种不同厚度的横向应力。
对于薄结构,横向应力可以忽略不计,因此平面应力是一个很好的假设。对于中间厚度的板,应力为完整的三维状态。对于较长的物体,除了两端位置外,横向应力是恒定的。请注意,最大横向应力为 0.8 MPa,因此与施加荷载相比,不可忽略。
接下来,我们对孔顶部应力最大处的横向应力进行更详细的研究。

沿厚度方向分布的横向应力变化。图中参数为物体的厚度。
可以看出,只要厚度大于等于 1 m,即可达到约 0.8 MPa 的峰值水平。厚度越小,最大横向应力下降越快。
这幅图将帮助我们澄清两个常见的误解:
事实是:
在实践中,“厚的物体应当被认为是处于平面应变状态”这一说法在教科书和网上几乎随处可见。虽然在这种情况下,平面应变确实比平面应力更好近似,但它仍然是不准确的。此时假设为广义平面应变更为准确。
我个人的猜测是,由于使用二维解可以追溯到许多问题都是用笔和纸解决的年代,例如,使用艾里应力函数,所以在实践中需要在平面应力和平面应变之间进行选择。使用有限元软件,对于较厚的物体,全三维或广义平面应变是更好的选择。
在上述示例中,我们已经看到横向上产生了显著的应力,即使物体在那个方向自由移动。为什么会出现这种情况?这是由于泊松比效应,使得面外方向有厚度变化。只要在平面内存在应力(和应变)梯度,这种厚度变化就不是均匀的。在应力集中的位置,如板上的孔,应力最大的点处的材料希望比周围的材料更薄,而相邻的材料则与之相反,并试图抑制变形。

远离自由表面(底部)和靠近自由表面(顶部)的横向位移变化。在每个平面上,平均位移被设为零。
在上一节中,我们注意到横向应力的大小随与自由边界的距离变化。详细的应力分布也随距自由表面的距离而变化,如下图所示。

远离自由表面(底部)和靠近自由表面(顶部)的横向应力分布。将两个切面上的应力场按比例调整为峰值相同;接近边界处的实际应力较低。
在远离自由表面的地方,横向应力与面内应变成正比 。由于周围材料的约束作用,整个剖面的厚度基本保持均匀。在接近自由表面的地方,当面内应变梯度较大时,横向应力反而较高;在这个案例中,此位置是靠近孔的边缘。
只要结构仅受牵引力(而不是规定的位移)载荷,那么平面内的应力状态即可脱离二维假设,至少对于线弹性来说是这样的。然而,这并不是全部的清凉。在下图中,x 方向的应力显示孔的顶部是应力最集中的位置。

整个厚度方向上的水平应力变化。图中的参数为物体的厚度。
可以看出,厚度存在显著的变化。对于薄的物体,二维结果很准确,而对于厚的物体,结果存在很大的差异,特别是在自由表面。这对等效应力也有影响。

Von Mises 等效应力随着厚度的变化。图中的参数为物体的厚度。
对于较厚的物体,实际等效应力与任意一个二维解均存在显著差异。只有在相当厚的物体内部,von Mises 应力才会收敛于广义平面应变解。
在大多数情况下,这三种公式之间的区别不像在上文示例中那样明显,即存在有一个显著的应力集中。然而,在某些情况下,必须特别注意:当非弹性应变很重要的时候。因此,在横向上不仅泊松比对面内应变起作用。
以热膨胀为例。通常在各个方向的热膨胀都是一致的。这意味着在平面应变设置中(面外膨胀被抑制),将会有一个强大的横向应力累积。一个可以在 xy 平面自由膨胀的物体将受到一个横向应力,。如果选择使用平面应力或广义平面应变公式,横向上的膨胀是自由的,这个应力将不会出现。
为了说明二维公式在热膨胀情况下的重要性,我们来看以下示例: 一个在 xy 平面自由膨胀的正方形板受到温度场的影响,其中温度与 x*y 成比例。右上角的最高温升为 100 K。材料数据为钢。横向应力如下图所示。
不同二维假设下的温度分布和面外应力。
结果表明:
von Mises 等效应力和 Tresca 等效应力是最常用的 2 个标量应力测量。如果用主应力() 表示,则为
和
可以看出,中间主应力影响 von Mises 等效应力,但不影响 Tresca 等效应力。对于二维情况,面外应力分量 始终是主应力之一。对于平面应力情况,面外应力分量为零。对于平面应变情况,线弹性材料的面外应力分量为
,。最后一个表达式包含两个面内主应力。如果
和
的符号不同,则
始终是中间主应力,Tresca 等效应力不受平面应力和平面应变变化的影响。
由于 von Mises 等效应力取决于中间主应力,因此这种不变行为在 von Mises 等效应力中看不到。

平面应力与平面应变条件下的等效应力值之差。Tresca 等效应力 (上)和 von Mises 应力 (下)。注意,在 Tresca 等效应力情况下,大片黑色区域为零差异。
在断裂力学中,常用平面应变假设来分析厚板。既然我们已经知道了广义平面应变或全三维是正确的选择,为什么这种假设又是可行的呢?
对于这种情况,重要的是看裂纹尖端的状态。裂纹尖端处的应变状态是奇异的,因此材料在厚度方向上有很强的收缩倾向。周围材料抵抗这种收缩,形成对厚度方向位移的强烈约束。因此,接近裂纹尖端的应力状态类似于平面应变。实际上,平面应变解和广义平面应变解在接近裂纹尖端处的结果相当一致。这并不是说平面应变在平面裂纹体中是一个很好的近似。实际上,平面应变解在一定程度上低估了整体变形。在大多数板中,应力梯度很小,平面应力是一个更好的近似。
通常使用梁或桁架来近似模拟细长结构。对于这类情况,使用单轴理论定义。横向应力和应变并不直接参与问题的计算。不过,如果研究一下细节,就会发现一个基本假设,即横向没有应力。从本质上讲,两个(任意)正交方向存在平面应力条件。如果需要,可以计算 后验 横向应变。对于线性弹性材料,可以直接使用泊松比的定义;横向应变为 ,其中,
为轴向应变。
从 COMSOL Multiphysics 6.1 版本开始,固体力学 接口也可用于一维和一维轴对称几何。此处,还必须确定面外行为。在一维情况下,可以在两个横向方向上独立选择平面应力、平面应变和广义平面应变。在一维轴对称情况下,厚度方向的行为也包含这三个选项。
一维和二维轴对称情况下 固体力学 接口的部分 设置窗口。
结构力学模块是 COMSOL Multiphysics 的附加产品,包括用于模拟平面应力和平面应变的专用特征和功能。点击下方按钮,了解更多关于结构力学模块的信息:
当结构中的应力超过可以接受的极限时,我们首先想到的是添加更多的材料来提高承载能力,这是常用的方法。但在大多数情况下,还可以考虑另一种方法,即通过去除材料来改善结构稳固性。在这篇博客中,我们介绍了一些如何通过去除材料使结构更加稳固的示例。
大约在 1990 年,我在为客户分析一种离心机的压力时,他们向我提出了一个问题:如何降低离心机上圆孔(这些孔的作用是喷射出分离的物质)周围的应力?我向客户建议,可以通过增加孔数来解决这个问题时(实际上也会提高生产率),他们不太能完全信服。然而,经过多次有限元分析验证后,他们对这种做法表示认可。下图所示为该离心机中孔的结构和布局:

离心机的局部模拟图以及 von Mises 应力分布,其中载荷是由离心力引起的。
下图为离心机原始几何结构的局部图。图中的主应力箭头,可以帮助我们更好地了解圆孔周围实际的应力分布情况:

离心机原始几何结构中的最大主应力,圆周上有 12 个孔。
如上图所示,主应力分量沿圆周方向作用,应力流方向的改变引起应力集中。实际上,如果我们可以用圆形的狭缝代替孔,那么就不会出现应力集中。然而,这个方案行不通,因为狭缝形成的环的内部和外部几何必须连接。如果缩小孔间距,应力通量的方向改变将更少。通过手动更改参数,我们可以轻松地优化设计,找到最佳的孔分布数。实践证明,34 个孔是最佳的选择。
当离心机圆周上有 34 个孔时,von Mises 等效应力降低了 33%,同时也具有更轻的结构和更高的生产率。

带有 12 个孔和 34 个孔的离心机 von Mises 应力比较。
为什么不能让孔靠的更近呢?观察下图中的主应力分布,我们可以发现,孔与孔之间的连接部位会受到离心力引起的径向应力,因此孔间距不能太小。

带 34 个孔的离心机上的最大主应力。
在几何形状突然发生变化的地方,通常会产生应力集中。经验丰富的设计师会采用比较缓和的设计进行平缓过渡,并使用较大的圆角半径。但是,增加圆角半径可能不可行,因为添加的材料会干扰其他零件。
此时,我们可以采用 底切 或 释放槽 设计,通过去除材料来增加半径。(请注意,在焊接中,底切 通常是指某种类型的焊缝缺陷。)
下文,我们列举了三种不同的设计方案。在原设计(顶部)中,应力集中系数为 1.91。通过将圆角半径增加 50%,可以将应力集中系数降低 13% 至 1.67。红色虚线右侧较薄的部分厚度保持不变,因此,增加圆角半径会损失一些空间。
第三种设计采用了较大的底切半径。这也可以使应力集中降低 13%,但不会使空间变小。采用底切设计的缺点是零件的制造可能更加复杂,因此价格昂贵。

使用两种不同的几何设计降低应力集中。
焊接的应力释放槽设计是一个特殊的例子。由于焊缝对疲劳非常敏感,因此可以通过在焊缝前面添加凹槽进行保护。实际上,由于疲劳强度不同,在凹槽处产生的应力可能比焊趾处更高。
当结构上的载荷由受控位移而不是指定的力组成时,添加更多的材料通常只会使载荷增加,而应力恒定或者增加。大多数情况下,刚开始似乎并没有控制位移,但实际上是被控制的。热变形是一个指定位移的示例。
以下图所示的 2D 几何模型为例:

几何和边界条件
将三个杆向右侧拉伸 0.1 mm,在模型的左侧,假设有一个对称面。应力分布结果如下图所示。

指定位移时的应力分布(变形放大 100 倍)。
上图中,圆孔处的最大应力为 188 MPa,外部两个杆上的载荷为 3.36 kN,中间一个杆的载荷为 3.22 kN。现在,我们可以尝试通过减小材料刚度来降低载荷和中心杆的应力。当然,这可以通过许多不同的几何变化来实现,但因结构功能限制而选择度较小。在这个示例中,我们可以在对称面上制作一个半径较大的凹槽进行对比,如下图所示。

这样做可以将最大应力降低 19% 至 153 MPa。很显然,去除更多的材料可以减少更多的应力。
其他两个杆上的应力发生了什么变化?由于是指定位移,因此杆不会被拉长。杆上的应力实际上增加了不到 1%,为 3.36 kN;由于指定的位移不是直接施加到杆上,而是通过一个有弹性但坚硬的结构施加的,因此杆上的应力略有增加。真实的结构中往往就是这种情况。
仍以上述几何模型为例,我们对结构施加力载荷。设定载荷大小为 9.94 kN,使其完全等于由指定位移引起的反作用力;显然,在原几何模型中,应力大小一致。
但是,当我们减小中间杆的刚度时,两个外侧杆必须承担更多的载荷。而且,由于结构的总刚度降低,在载荷边界处的位移必须有所增加。

当施加力时,刚度较低的结构中的应力分布。
可以看出,最大应力减小较少。外部杆的载荷已增加到 3.58 kN,而中间杆的载荷则为 2.77 kN。
指定载荷是通过将力传递给其他部件来减小关键部件中的力,其机制与指定位移(更改加载路径)完全不同。还有一个更简单的方法也可以更改加载路径,即通过增加 2 个外杆的厚度。但这不是本文的研究内容,这属于添加材料而不是删除材料。
由上述示例可以看出,大多情况下,去除材料有助于降低局部应力水平,但同时也会增加制造难度。
对于上述示例,我们可以根据工程师的直觉来改变结构,但使用参数、形状或拓扑优化等方法,可以获得更好的结果。对于复杂的几何结构,可以通过增材制造方法来制造。
请点击下面按钮,了解更多有关 COMSOL® 软件的力学分析功能。
从 5.5 版本开始,COMSOL Multiphysics® 软件的所有结构力学接口都添加了默认绘图,用来显示施加的载荷。在这篇博客文章中,我们将讨论如何使用这些载荷绘图获得在各种情况下施加到模型载荷上的最佳可视化效果。
在 COMSOL® 软件中,我们使用标准结果可视化工具创建载荷绘图,主要创建的是矢量图。

对于每一个研究和物理场接口,COMSOL软件都会生成一组载荷绘图。由于将生成许多包含载荷的绘图组,为了避免模型树中的分支过多,这些绘图被放在一个组节点内,。组节点用 Applied Loads (interface_tag) 标记。

包含两个物理场接口和一个研究的模型中的载荷绘图示例。
根据施加了载荷的实体的空间维度来细分绘图组。例如,边界载荷和点载荷的物理单位不同,用普通尺寸的箭头将它们绘制在一起是没有意义的。因此,绘图组被命名为 体积荷载 或 边荷载。但是有一个例外值得注意:测定体积的载荷(例如重力或旋转坐标系)始终被看作体积载荷。例如,即使是施加到梁接口中的一个边也被看作体积载荷。
通常,在绘图组内,物理场接口中的每个载荷特征都会生成一个与载荷节点相同标记的绘图节点。如果为载荷添加助记标记,那么就可以在绘图组下轻松找到相应的载荷了。
在某些情况下,单个载荷特征会生成多个绘图节点。例如,由于力矩和力具有不同的物理维度,因此它们被分为不同的绘图组。同样,旋转坐标系的载荷被分为离心力、科里奥利力(Coriolis forces)和欧拉力(Euler forces)。
在可以输入力和力矩的载荷特征中,有一条特殊的规则,即无论力的大小如何,都将始终给力创建一个绘图节点。但是对于力矩,当至少一个力矩分量不等于零时,才会生成该力矩的相应节点。

梁接口生成的载荷图。请注意,在点荷载1 节点中输入的载荷已被分为两个绘图组,一个力,一个力矩。
默认情况下,载荷用线框图表示。这是因为一个满载荷的表面可能会隐藏一些甚至是全部的载荷箭头。
在由域或边界的物理场(例如固体力学 或壳)接口生成的载荷图组中,我们将找到一个名为 灰色表面 的禁用节点。如下图所示,通过启用 灰色表面 节点,可以创建更加美观的可视化效果图。
使用默认设置(左)和启用灰色表面(右)后绘制的载荷图。
在这个示例中,默认设置的效果图显示载荷从路面传递到轮辋,然而当表面被灰色填充时,显示就不那么明显。如果载荷箭头显示为隐藏,我们可以尝试修改箭头相对于边界绘制箭头的方式,这可以通过更改 箭头 基的设置实现。

更改箭头基的位置。

与上述相同的绘图,更改箭头使头部位于边界上。
每个绘图组中的第一个节点控制后续节点的一些属性。这意味着我们只需更改第一个节点中的设置,就可以更改整个组的重要属性。

继承的属性。
如果我们更加详细地研究载荷绘图中的设置,那么每个绘图实际上都从其前面节点继承属性。这意味着,如果手动更改一个节点的设置,那么这个更改将将应用在同一绘图组中位于其下方的所有节点。
箭头颜色是由矢量图下的颜色表达式 子节点控制的。

颜色表达式设置。
默认的黑-红梯度图旨在给人清晰的印象。但是,如果我们想从图例中能够读取到数值,那这就不是最佳的选择。通过将颜色设置由 渐变 改变为颜色表,就可以切换到更好的配色方案。

使用默认颜色表进行绘图。
可以在绘图组中通过设置第一个绘图设置的着色和样式来修改箭头的大小。通常,拖动滑块可以快捷调整箭头大小。
更改箭头数量需要考虑更多的因素。默认情况下,在每个单元(或单元面)的中心处绘制一个箭头。根据实际的网格密度,这可能会在视觉上给人拥挤或箭头太少的感觉。对于后一种情况,最简单的方法是在 箭头位置 部分的高斯点阶数 文本框中增加数量。这些箭头会被绘制在单元或单元面内的高斯点处。
或者,可以在 放置 下拉列表中选择网格节点。在这种情况下,将在单元角处(即一个一阶单元的网格节点处)绘制箭头。
最后,我们可以选择 均匀 的放置。如果单元尺寸动态载荷的不同边界上变化很大,这通常是一个不错的选择。在这种情况下,使让箭头密度均匀分布的算法来分配箭头。箭头密度是我们输入的数字除以总选定边界面积,而不是定义载荷的面积。

不同类型的箭头放置。左上方:高斯点,1 阶(默认值);右上:高斯点,2 阶;左下:网格节点;右下:均匀的 200 个箭头。

与上面相同的绘图设置,但是载荷作用在另一种网格上。
如果网格非常精细,我们唯一的选择通常是使用均匀分布的箭头。
有时,我们只想研究由单个载荷特征所产生的载荷。或者,可能希望抑制与某个载荷特征相关的箭头。
这很简单,我们只需禁用绘图组中不需要的绘图。除了从节点的上下文菜单中选择禁用 之外,还有两个便捷方式:选择一个节点或多个节点。然后,按 F3 禁用或按 F4 启用。(这不仅适用于绘图节点,还适用于模型开发器树中的所有节点。)
但是,请注意,如果禁用绘图组中的第一个绘图,它将无法再控制继承属性,而是显示一条警告消息。不过,总体而言,该绘图仍然可以正常工作。如果需要,我们可以删除第一个启用的节点的继承属性,然后手动更改同时会影响以列节点的属性。

如果禁用了绘图组中的第一个绘图,则会显示警告消息。
载荷绘图会与当前选择的时间值、参数值或载荷工况相适应。我们可以使用动画视图来表现载荷变化。如果要同时显示其他结果(例如应力)的载荷,只需将绘图节点复制粘贴到另一个绘图组中即可。

轮辋中的载荷与应力分布,用两个参数值描述载荷的旋转。
有些载荷不是被直接施加到几何对象上,而是被施加到空间中的某个坐标上。例如,施加到刚性连接件、刚性域以及多体动力学 接口中的关节或齿轮的载荷。这样的载荷由点轨迹 节点而不是矢量图表示。但是,我们也可以按照与上述基本相同的方式调整这些绘图。
在管道力学 接口中,由于管道 中的内部压力载荷没有特定方向,因此用彩色线图表示。由于曳力沿着管道起作用,因此使用矢量绘图。
在转子动力学接口(实心转子和梁转子)中,不通过添加载荷特征来引入旋转框架力。它们是内置于此物理场接口的固有公式。但是,仍然会创建载荷绘图。
当变形较大时,就会出现应在原始几何形状还是变形的几何形状上显示载荷的问题。特别的,如果力取决于变形,那么这是相关的。
默认情况下,载荷会被绘制在未变形的几何体上。但是,这些绘图确实带有变形子节点。在大多数情况下,变形比例被设置为零。但是,如果研究是几何非线性的,则比例因子为1,因此变形具有真实比例。通过更改绘图组中第一个图变形 子节点中的比例因子,可以创建任何类型的变形。如果要在变形应力绘图上叠加载荷,那么这一点尤其有用。
对于所有类型的绘图均有效的一条解释是,只有当数据集应用材料坐标系时添加变形节点才合理,在空间坐标系中,已经存在变形。

分别在变形和未变形的几何图形上绘制压力载荷。
在上图中,我们可以注意到两件事。首先是在未变形的图中箭头方向看起来很奇怪。为了使箭头有意义,随着解而改变方向的载荷必须以在变形构型中绘制。
其次,根据图例,恒压实际上有很大的变化。这个我们要用“第一类皮奥拉-基尔霍夫(first Piola–Kirchoff)”应力来解释牵引力。箭头所显示的是每个原始面积上 的力,但具有当前的方向。所以如果一个特定的载荷区域单元在变形过程中变小,则显示的载荷值也将变小,因为作用在该区域的总载荷要小于未变形的载荷。
通常,我们想验证刚刚输入表达式的载荷的分布。在这种情况下,我们还未得到计算的解。通常,默认绘图是作为正在运行研究的一部分而生成的。
复杂的载荷表达式示例(如上图所示,是作用在轮辋上的轮胎载荷)。
这里关键的操作是获取初始值。与实际计算的解相比,,这个操作将以与运行研究相同的方式为任何研究生成数据集和默认图。为了成功完成获取初始值操作,最重要的是可以生成网格。不一定是在实际求解时要使用的网格,但是必须存在可以在其上绘制载荷的对象。如果输入数据通常不完整或不一致(例如,缺少材料参数),那么可能会在获取初始值 期间遇到错误消息。除非是真正严重的问题,否则无论如何都会生成预期的数据集和绘图。
通常,载荷不仅是空间的函数,还可以是时间、参数甚至其他解的函数。载荷将基于初始值计算中有关模型信息进行绘制。例如:
默认绘图的工作方式(不仅对于载荷)是,如果数据集已经存在任何绘图,则不会生成任何默认绘图。无论是否运行完整研究或仅计算初始值,此行为都是相同的。这样,如果我们以任何方式更改载荷功能的结构并希望以可视化的方式显示新设置,那么仅再次运行获取初始值 是不够的。我们应该先删除数据集,这将删除所有指向数据集的绘图。
如果只是更改现有载荷功能中的值,那么运行获取初始值就可以了。
在接触分析中,法向接触力和摩擦力也可以用作默认绘图。使用与载荷绘图相同的精确技术,您可以使用相同的选项来自定义绘图。

默认接触力绘图显示的法向力和摩擦力。
即使物理符号 与新的载荷图没有直接关系,该功能在这里也值得一提,并且这个功能可用于 COMSOL® 软件的多个版本。
COMSOL Multiphysics 在使用数值、参数、解因变量或先前研究的结果等描述载荷时提供了很大的灵活性,但是在即时可视化方面存在一些不足。当更改某一特定载荷的设定值时,直接显示真实负荷是不可行的,我们必须采用上述方法。
在物理场接口中工作时,可以选择添加物理符号。物理符号表明某一类型的载荷(或约束)存在于某一边界上。但是,它不显示载荷的方向或大小。在物理场接口的设置中选择启用物理符号,才能将物理符号包括在图形中。

切换物理符号。

该图中显示了边界载荷,指定位移和对称条件的物理符号。
为了增强物理符号的可视化,任何可以生成物理符号的节点还可以单独控制这些符号是否处于活动状态。因为每个选定实体都会显示一个物理符号,所有这对于选择许多几何实体的边界条件特别有用。

控制单个边界条件的物理符号的显示。仅当物理场接口的物理符号被激活时,此部分才可见。
COMSOL Multiphysics 中提供的载荷绘图特征在 COMSOL 案例库和案例下载页面中的许多结构力学模型中都有使用。以下为这篇博客文章中讨论的示例模型:
如果你对如何将这种后处理功能应用在你的结构分析有任何疑问,请与我们联系:
本文是关于结构动力学阻尼的博客文章的续篇,这里我们将详细讨论带阻尼的机械系统的谐波响应,在 COMSOL Multiphysics® 软件中演示设置频率响应分析的不同方法,以及如何解释结果。
一般而言,系统的频率响应显示系统的某些属性对以频率形式输入的激励产生响应的函数。COMSOL Multiphysics中的频率响应,通常是指对谐波激励的线性(或线性化)响应。为了生成频率响应曲线,需要进行频率扫描; 也就是对很多不同频率进行求解。通常,频率响应曲线将表现出许多与系统固有频率对应的不同峰值。

典型的频率响应曲线。绘制范围内有两个固有频率,分别为13 Hz和31 Hz。
在之前的博客文章中,我们讨论了具有黏性阻尼的单自由度系统动力学的各个方面。其中阻尼的固有频率为
该频率是指在没有其他外部激励的情况下,将系统从变形状态释放之后,产生振动(具有衰减幅度)的频率。此时,一个有趣的问题出现了:“哪个激励频率会给出最大幅度的响应?”一般会认为恰好是阻尼的固有频率,但如下图所示,情况并非如此。

单自由度系统。
由于系统是谐波运动,因此采用复数表示法。分解出常见的谐波乘数 ,可得运动方程为
载荷f的相位角可以作为参考,因此f是实值。除以刚度k可以得到归一化形式:
等式的右边是静态位移。因此,动态解和静态解之比是
H 函数通常称作传递函数。其中 β 表示激励频率与无阻尼固有频率的比值。传递函数的大小为。
在此,β 用来表示激励频率与无阻尼固有频率之间的比率。 传递函数的大小为
下图显示了此功能。

使用标准微积分,可以通过找到(平方)分母的最小值来确定给出最大振幅的频率为
因此,给出最大响应的激励频率为
最大响应的激励频率低于阻尼固有频率, 实际上,频移接近两倍。
最大响应的激励频率与自由频率不同,这似乎是矛盾的,但可以解释为由阻尼引起的力与位移之间的相移所导致。在无阻尼的情况下,载荷和位移在低于固有频率时完全同相,高于固有频率时翻转到180°异相。而有了阻尼之后,相移是平滑过渡,如下图所示。无论阻尼水平如何,无阻尼固有频率的相移始终为 90°。

位移的相移作为频率的函数关系。
当存在阻尼时,由于力可能向系统提供能量,因此造成力和位移产生相移。
对具有阻尼损耗因子的单自由度系统进行分析,此时系统的运动方程为
阻尼的固有频率为
令人惊讶的是,增加阻尼并不会使固有频率减小,而是增加。这是因为这种形式的损耗因子阻尼实际上会增加刚度。复数刚度的绝对值是
由于这种损耗因子阻尼,传递函数为
其大小为
可以看出,当β= 1时(即,无阻尼固有频率),振幅最大。同样,最大响应频率低于有阻尼时的固有频率。
前一篇博客文章中提到,损耗因子阻尼的另一种定义具有如下属性:复数刚度的绝对值与阻尼水平无关具有以下属性:复杂刚度的绝对值与阻尼水平无关。这可以使用对复数刚度进行归一化的定义方法来获得如下复平面的纯旋转。
由上述公式可知,固有频率随着阻尼而减小:
本文不做详细分析,结论是相应的激励频率下降,将给出最大振幅,因此仍低于有阻尼的固有频率。
当考虑损耗因子阻尼时,激励和响应之间的相移非常有趣:即使在非常低的激励频率下,相移仍然存在,且其渐近于arctan(η)。

当使用损耗因子阻尼时,位移的相移与频率的函数关系。低频渐近线用虚线表示。
当两个表面之间的摩擦提供阻尼机制时,由于系统的非线性,对谐波输入的响应不再是谐波,可能仍然会存在周期性,但并不是谐波响应。频域法无法解决这些问题,因为其假设是输入输出为线性关系。
在模型向导中添加结构力学物理接口后,您将看到许多研究类型,其中四种可用于计算频率响应:

Solid Mechanics 界面的可用学习类型。
其中两项研究使用直接求解方法,两种研究使用模式叠加方法。在预应力分析类型中,考虑了静止预载荷的刚度变化。模态叠加非常适合频域分析,因为它它能根据给定的频率选择合适的本征模。
在任何一种情况下,您都可以通过在研究设置中提供计算响应的频率列表来执行频率扫描。通常,您希望将频率聚集在结构的固有频率附近。

输入频率可进行频率扫描。
需要注意的是,如果阻尼为零,则在固有频率下的响应趋于无穷大。这意味着不可能在固有频率处或接近固有频率时解决无阻尼频率响应问题。数值公式将给出奇异或至少是病态的系统矩阵。
对于频域研究,求解器序列中的稳态节点中有一个非常重要的设置,即线性。

选择“线性 ” 属性。
理论上,任何频域分析都可以被认为是一个小扰动,因此使用线性扰动绝不是错误的。绝不会出错。然而,最常见的情况是振动以零为中心。在这种情况下,它并不真正关心问题是线性或线性扰动。但是,该设置从根本上改变了载荷方式。载荷可以标记为谐波扰动。如果将线性度设置为线性扰动,则仅考虑此类负载。 在研究中忽略所有未标记为谐波扰动的载荷。相反,如果是线性而不是线性扰动,则忽略标记为谐波扰动的所有载荷,并将其他载荷视为谐波。

边缘载荷,指定为谐波扰动。
该设置的目的是能够区分导致可能的预应力状态的负载和作用于其上的谐波激励。
添加标准频域研究时,默认情况下,研究不会设置为扰动。因此,在这种情况下,谐波扰动标签不应用于载荷,除非您更改线性度设置。当您添加频域,预应力研究时,频率响应研究步骤设置为扰动分析。如果研究是模式叠加类型,则研究始终是线性扰动。
频域分析的结果是复值,其中隐含了谐波变化。复数的相位角描述了与参考相位之间的相移(可以任意选择,但通常作为主载荷的相位)。它还提供有关结构中不同点之间相移的信息。需要注意的是,由于单个有限元内的位移分量可以具有不同的相位角,因此应力张量的分量也很可能彼此不同相。这在疲劳分析中会比较重要。
在许多情况下,如在彩色图中,只能显示实数。所有展示的结果约定如下:如果期望查看一个复值变量 v 的实数值时,则使用实数部分。
其中,数据集的属性(如相角Φ)是可以修改的。

调整数据集中的相角。
在大多数频率响应分析中,通常关注的是结果的振幅 v 与频率的函数关系。因此应该研究 abs(v) 而不是 v 本身。两者之间的差异如下图所示。

频率响应图的示例。注意,“u”的图形与“real(u)”相同。
为了更详细地了解发生的情况,我们可以将结果的虚部和辐角添加到图中:

包括相移的频率响应。
在低频时,实部接近绝对值。在固有频率附近,则主要是虚部。这意味着响应与激励几乎不同相。考虑一下,如果将数据集里面的相角改为 45°,频率响应会怎样变化。

当数据集中的相位角为 45° 时的频率响应。
由上图可知,正如预期,振幅不会改变。但实部和虚部的各个值均会改变,其中相角曲线向上移动 π/4。实际上,如果向载荷添加45°相位角,我们将获得完全相同的结果图。

向载荷添加相位角。
在模型中,除了上述相角输入,您还可以使用复数表示法直接输入载荷:

与上述相同载荷的复数表示法。
当所有载荷并非彼此同相时,能够规定相角非常重要。例如,可以通过使 y 方向上的载荷相对于 x 方向上的载荷具有 90° 相移,来方便地描述一个旋转的非平衡受力物体。
如果研究是扰动类型,则会有两组结果:预应力解和扰动解。在这种情况下,可以在各种结果表示功能中访问额外的选择::待求表达式。

选择扰动分析的计算类型
在这里,您可以选择研究扰动解,预应力解或其组合。对于扰动解,您还可以获得一个选项:计算微分复选框。

选择计算微分。
此设置会影响非线性表达式的处理方式。如果未选择计算微分,则会在面值处获取非线性数量。例如,u^2 将会很方便地从扰动解中获取变量u的平方。由于 u 通常是复值的,因此通常该操作是无意义的。
当选择计算微分时,则该非线性量将预应力状态附近线性化。表达式 u^2 将计算 2*u0*u,其中 u0 是线性化点处的值。
在某些情况下,您可能希望在时域中进行频域分析的谐波响应可视化,尤其希望有多个激励频率。

受到两个不同频率载荷激励的响应。
您可以使用频域到时域 FFT研究步骤将频率响应结果转换到时域。

从频域到时域的转换结果研究序列。
此技术用于以下教程模型:
频域分析是分析受谐波激励的线性系统的有力工具。实际上,通过对负载进行初始傅里叶变换,可以使用频率响应分析来研究任何类型的周期性激励。
COMSOL 案例库中还有更多机械频率响应分析示例,例如: