双稳态折纸立方体这种东西,玩实物的时候最直观的感受就是那两个“咔嗒”停靠点:摊开来是方方正正的立方体,沿着折痕一压,哗啦一下就塌成另一形态,中间总有一股明显的“别扭感”要翻过去。很多人第一次摸到都会问一句:“它为什么能停住?为什么到中间要使劲?”——这正是双稳态结构的力学本质:系统势能曲线存在两个极小值点,中间隔着一个能量高峰,外力得先把结构“推过”那个峰,才能让它自己滑进另一个阱。
但手上把玩归把玩,真正要用于产品设计、机构验证、或是判断这个东西能不能可靠工作上万次时,靠手感就不够了。你需要知道折叠到底需要多大的驱动力、哪片板材在哪个瞬间应力最大、如果能垒选得太高会不会导致折叠机构卡死——这些问题的标准答案,都是在ABAQUS里把折叠过程完整跑一遍之后才拿得到的。
这篇文章就按我实际做项目的顺序,把ABAQUS模拟双稳态折纸立方体的完整思路讲清楚:从双稳态的力学本质、建模前的关键决定,到参数取值、后处理判据,再到动真格时踩过的坑。适合正在做可展结构、折纸机器人、柔性机构仿真的研究生和工程师,也适合想把“多稳态机构”用有限元讲清楚的初学者。本文不会贴特别复杂的公式,重点放在怎么把这些概念翻译成ABAQUS里的具体操作。
1. 双稳态折纸立方体的力学本质:能量曲线才是主角
很多人一上来就在ABAQUS里画几何体、分网格,结果跑出来一坨东西既不像折叠也不像展开,根本不知道问题出在哪。我建议第一步先别碰软件,把双稳态的力学模型在脑子里立起来,因为后面所有参数设置本质上都是在复现这张能量曲线。
1.1 两个凹坑之间的翻越:用势能曲线理解“咔嗒”感
把整个折纸立方体看作一个力学系统,它的状态可以用一个广义坐标来描述,最常用的就是“折叠角”——也就是立方体某一对相邻面板之间的夹角。当这个角度从180°(完全展开的立方体)变化到接近0°(完全折叠收拢)时,系统的总势能不会单调上升或下降,而是呈现一条W形的双凹曲线。
展开状态和折叠收拢状态分别对应曲线上的两个极小值点,所以结构能稳定停在那个位置。而两者之间必然存在一个局部极大值点,对应折叠角约在四五十度附近的位置,这个点就是能量壁垒,也叫能垒。折叠时手感觉到的那股“别扭感”,实际上就是你通过外力做功,把系统从第一个势能阱里拉出来、推上山头、再放它滚进第二个势能阱。
这个模型虽然简单,但直接回答了三个核心问题:
- 能垒的高度决定了折叠需要的峰值驱动力,能垒越高越难折,但一旦折过去就越不容易自己弹回来。
- 两个阱的深浅差异决定了哪个状态更“占优”,如果展开态的阱明显更深,长期存放时结构倾向于摊开。
- 峰值附近曲线的斜率决定了你推到最后一下的时候,是“突然自己冲进去”还是“还要顶住慢慢压进去”,这就是手感来源。
1.2 为什么偏偏是折纸结构最容易做出双稳态
不是所有多稳态结构都好做,但折纸结构天生适合,原因在于它把变形集中到了折痕上。面板可以近似看作刚体,所有弯曲变形都发生在狭窄的折痕区域,这使得总势能的主要贡献是折痕的弯曲能,而面板自身的拉伸能和弯曲能几乎可以忽略。
也正因为面板近似刚体,我们可以放心地用壳单元来模拟,网格也不用做得特别细。更关键的一点是:折纸结构的几何非线性极其强烈。折叠过程中面板会发生大幅转动和位移,相邻面板之间还会发生自接触——这些恰恰是ABAQUS这类大变形非线性求解器最擅长的场景。
拿折纸立方体来说,它比单条折痕的折叠复杂得多,因为多个折痕的弯曲是联动的,折叠路径不是唯一确定的。同一个立方体,可能从这组折痕先折,也可能从另一组先折,不同的折痕变形顺序会导致完全不同的受力情况。仿真里如果不做任何路径约束,静力学求解经常会在这类分支点附近徘徊不定,这也是为什么后面我要建议用显式动力学来跑。
1.3 仿真到底要回答哪几个问题
明确了能量曲线的概念之后,我每次做这种仿真都会在项目开始前把“要回答的问题”列成清单。这不是为了写文档,而是为了决定后处理看什么:
- 极限驱动力:折叠过程中载荷-位移曲线的峰值对应的力是多少?这直接决定电机、气缸或手动机构的选型。
- 稳态保持力:在两个稳态位置,结构抵抗外界扰动的刚度有多大?如果保持力太弱,稍微一颠簸结构就会自己跳状态。
- 应力集中位置:折痕根部或面板圆角处的峰值Mises应力有没有超过材料屈服点?折纸机构的失效几乎都发生在折痕附近,见过太多次仿真里明明峰过了、结果折痕区应力已经远超材料极限的情况。
- 折叠路径稳定性:如果初始条件有微小偏差,结构是沿着设计路径走,还是会扭成一个不对称的畸形状态?
这些问题在ABAQUS里都可以得到定量回答,但前提是建模方式选对了。
2. 建模前的四个决定:折痕处理、单元类型、单位制和求解器
有了力学模型,接下来落地到ABAQUS。这一步有四个关键决定,每一个都会直接影响仿真成败。我建议在打开CAE之前就全部想好,不然改起来非常痛苦。
2.1 折痕建模:这是整个仿真的灵魂
折痕是双稳态折纸结构里变形最集中的地方,模拟得好不好,几乎决定了整个仿真可信不可信。ABAQUS里做折痕主要有三种方案,我放在一起对比:
| 方案 | 做法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 连续薄带法 | 把折痕区域划分出一个窄条,降低其弹性模量或厚度 | 变形连续、接触自然、应力结果直观 | 网格需要足够细分,计算量增加 | 关心折痕局部应力、需要把实物压痕对应的刚度退化考虑进来时 |
| 连接器铰链法 | 在面板间建立HINGE连接器,定义扭转刚度曲线 | 计算稳定、参数直接对应折痕弯矩-角度关系 | 无法得到折痕区域的应力分布,建模略繁琐 | 只关心整体机构行为、不关心折痕应力时 |
| 薄壳带法 | 折痕用非常薄的壳单元处理,面板用实体 | 精度较高 | 不同类型的单元连接麻烦 | 折痕区域厚度变化明显、面板很厚时 |
我绝大多数项目用的是连续薄带法。原因是折纸机构的失败往往发生在折痕区域,如果折痕只是铰链连接器,应力集中信息就全丢了。具体做法是:面板厚度0.2mm,折痕区同样厚度但降低弹性模量到面板的1/30左右——这模拟的是实物中压痕或折线预处理造成的刚度退化,同时也让变形自然地集中在折痕区。折痕的宽度通常取0.5mm到1mm,取决于实际折痕的压痕宽度。
提示:折痕区如果太窄,网格尺寸必须跟着缩小,否则计算量会爆炸。一个40mm的立方体,折痕宽度0.5mm,网格至少要在宽度方向剖两三个单元,全局网格尺寸4mm的前提下,折痕区网格要细化到0.25mm左右。
2.2 单元类型:用S4R,但别迷信S4R
折纸结构用壳单元是公认的标准做法,首选S4R减缩积分壳元。它在面内变形不剧烈的情况下效率极高,自带沙漏控制。但要注意两个坑:
第一,减缩积分单元在发生面内严重翘曲或单元被压扁时容易出现沙漏模式——即单元看起来有变形,实际上没有应变能。折纸折叠过程中,单元的大转动很常见,所以Section Controls里一定要打开增强沙漏控制,并且在后处理里检查沙漏能ALLAE占总内能的比例。
第二,面板与折痕的单元尺寸最好不要差太多。如果面板区4mm、折痕区0.25mm,两侧的过渡区网格会非常难看,还会产生不规则的翘曲单元。我的习惯是把折痕两侧向外扩展一小段过渡区,让网格尺寸从0.25mm渐变到4mm,既保证精度又控制计算量。
用一个40mm见方、折痕宽0.5mm的立方体来说,全局网格4mm,折痕区0.25mm,总单元数通常在5000到12000之间,这是很舒适的规模,普通工作站几分钟就能跑完一折。
2.3 单位制陷阱:比热容、导热率和热膨胀系数的单位,查一次少走一星期弯路
ABAQUS没有内置单位制,你输入什么数字,它就按什么单位算。新手在这上面吃亏的太多了。最常用的两种自洽单位制是:
- SI制:长度m、质量kg、时间s、力N、应力Pa
- mm制:长度mm、质量tonne(吨)、时间s、力N、应力MPa
在mm制下,密度的单位是tonne/mm³。比如PET材料密度1.38×10³ kg/m³,换算成mm制就是1.38×10⁻⁹ tonne/mm³,别写成1.38×10⁻⁶ kg/mm³,那差了整整1000倍。
很多做热-力耦合的人问过ABAQUS里比热容、导热率、热膨胀系数到底用啥单位。答案其实一句话:跟长度单位保持自洽就行。具体查起来是这样:
| 物理量 | SI制(m-kg-s) | mm制(mm-tonne-s) | 说明 |
|---|---|---|---|
| 比热容 | J/(kg·K) | J/(tonne·K) | 数值上比SI制大1000倍 |
| 导热率 | W/(m·K) | W/(mm·K) | 用灵敏单位时要换算,不要直接抄 |
| 热膨胀系数 | 1/K | 1/K | 无量纲比值,两种制下数值相同 |
用钢材在mm制下举例:比热容约4.6×10² J/(kg·K),在ABAQUS mm制里要填4.6×10⁵ J/(tonne·K);导热率约45 W/(m·K),在mm制里要填4.5×10⁻² W/(mm·K)。折纸模拟本身一般不做热分析,但如果你的工况涉及热定型、热压工艺,单位没换算对,算出来的温度场整个都是错的。
2.4 求解器:用Explicit还是Standard
这是做折纸仿真必问的问题。折叠过程要克服能垒,本质上要经历一个由稳定到失稳再到稳定的不稳定阶段,隐式求解在失稳点附近会遇到刚度矩阵奇异,收敛非常困难。我的经验是:
- Explicit显式动力学:跑折叠过程的首选。它不做隐式迭代,天然能通过失稳点,处理自接触也远比Standard鲁棒。代价是必须检查准静态性——折叠速度不能太快,动能不能占主导。做准静态判断的核心指标就是动能与内能之比,后面细说。
- Standard隐式:适合分别提取两个稳态附近的刚度特性和应力场,但不适合直接跨过能垒。如果必须用Standard跨峰,得开自动稳定(Automatic Stabilization)或者一点点加阻尼,非常折磨。
所以我的推荐路线是:用Explicit跑完整折叠-展开循环,拿到关键载荷-位移曲线;再用Standard单独算两个稳态点,做精确的模态和刚度校核。大多数项目其实只跑Explicit就够了。
3. 折叠仿真的实际参数怎么定:以40mm立方体为例
理论讲完了,这部分是我实际建摸时的具体参数取值。每个数值都有出处,不是随手填的,我会写清背后的理由。
3.1 几何与网格划分:把折痕分区清清爽爽地剖出来
在CAE里导入立方体几何后,第一件事就是把每个面板的折痕区域partition出来。以40mm的立方体为例,每个面是40×40的正方形面板,每个面板的四条边各有一条0.5mm宽的折痕带,相邻面板共享同一条折痕带。这样整个立方体就分成了:24块面板区+若干条折痕区,再加上折痕向面板内的过渡区。
分区的意义是让不同区域能分配不同的材料属性。面板区用PET全刚度,折痕区用折痕刚度,这就避免了用tie去连接不同材料的部件——整块几何用同一个part,再按区域分配截面属性,接触和网格都干净很多。
网格划分的时候我建议这么处理:全局种子4mm,折痕区种子0.25mm,过渡区让ABAQUS自动渐变。单元类型S4R,Section Controls里开启增强沙漏控制。壳厚方向默认5个积分点就够了,因为面板主要是弯曲变形,不是接触挤压。
前一版有个项目图省事,直接把折痕区也划成4mm网格,结果折痕方向的弯曲刚度被严重高估,折叠力算出来比实测大了近3倍。这个案例很典型:折痕宽度0.5mm却只用4mm的单元去表达,相当于把0.5mm宽的柔性铰链糊成一整片4mm宽的软板,能垒当然整体漂移。
3.2 材料与接触:PET面板、折痕退化参数和自接触
材料参数按PET聚酯薄膜来设置,这是折纸原型最常见的材料。面板区直接给PET弹性参数。折痕区的折纸刚度,我一般按面板弹性模量的1/30到1/50来取,前提是实物折痕真的做过压痕处理。如果只是光板直接折,折痕刚度可能和面板只差3到5倍,那就不是折纸了,是硬掰塑料板。
材料卡用inp片段来说明最直观:
** 面板区材料 *Material, name=PET_Panel *Density 1.38e-9 *Elastic 3000.0, 0.36 ** 折痕区材料 *Material, name=PET_Crease *Density 1.38e-9 *Elastic 100.0, 0.36接触设置是整个仿真里最容易被低估的一步。折纸折叠到后半程,必然出现面板压到面板、面板压到折痕的情况,所以接触必须包含自接触。我的标准配置是:
*Contact *Contact Inclusions, ALL EXTERIOR, SELF *Contact Property Assignment, , , FOLD_CONTACT ** 接触属性 *Surface Interaction, name=FOLD_CONTACT *Friction 0.15 *Surface Behavior, pressure-overclosure=HARD摩擦系数取0.15是为了模拟PET表面光滑的自润滑特性。如果你做的是纸张材料,摩擦系数起码给到0.3以上,纸张的接触行为对摩擦非常敏感。如果模拟结果中折叠力偏高,先别急着怀疑材料刚度,先想想摩擦是不是给大了。
3.3 边界条件、加载方式与分析步设置:别“手捏”,要“机压”
边界条件的设计直接决定结果可重复性。用手捏的加载方式是无法在仿真里稳定复现的,因为手指接触面、施力方向、捏的先后顺序都有高度不确定性,仿真的结果就会带上一堆你自己都没意识到的边界噪声。
我推荐的做法是:在立方体底面的某个稳定接触面上创建一个刚性平板,约束刚性平板的所有自由度,让立方体底面刚好架在上面。顶面再建一个刚性平板作为加载板,通过参考点施加位移载荷。这样加载过程是平面对平面的匀质压入,几何对称性和接触稳定性都极好,后处理提取支反力也简单。
加载的幅值曲线用Smooth Step(ABAQUS自带的光滑阶跃幅值),在一个分析步内平滑地增加位移,避免启动时刻的冲击载荷。分析步时长我给0.03秒左右,网格0.25mm时Explicit稳定时间增量大约是1e-8秒量级,加固定质量缩放把目标增量控制在1e-7到2e-7秒,整个折叠过程计算量是可控的。
smooth step幅值、0.03秒的分析步长、固定质量缩放——这三个搭配对我的40mm模型来说,折叠力曲线平稳无震荡。如果你发现自己的模型在载荷加载初期出现高频振荡,往往就是幅值曲线太陡、加载时间太短,把0.03秒改成0.1秒重跑一次对比一下,通常能直接消除振荡。
4. 后处理判据:不是变形好看就叫双稳态
跑完计算只是第一步,怎么从海量的输出数据里判断“这个模型到底是不是合格的双稳态结构”,是需要一套明确判据的。只看变形动画是远远不够的,我见过太多人拿着一个看起来很丝滑的折叠动画就宣布仿真成功,但能量曲线一拉出来全是一毛一样的单阱结构——那根本就不是双稳态。
4.1 能量校验:先查动能,再谈准静态
Explicit算出来的结果要可信,前提是整个过程接近准静态。怎么判断?看能量历史曲线。在历史变量输出里,把ALLIE(内能)、ALLKE(动能)、ALLSE(应变能)和ALLAE(沙漏能)全部输出:
*Output, history, frequency=100 *Energy Output ALLIE, ALLKE, ALLSE, ALLAE, ETOTAL判断标准有两条:
- ALLKE(动能)要远小于ALLIE(内能)。业界常用的经验阈值是动能占内能的5%以下。动能占比超过10%,说明惯性力已经在主导折叠过程,折叠速度太快,算出来的载荷峰值会明显偏大。
- ALLAE(沙漏能)占ALLIE的比例应低于5%。沙漏能过高说明网格里的零能模式在主导变形,结果已经没有物理意义了。
如果检查出动能偏高,降低加载速度或者减弱质量缩放重跑一遍即可。如果沙漏能偏高,回到Section Controls里增强沙漏刚度,或者把折痕区网格再细化。
4.2 载荷-位移曲线:能垒高度和负刚度段才是核心证据
能量检查通过后,接下来是提取载荷-位移曲线。在加载板参考点上输出反力(RF)和位移(U),画出来的RF-U曲线就是整个双稳态行为的核心证据。
双稳态的RF-U曲线应包含以下特征:
- 曲线从零开始,力随位移上升,到达第一个峰值。这个峰值就是你克服能垒需要的力,对应手感的“最难推的那一下”。
- 峰值之后曲线应有一段负刚度区,力随位移增大而下降,甚至变成负值。负刚度意味着结构过了失稳点后不再需要外力驱动,自己在“往阱里滚”。这段负刚度区就是“咔嗒”感的数学表达。
- 到达第二稳态后,力重新回到零点附近。这时候结构已经停进第二个势能阱,不需要外力维持稳定。
- 如果总势能两个阱相等,RF-U曲线正反两个方向的峰值和过零位置几乎对称;如果不对称,说明两个稳态一个更稳一个较亚稳,长期存放会倾向于停在深阱侧。
我每次都会把峰值力和峰位角标出来,最大峰值力直接拿去做驱动机构选型——这是我做双稳态折纸仿真最实用的一步。
4.3 应力与变形:折痕区的Mises应力不能超过材料极限
能量曲线和载荷曲线都符合预期后,最后看应力场。双稳态折纸的应力极值几乎总是出现在折痕区,尤其是折痕与面板交界的地方。折叠过程中,折痕内半径一侧会出现明显压应力集中,外半径一侧出现拉应力集中。
PET的屈服强度大约在50到70MPa,断裂延伸率很高。如果仿真结果显示折痕区的Mises应力远超这个范围,说明单纯的弹性模拟已经不足以描述真实行为了,需要考虑材料的塑性项,或者修改折痕宽度、面板厚度等几何参数,让变形更分散。
另一个常被忽略的点是应力云的对称性。理想对称折叠时,立方体的应力云图在相同结构位置上应呈现对称分布。如果左右两侧应力分布明显不对称,而模型本身是对称的,说明加载路径或者初始接触产生了非对称扰动。这时候要想清楚:这是仿真自身的数值缺陷,还是实物中真实存在的制造公差敏感性。后者在设计中反而更有价值。
5. 排障与落地:那些让折叠卡死、错乱、和实物对不上的坑
最后这部分,是真正动手以后才会暴露出来的问题。每个问题我都标注了典型的判断标志和排查方法,你可以直接拿去做排除索引。
5.1 隐式求解跑不动:先想想是不是换Explicit
折纸结构用Standard计算,最容易看到的现象就是时间增量步一减再减,最后停在一个极小的时间步长上原地颤抖。底层原因是系统刚度过零或者变负——也就是结构进入了失稳段。ABAQUS报错信息里高频出现的“负特征值”警告,通常就是这个阶段产生的。
遇到这种情况,第一反应不要想着再怎么调网格、调阻尼,先想想这一步的物理过程本来就包含失稳—重稳。失稳点附近隐式求解失败是“正确地反映了物理过程”,不是你设错了参数。正确做法是切换到Explicit,用显式时间积分走过这段失稳区。
当然,Explicit也有自己的翻车方式:质量缩放设置过大,导致惯性影响显著,折叠过程变成慢动作撞击测试;接触定义遗漏自接触,导致面板互相穿透却发现不了。
5.2 穿透、穿透、还是穿透
折叠到中后期,大量的面板会相互贴近。最常见的问题就是折叠闭合瞬态,两片面板相互穿越,看起来像科幻片里的穿模效果。这可能由几个原因导致:
- 接触定义里没有包含自接触,或接触对只覆盖了外表面(EXTERIOR)而没有选中所有可能出现接触的面。
- 壳单元的厚度方向相反,导致ABAQUS不知道面板的“哪一面”是外面。这时候最简单的方法是进Mesh模块,检查法向指向,把面板外法向统一朝外。
- 接触刚度设置过低(罚接触太软),导致允许的穿透量过大。对于这种薄壁结构,接触的罚刚度可以适当提高,只要不发散就行。
排查时最容易漏掉的是“初始穿透”,即模型初始状态就有单元互相嵌入。在Interactions模块里运行Interference Check,先把初始穿透清零,否则后续折叠过程会从错误的位置开始。
5.3 从仿真“过拟合”回到实物可靠性的最后一公里
仿真和实物对不上,几乎每个做折纸机构的人都经历过。我的经验是,偏差来源通常集中在三个地方:
一是折痕刚度的标定偏差。仿真里折痕区给的是一个折减后的弹性模量,但实物折痕由压痕深度、板材厚度、材料韧性共同决定。更可靠的做法是做一个简单的单折痕实验:用万能试验机给一条单独的折痕做弯折加载,测出弯矩-角度曲线,把这条曲线作为折痕区的非线性材料属性(或者连接器属性)反填进模型。这样一整套流程跑下来,驱动力预测误差能压到15%以内。
二是摩擦系数的“虚高”。仿真里默认一个0.15或0.3的恒定摩擦系数,但实际折叠过程中接触面会发生相对滑移甚至微黏着,摩擦系数并不是恒定常数。折叠力偏大时,第一嫌疑就是摩擦力。对比实测值,把摩擦系数往低修正,通常能拉回差距。
三是温度与时间效应。PET这类材料有粘弹性,快折和慢折的力-位移曲线有明显差异。如果产品实际使用是慢慢压过去的,0.03秒级的Explicit分析结果会高估峰值力。此时可以跑两个不同加载速度做对照,看峰值力是否稳定;如果差异过大,就得考虑引入粘弹性本构来做速度敏感性评估。
我自己的项目流程一般是:先用统一参数的Explicit模型跑通折叠-展开循环→做能量和载荷判断→立刻做一个最小化的实物样机,测单条折痕和整机折叠力→拿实测数据反过来校核折痕刚度与摩擦系数→用修正模型做最终的驱动机构和疲劳估算。这一圈下来,仿真的价值才算真正兑现。
双稳态折纸立方体的麻烦之处在于,它的性能几乎完全由折痕区和接触行为支配,这两个恰恰都是有限元里最考验经验的地方。但反过来说,一旦你用能量曲线、载荷-位移曲线和应力分布这把尺子把整个折叠过程量出来,这个结构的性能边界就非常清楚了——能垒多高、驱动力多大、哪里最脆弱、多久会疲劳,全在数据里,不在手感里。