首页/文章/ 详情

workbench 中弱弹簧的作用

8月前浏览957
弱弹簧的作用是防止结构在承受微小外力或数值计算误差时发生刚体 位移,从而保证静力学分析能够顺利求解。


官方解释:

Weak Springs

For stress simulations, such as thermal-stress or press fit modeling, the addition of weak springs can facilitate a solution by preventing numerical instability, while not having an effect on real world engineering loads. The following Weak Springs settings are available in the Details view:

  • Program Controlled: Mechanical determines if weak springs will facilitate the solution, then adds a standard weak spring stiffness value accordingly.

  • On: Mechanical always adds a weak spring stiffness. Choosing On causes a Spring Stiffness option to appear that allows you to control the amount of weak spring stiffness. Your choices are to use the standard stiffness mentioned above for the Program Controlled setting of Weak Springs or to enter a customized value. The following situations may prompt you to choose a customized stiffness value:

    The following Spring Stiffness settings are available:

    • Program Controlled (default setting): Adds a standard weak spring stiffness (same as the value added for the Program Controlled setting of Weak Springs).

    • Factor: Adds a customized weak spring stiffness whose value equals the Program Controlled standard value times the value you enter in the Spring Stiffness Factor field (appears only if you choose Factor). For example, setting Spring Stiffness Factor equal to 20 means that the weak springs will be 20 times stronger than the Program Controlled standard value.

    • Manual: Adds a customized weak spring stiffness whose value you enter (in units of force/length) in the Spring Stiffness Value field (appears only if you choose Manual).

    1. The standard weak spring stiffness value may produce springs that are too weak such that the solution does not occur, or that too much rigid body motion occurs.

    2. You may judge that the standard weak spring stiffness value is too high (rare case).

    3. You may want to vary the weak spring stiffness value to determine the impact on the simulation.

  • Off (default setting): Weak springs are not added. By default, the application does not include weak springs for the solution.

The default setting for this property can be modified using the Options dialog box. See the Specifying Options section of the Help under Analysis Settings and Solution.

甩手一个翻译:



甩手一个理解:

1. 核心问题:什么是“刚体 位移”?

在静力学分析中,我们假设结构是静止的。一个结构要保持静止,必须满足一个基本条件:在所有方向上都受到足够的约束。如果某个方向上的约束不足,即使施加一个非常微小的力(甚至是计算机的数值计算误差),理论上整个结构就会像一块砖头一样,在这个方向上发生无限的、巨大的移动或转动,这就叫做刚体 位移

举个例子:

  • 一个放在空中、只受重力作用的物体:它没有支撑,会直接掉下去,这就是刚体 位移。

  • 一个放在光滑桌面上的物体,你从一侧推它:它会滑动,这也是刚体 位移。

在有限元分析中,计算机无法计算一个位移为“无限大”的结果,所以当它检测到结构存在刚体 位移时,就会报错并中止计算,常见的错误信息是:

  • “The solver pivot warnings or negative pivot” (求解器枢轴警告或负枢轴)

  • “An internal solution result set has no degrees of freedom” (内部解没有自由度)

  • “Solution not convergent” (求解不收敛)

2. 弱弹簧如何解决这个问题?

弱弹簧是 Workbench 为了帮助用户而自动引入的一种数值稳定工具。它的工作原理是:

  1. 自动添加:当 Workbench 检测到你的模型可能存在刚体 位移(即约束不足)时,它会自动在可能发生移动的方向上,在模型的某些节点处添加一系列刚度非常小的弹簧。

  2. 提供微小约束:这些弹簧的刚度(通常比模型本身的结构刚度小好几个数量级,例如 1e-5 量级)被故意设置得非常小,以至于它们对结构的实际应力、应变和变形结果的影响可以忽略不计

  3. “骗过”求解器:从数学上讲,这些微小的弹簧为刚度矩阵提供了必要的支撑,消除了奇异性,使得方程能够求解。它们就像一双看不见的、非常柔软的手,轻轻地扶住了快要倒下的结构,让它保持“静止”,从而让计算能够进行下去。

3. 弱弹簧的“两面性”

弱弹簧是一个强大的工具,但也需要谨慎对待。

积极的一面(为什么需要它):

  • 解决收敛问题:它是处理因轻微约束不足而导致求解失败的最快捷、最有效的方法之一。

  • 模拟真实物理情况:在某些情况下,结构可能确实是由非常柔软的结构支撑的(例如,一个设备放在柔软的橡胶垫上)。此时,弱弹簧可以很好地模拟这种柔性边界条件。

  • 用户友好:Workbench 会自动判断并在需要时添加,省去了用户手动添加约束的麻烦。

需要注意的一面(潜在的风险):

  • 掩盖建模错误这是最重要的一点! 弱弹簧的自动添加可能会掩盖你模型中真正的约束缺失错误。例如,你忘记施加了一个重要的固定约束,但弱弹簧让计算“成功”了,导致你得到了一个看似合理但实际上完全错误的结果。

  • 结果失真:如果弱弹簧的刚度不是足够“弱”,或者它被添加在了错误的位置,它可能会显著影响结果的准确性,特别是对模态分析(固有频率)和屈曲分析。

  • 判断依据:你需要学会判断,弱弹簧是为了平衡数值误差,还是为了平衡一个真实的、但被你忽略的力。


4. 如何查看和管理弱弹簧?

在 Workbench 中,你可以通过以下方式查看和管理弱弹簧:

  1. 在求解阶段查看

    • 在 Solution 分支下,选择 Insert -> Deformation -> Spring Force

    • 求解后,可以绘制弹簧力云图。一个健康的、使用弱弹簧的分析,其弹簧力应该非常小(通常远小于模型中的主要载荷)。如果某个弹簧的力很大,说明它不是在平衡数值误差,而是在平衡一个真实的力或力矩,这意味着你的约束可能有问题。

  2. 在分析设置中管理

    • 在 Analysis Settings 的详细列表中,有一个选项叫 Weak Springs

    • Program Controlled (默认):让 Workbench 自动决定是否添加。

    • On :强制打开。

    • Off :强制关闭。如果你确信模型约束充分,可以选择此项。


总结与实践建议

  1. 首要任务:检查模型约束
    当看到弱弹簧被激活时,你的第一反应不应该是“太好了,问题解决了”,而应该是“我的模型约束是否完全正确?” 仔细检查每一个接触、每一个边界条件,确保没有自由度过剩或缺失。

  2. 利用弹簧力进行验证
    务必在后处理中插入 Spring Force,检查其大小。如果弹簧力与你的外载荷在同一数量级甚至更大,那么你的约束设置几乎肯定是有问题的,需要回去修改模型。

  3. 理解其工作原理
    把弱弹簧理解为一种“数值脚手架”,它只在计算过程中起作用,以保证数学求解的稳定性,而不应对实际的物理结果产生显著影响。

  4. 默认使用“强制关闭”
    有经验,并且确定模型约束无误,不建议打开弱弹簧。如果不知道就让程序自动控制通常是安全的选择。

  5. 有条件对标的话,还是建议对标测试。



Combin14

1. 核心定义

COMBIN14 是一个 一维、两节点的弹簧-阻尼器单元

  • 弹簧功能:它可以模拟线性(理想)弹簧行为,力与位移成正比(F = K * Δx)。

  • 阻尼器功能:它也可以模拟线性阻尼器行为,力与速度成正比(F = C * V)。

  • 组合功能:它可以同时定义刚度和阻尼系数,从而模拟一个弹簧-阻尼器组合件。

简单来说,COMBIN14 就是用来模拟现实中那些具有“弹性”和“耗能”特性的部件的有限元模型

COMBIN14 与 Workbench 中“弱弹簧”的区别与联系

COMBIN14 是 ANSYS 经典界面中一个功能强大且灵活的 弹簧-阻尼器单元,用于模拟各种物理上的弹性连接和能量耗散。它是用户主动、显式使用的建模工具。

而在 Workbench 中,虽然你不直接面对 COMBIN14 这个名称,但当你需要定义弹簧时,可以通过 Spring 或 Bearing 等连接工具来实现,其底层可能就是类似的单元类型。而 Workbench 自动使用的“弱弹簧”,则可以看作是一种为了数值稳定而特殊应用的、极小刚度的 COMBIN14 弹簧。


网络整理,仅限内部分享,禁止商用


来源:机电君
ACTMechanicalWorkbenchDeform静力学ADS理论控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-05
最近编辑:8月前
ErNan.Chen🍃
硕士 | CAE工程师 即物而穷其理
获赞 50粉丝 101文章 114课程 0
点赞
收藏
作者推荐

RECURDYN-后处理操作案例学习

Recurdyn/plot提供了仿真计算的结果后处理功能,通过后处理可以更好地查看各个模块的仿真结果,可以将结果转化为动画、表格形式,从而更准确的数据进行观察和分析。本次学习笔记就用一个案例来一起进行后处理的流程操作1.新建模型-命名-设置单位制-对重力加速度方向指定2. 导入模型(*.X_T),同时设置工作平面栅格高度和宽度(20mm) 这里我的方式是全选,直接导入(采用24版本) 如果你分别导入的话,取消Aseemly Hierarchy之前的勾选的话,就会以个体零件的方式导入(大家可以尝试);如果勾选Aseemly Hierarchy的话,下面有两个方式,Body会直接多个零件整合成一个Body;Subsystem会在下方生成一个零件子系统(暂时不不知道应用场景) 本案例建议以下三种方式中任意一种: ü 全选,直接导入 ü 取消勾选Aseemly Hierarchy ü 勾选Aseemly Hierarchy-Body 导入之后结果如下图所示: 3.Merge零件 本案例中其实是分为三个Body如果上文导入时候你选择的是Body,本身就已经Merge过了;但是如果你跟机电君一样的话,就来采用Merge功能,进行多体的合并Home-Tools-Merge Body。如下图所示,分为3个Body,参考之前的学习教程同时有些人认为这里的坐标系图标有点大,依照下图,可以将Icon Siza设置小一点。 4.创建另一个叶片这里选择叶片,Ctrl+C然后Ctrl+V,会发现在移动了一个栅格的位置复 制到了另一个叶片;如果你想在原位置复 制一个,Home-Setting-General-不勾选shift when Pasting。 移动叶片,这里直接旋转180度先选择需要旋转的叶片,然后选择移动功能,转到旋转页面,设置度数180,Z方向,点OK 5.创建连接副主要创建三个副: ü 叶片和螺旋桨之间的铰接副 ü Hub和Engin之间的圆柱副 ü Engin的固定副 铰接-旋转副-Professional-Joint-General-Revolute-(Body,Body,Point) 先选Hub再选Balde1-(-5,-31,6);注:此处坐标系直接输入,不需要括号 重复Hub再选Balde2-(-5,31,6);圆柱副-Professional-Joint-General-Cylindrial-(Body,Body,Point,Direction) 先选Engineb再选Hub-(0,0,-40)-回车-选Z轴方向(此处方向选择也可以输入矢量:0,0,1 固定副- Professional-Joint-General-Fixed-(Body,Body,Point) 先选大地再选Engine-(0,0,120) 结果如下图所示: 6.定义运动:此处定义叶片从0.1S开始以恒定角加速度10*pi运动选择圆柱副-勾选include Rotational Motin-点击Rotatinal Motion。选择加速度-选择EL定义函数-Create-输入-if(time-0.1:0,0,10*pi)Ok-ok-ok 7.定义约束定义弹簧力-定义Hub轴向弹簧力,防止其轴向窜动Professional-Force-Spring-(Body,Body,Point,Point)先选Hub再选Engine-(0,0,-80)-(0,0,-40)定义弹簧力-定义叶片根部的弹性转动约束力rofessional-Force-Rot.Spring-Joint先选RevJoint1,重复再选RevJoint2;此处重复操作,可以采用快捷键A,或者自动操作按钮。 8.模型预分析预分析目的就是找出其多余的约束,可以参看前文,如果有多余约束,将会造成有些自己想象中的受力无法输出,这里请参看之前的文章;Analysis-Simulation Type-Pre Analysis,为了输出状态矩阵-勾选Include State Matrix(机电君这里没有输出,不知为啥,估计软件Bug)点击-Simulate。结果在信息窗口会显示是否存在冗余约束,并且在信息窗口右键,可以查看其他相关信息。 9.动力学/运动学分析及后处理Analysis-Simulation Type-Dynamic/Kinematic Analysis设置仿真时间2s,仿真步数200,定义数据采样点个数5,开始Simulate。 9.1 动画查看和保存查看动画:Analysis-Animation Control -点击播放,动起来了,恭喜 默认情况下,力不会显示,打开方式:点击Spring1属性-Force Display-Action-再次播放-显示出来了(是数值显示,看不到的话线框模式或者换换颜色) 动画录制输出:*.MP4格式(24版,其他版本好像有*.avi格式)录像机设置一般默认Standard Camera,即当前工作平面显示动画Following Camera 以某个参考点作为观察点视角的动画Riding Camera 一某个参考点的某个坐标轴作为观察视角显示动画动画空置设置,勾选User Defined Animation可以定义,起始帧数,结束帧数、间隔步、重复次数、动画中Marker点的显示状态以及播放速度的快慢。 录制按钮设置录制信息 是否显示重力、分辨率、录制的界面大小 9.2 使用Scope观察叶片根部转角变化 Analisis-Scope-Entity-将要查看的旋转副拖入导航框 9.3 创建输出请求SubEntity-Expression-Request选择Type-Displacement-拖拽Spring1的两个Marker点作为Action Marker 和Base Marker,ok。重新提交仿真后,输出请求结果就会出现在后处理数据窗口中。 9.4 修改弹簧刚度阻尼选择弹簧力-属性设置 再次计算设置Analysis-Simulation Type-Dynamic/Kinematic Analysis-parameter,查看刚才设置的scope,发现叶片发生了20度的转动,在整个过程中出现了震荡。当然点击动画也能看出来。 9.5 后处理Plot点击Plot-result,选择数据框中的RevJoint1前面“+“,展开 双击”Pos1_Relative“绘制出”Blade“的偏转角线,通用绘制出RevJoint2的Pos1_Relative。 有人会发现为什么我这是两个坐标系,原因就在于下一张图中的选项设置。 有人会发现两个线一正一负不好比较,要是能调转一条线就好了,这就整 Tool-Myth-选择Scal:alpha*F1-选择一条线-Y数值*-1-ok。 9.6 其他动作 载入动画 Home-Tool-Load Animation 多结果对比ü Home-Import-Importfile-选同一模型的不同结果-Ctrl+Shift+双击需要对比的数据 ü 将某次的结果数据导出-右击-Export Data,然后新的结果中给导入 9.7 特征值分析及结果后处理Analysis-Simulation Type-Eigenvalue Analysis计算完成之后信息窗口就会出现特征值分析结果,或者右击Open Output File。 通过Eigen Value Animation中设置模态阶数,来看各阶模态的振型 9.8 时域内特征值分析及结果处理进行系统时域内的特征值分析,可以获得系统在一个时间过程中各阶振动随时间变化的情况。Analysis-Simulation Type-Dynamic/kinematic Analysis设置仿真时间3s,选中 特征值分析,特征值分析设置无阻尼 结果查看无阻尼的三阶模态,以及圆柱副的转速曲线,发现系统各阶模态随时间是变化的,系统在时域中进行特征值分析的时候特征值分析结果保存在*.FRQ文件中。 9.9 脚本分析 Analysis-Simulation Type-Dynamic/Kinematic Analysis(关闭特征值分析,此次分析不进行) 9.9.1 简单脚本仿真1 Analysis-Simulation Type-Scenario Analysis 设置分析类型-Dynamic,分析时间2s,设置分析步200,点击load生成计算脚本,点击Start Simulation,计算结果与之前相同。 9.9.2 简单脚本仿真2分析此模型在1s时候弹簧突然失效,系统的运动过程。 create分析类型-Dynamic,分析时间1s,设置分析步100,点击Load生成计算脚本 再次点击Create,选择失效模型 ,拖选第一个弹簧力,Load 再次点击Create,分析类型-Dynamic,分析时间1s,设置分析步100,点击load生成计算脚本 点击-Start Simulation 仿真结束,点击plot,图形窗口中分别绘制扭转弹簧 扭矩TM_RSDA-RotationalSpring1 偏转角曲线RevJoint1-Pos1_Relative 以上就是基本的后处理过程,希望对大家的学习也有会有所帮助。来源:机电君

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈