☰
空间飞网双向折叠与展开的ABAQUS有限元仿真全流程解析
2026/10/4 8:45:12 网站建设 项目流程

做空间飞网捕获的有限元仿真,我最想跟同行强调的一件事就是:别把折叠当成一个“预处理”随便糊弄过去。飞网在发射前是被人为压成紧凑折叠包的,这个压缩过程会在每根绳段里留下真实的预应力、摩擦滑移痕迹和局部变形,甚至在某些弯曲半径过小的位置产生塑性应变。到了展开阶段,这些“折叠记忆”会直接决定网面能否顺利张开、展开轨迹稳不稳定。所以完整的模拟链路应当是:初始展开态 → 沿两个方向折叠到折叠态 → 再从折叠态出发模拟展开。这篇文章把这条链路在ABAQUS里的实现细节完整拆解一遍,重点讲清楚双向折叠怎么做、折叠结果怎么过渡到展开模拟、显式分析参数怎么调。不管是做空间碎片清除、柔性绳网捕获机构,还是研究大变形柔性索网结构,这条技术路线都能直接拿过去参考。

1. 为什么非要把“折叠”这一步做出来,不能直接假设一个折叠态

1.1 展开模拟的起点不该是一张“理想的网”

很多论文里的展开模拟,初始条件就是一张平铺好的飞网,四个角点给初速度,然后观察网面怎么飞出去。这样做不是不能算,但你细想一下就会发现一个硬伤:真实飞行器在轨状态下,飞网根本不在展开状态。抛射机构只能把收纳包里的折叠网弹射出去,网面在飞出去的前几百毫秒里,是从一个紧实的包裹逐渐张开的。如果在模拟里忽略这个起点,展开初期的应力分布、绳段接触位置、绳索之间的相对运动都会被严重错估。

折叠过程一旦缺失,展开模拟等于从错误的初始构型出发。像网面展开过程中的抖动、扑动甚至局部扭结,很多时候就是因为折叠阶段的绳段先后脱开造成的,这种历史效应你不可能靠“给一个理想折叠态”复现出来。

1.2 折叠留下的“物理痕迹”是后续分析的输入

折叠动作看起来只是几何压缩,但在数值上给飞网留下三样东西:

  • 绳段轴向应变:折叠角处弯曲半径小,外层绳的拉应变可能超过1%,内层受压。对尼龙这类高分子绳来说,1%以上的局部应变已经带来不可忽略的应力。
  • 摩擦滑移历史:绳段在接触面上相互滑过,摩擦消耗一部分动能,同时改变绳段的相对位置。这个历史状态会直接影响展开时绳索的初始排列。
  • 局部塑性与残余应力:如果弯曲半径过小,应力超过屈服点,局部会形成塑性铰。展开时该位置的刚度下降,网面形态会变得不对称,展开方向可能跑偏。

这三样东西,只有通过真实的折叠模拟才能带进后续的展开分析。这也是为什么很多项目评审要求“必须给出折叠过程的获取方式”的原因:展开可靠性评估不能建立在理想化假设上。

1.3 “沿两个方向折叠”到底在模拟什么

飞网的工程收纳方式一般叫“双向折叠”:先把一片网沿着一个方向像扇子一样折起来,再沿着垂直方向折一圈,最终得到一个紧凑的方形包。这个流程在地面装配阶段是标准操作,映射到数值模拟里就是“两个互相垂直的折轴依次折叠”。

为什么是两个方向而不是一个?因为单向折叠之后,网的形状是一长条,体积其实没收敛多少。只有双向折叠,才能把边长十几米的网面收敛到半米见方的收纳包,这个数量级上的几何收敛正是折叠模拟区别于普通构件加载的核心难点。

双向折叠带来的第二个问题是自接触规模。第一个方向折的时候,绳段之间的接触还相对简单;第二个方向一压,之前的折叠层叠在一起,接触数量成倍上升。这也是折叠模拟比展开模拟更容易发散的根本原因——后面所有建模和参数设置,本质上都在围绕“自接触稳定性”做文章。

2. 飞网有限元建模:从网目几何到T3D2单元的落地细节

2.1 网目几何建立:坐标生成与网格划分

空间飞网本质上是一张由柔性绳索交织而成的网格结构。在ABAQUS里建模,我习惯用Python脚本批量生成节点坐标,再按网目逻辑创建Wire单元。

举个例子:12m×12m的正方形飞网,网目边长0.2m,每个方向60个网格。节点坐标用嵌套循环生成,相邻节点之间用Wire连接,Part类型选3D Deformable,截面赋予Truss。要留意的是,真实飞网的网目排列有两种:一种是与边缘平行的正方形网格,另一种是菱形网格(整体旋转45°)。折叠时折痕方向和网目线的夹角会影响折叠形态,所以网格方向要按实际样机来定,不能随意切换。

写脚本时,节点坐标精度建议保留到1e-4m以上,否则后续大规模节点配对会因浮点误差找不到对应节点,白折腾半天。

2.2 为什么选T3D2,而不是B31或S4R

柔性绳索的力学本质是只传拉力、不传弯矩,这正是T3D2单元成立的前提。T3D2每个单元有两个节点、每个节点3个平动自由度,只有轴向刚度,所有载荷都沿单元轴线传递,没有弯曲和扭转自由度。

对比一下其他选择:

  • 用B31梁单元:单元自带弯曲刚度,结果会偏“硬”,绳索在折叠时的垂感和多段贴合状态会失真。
  • 用壳单元或实体单元模拟绳段:计算量陡增,接触问题也更剧烈,对整网规模完全不划算。

对飞网这种由大量绳索交织的系统,T3D2几乎是唯一合理的选择。它唯一的缺点是结果里看不到绳子的弯曲应力,但工程上我们关注的展开面积、绳段轴向力、节点位移,它都能给。

2.3 材料参数:从尼龙到Kevlar

飞网绳材,实验室里最常见的是尼龙和凯夫拉,两者的力学特性差异很大:

  • 尼龙:弹性模量约2.5GPa,密度约1140kg/m³,断裂延伸率高(15%~30%),耐冲击,适合做捕获网的主体。
  • 凯夫拉:弹性模量可到80GPa量级,密度约1440kg/m³,强度高但延伸率低(2%~4%),通常用在受力较大的支绳部分。

ABAQUS定义材料时,密度是显式分析的必需项,不要漏。弹性部分给E和ν。如果折叠过程预估会进入塑性,需要追加塑性段数据,用Mises塑性的话就是把真应力-塑性应变对输进去。

这里有个常见低级错误:ν取0.3没错,但一维单元其实不怎么依赖泊松比,别在这上面较真。真正决定轴向刚度的是横截面积。绳径2mm时,A=3.14e-6m²;绳径4mm时,A=1.256e-5m²。截面面积填错一两个数量级,整个折叠反力就全错了。

2.4 交叉点处理和网格密度

网目线在交叉点的处理方式有两种:

  1. 共节点:两根绳段在交叉点共享同一个节点,模拟“编织点固定”。绝大多数折叠-展开模拟用这个就够了。
  2. 独立节点加Connector单元:模拟可滑动的编织结,能更接近真实但建模复杂,只在研究绳结滑移时才需要。

网格密度方面,每个绳段建议至少1个单元。0.2m的绳段用1个单元,单元长度0.2m,对应的波速稳定时间步约1e-4s,几千个单元的模型算一个准静态折叠完全可接受。想局部加密当然可以,但要注意单元缩短会成比例压缩时间步,计算量上涨。

3. 展开态→折叠态:双向折叠的ABAQUS实施路径

3.1 全局策略:一个分析步别贪多

折叠模拟最大的坑,是试图在同一个Step里同时完成两个方向折叠、一步到位压到最终状态。这样做的直接后果是:第一个方向的折叠还没稳定,第二个方向的压板就上来了,接触状态混乱,应力残影严重,而且极其容易发散。

正确的策略是把双向折叠拆成多个分析步,每个分析步只做一件事:

  • Step 1(可选):预压,让网面与压板贴近,消除初始间隙。
  • Step 2:第一方向折叠,压板从X向两端向中间运动,压到设定位置,然后保持一段时间。
  • Step 3:第一方向保持稳定,第二方向折叠开始,压板从Y向两端向中间运动。
  • Step 4:二次保持固形,把折叠后的状态稳定下来,输出折叠态ODB。

每个Step的时间长度取决于压板速度和压缩距离。比如压板要移动0.5m,速度设0.2m/s,这个Step就要2.5s。显式分析直接算2.5s,步数确实多。工程上常见做法是把压板速度提到2~5m/s,前提是动能占比仍然低于5%(判断方法放到第5章)。

3.2 方案A:刚性压板压缩

压板用离散刚体或解析刚体都行,形状是平板,尺寸略大于飞网覆盖范围。飞网初始平铺在XY平面,压板分别从X方向和Y方向逐步靠近。

关键操作:

  • Part类型选Discrete Rigid,网格用R3D4壳单元;或者解析刚体,不需要划分网格,计算更便宜。
  • Assembly里把压板定位在飞网两侧。
  • 边界条件约束压板除移动方向以外的所有自由度。
  • 压板移动用位移边界条件加Smooth Step幅值,避免瞬间速度突变。

接触设置是重中之重:

  • 飞网用Edge-Based Surface定义,因为T3D2是一维线单元,默认没有厚度,接触面必须显式声明为“边”类型。
  • 接触域用General Contact,勾选All With Self,让网面内部绳段也能互相接触。
  • 接触属性里,法向用Hard,摩擦用罚函数,摩擦系数0.2~0.3。
  • 接触厚度必须设置:给一个与绳径相当的数值,比如绳径2mm,接触厚度设2.2mm。这一步不设,绳段之间就不会产生实际接触力,你会看到两根绳子像幽灵一样互相穿过,折叠结果完全没法看。

3.3 方案B:节点位移驱动折叠

如果压板接触调起来让你头疼,可以换一种思路:完全用节点位移控制。把飞网按折痕分成几个“叶片”区域,第一方向折叠时,把一侧叶片节点组向中间对称面移动,另一侧镜像移动;到位后加固定约束;等第一方向稳定,再对垂直方向的叶片做同样操作。

这个方法的优点在于接触不是主动驱动,网格穿透风险小;缺点是需要自己规划折痕处的节点运动,而且飞网是有网孔的,不像完整布料有明确的折痕线,节点位移法容易把网孔拉扯变形。它更适合前期方案比对或者快速验证,工程级的最终折叠构型,我还是推荐压板方案。

3.4 两步折叠的顺序安排与中间保持

折叠顺序上,先长边后短边比较符合真实收纳习惯。12m×12m的网,第一步压成12m×1.2m,第二步再压成1.2m×1.2m,体积膨胀比接近100倍,这是双向折叠的意义所在。

中间保持时间别太短,建议每个方向压到位后保持至少0.2s,让弹性势能和接触阻尼充分耗散。折叠速度控制在网内波速的0.1%~1%量级。尼龙绳波速约1480m/s,那一板速度1.5~15m/s都在范围里,但经验值我更推荐2~3m/s,配合Smooth Step幅值,动能控制比较稳。

4. 折叠态→展开态:状态继承和展开模拟的初始条件设置

4.1 用Import还是Restart

折叠模拟跑完,手里的产物是包含最后一步折叠态的ODB文件。要做展开模拟,有两条路线可以选择:

  • Restart重启动:在同一个模型基础上继续算。缺点是要在重启动里删掉压板、切换边界条件,接触对的调整很别扭,很容易把之前稳定的模型搅乱。
  • Import导入:在ABAQUS/CAE里新建一个Model,用Part→From Output Database从ODB导入最后一步的变形构型,同时勾选导入应力应变场。压板这些辅助体不导入,干干净净回到“只有飞网加边界条件”的状态。

实际操作里,我基本都走Import路线。导入变形构型后,新的Part坐标就是折叠态坐标。如果勾选了导入应力应变,单元积分点上的历史应力会被带到新模型——这是从折叠态开始展开模拟的第一步基石。

提醒一句:Import对单元历史变量(比如塑性应变)的支持有限。如果材料带塑性且折叠中塑性应变显著,更稳妥的做法是用Restart续算。只要你的展开阶段还处在弹性范围,Import完全够用。

4.2 展开初始条件:初速度、释放顺序、系留点

展开模拟的初始条件必须对应真实弹射机构。

飞网折叠包的四个角点与弹射装置相连,弹射瞬间给这些点施加初速度,之后解除约束。ABAQUS里的做法是:

  • 在导入后的模型里,找到折叠态下的四个角点节点集。
  • 在Explicit Step里,给这4个节点定义初始速度场(Predefined Field→Velocity)。
  • 速度方向沿抛射方向,通常是Z向。
  • 为了稳定,用极小时间长度(比如1e-3s)完成“加速段”,随后释放速度约束,让飞网在惯性作用下展开。

速度量级的估算来自弹射机构的能量换算,常见值在10~50m/s。速度给太高(比如超过100m/s),网面还没完全展开就已经内部撞击,结果会失真。

另外,导入模型后所有节点的残余速度或者应力还在,建议在第一个Step里让模型先“呼吸”0.1s,只保留较小的阻尼和边界约束,让残余应力重新平衡,再施加展开速度。这一步能明显减少展开初期的伪振荡。

4.3 展开阶段要提取的响应量

展开模拟的核心输出,我重点看这几项:

  • 网面展开面积时间历程:用节点坐标计算包络面积,这是判定展开成功与否的核心指标。
  • 四个角点位移轨迹:看是否存在交叉或缠绕趋势。
  • 绳段轴向应力最大值:判断是否有超出材料强度的位置。
  • 动能与内能曲线:展开初期动能高,网面逐渐张开后动能转化为结构振动内能。如果内能持续上升,说明网面展开受阻或者出现异常接触。

从折叠态展开和从理想展开态展开,最大区别就在这些输出曲线上:折叠态展开时,初期会有大量绳段间的小滑动和逐层脱离过程,曲线不那么光滑,但这才是真实响应。

5. 显式动力学调试:那些让折叠模拟不发散的关键参数

5.1 稳定时间步和质量缩放

ABAQUS/Explicit基于中心差分法,时间步必须小于稳定极限。对杆单元来说:

Δt ≈ L / c,其中 c = sqrt(E/ρ)

回到前面的例子:E=2.5GPa,ρ=1140kg/m³,波速c≈1481m/s;绳段单元长0.2m,Δt≈1.35e-4s。一个总时长3s的折叠分析,大约2.2万步。对几千单元的模型来说,这个成本完全在合理范围。

如果模型更大或者网格局部太小,可以用质量缩放。打开Mass Scaling,选Fixed,设定目标时间步。软件会自动放大低能量区域的质量来换取更大时间步。但副作用是惯性力被放大——折叠过程本来是准静态的,惯性一大,网面会显得“飘”,折叠形态失真。

判断准静态性的实用指标是动能与内能之比(ALLKE/ALLIE)保持在5%以内,超过10%基本可以认为加载太快或质量缩放过度。遇到矛盾时优先降低压板速度,其次考虑区域质量缩放,不推荐全局无脑拉满。

5.2 自接触和摩擦:线单元接触的特殊设置

T3D2是线单元,前面提过它默认没有厚度,折叠中网面层叠,大量绳段相互穿越是常见翻车现场。解决办法:

  • Interaction模块用General Contact,接触域选All With Self。
  • 接触属性里设置Contact Thickness为绳径的1.0~1.2倍。2mm绳径就设2.2mm。
  • 接触面类型选Edge-Based Surface,让线单元之间能产生接触力。
  • 法向接触用Hard,摩擦用罚函数,μ取0.2~0.3。摩擦太大绳段容易卡死,太小滑移过度,得试算一两次才能定下来。

如果计算结果里应力云图出现斑驳的高频振荡,可以加Contact Stabilization。阻尼值从0.01起步,逐步加大到振荡消失为止。别一上来就上0.5,会把接触计算“糊”成一团,结果看着平滑,实际已经失真。

5.3 用能量监控判断折叠过程是否“准静态”

折叠模拟经常遇到的情况是计算没发散,但结果一看就不合理:网面像在水里漂,绳段乱甩。这多半是动态效应淹没了准静态过程。

在History Output里必须输出这几项:

  • ALLKE(动能)
  • ALLIE(内能)
  • ALLFD(摩擦耗散)
  • ALLVD(粘性耗散)

准静态判据是ALLKE/ALLIE小于5%,如果大于10%,说明加载速度太快,直接降压板速度。另一个辅助判据是加载点反力-位移曲线。曲线应该平滑无严重振荡,如果像锯齿一样抖动,说明压板与网面之间存在重复冲击接触,边界条件或幅值曲线需要重新检查。

6. 翻车复盘:折叠模拟中最容易栽进去的6个坑

6.1 坑1:线单元没有接触厚度,绳段互穿

最高频的问题。症状:折叠过程中绳子像不存在一样互相穿插,最后叠成一团“乱麻”。原因九成是接触属性里缺Contact Thickness,或者接触域没有覆盖整个网面。解法:给接触属性设置厚度,确认接触域All With Self。

6.2 坑2:一个分析步里同时压两个方向

结果通常是接触应力叠加、网格畸变集中。第一个方向的折叠还没稳定,第二个方向就压上来了,最终折叠形态不对称。解法:拆成多Step,每个方向之间加保持段。

6.3 坑3:折叠速度过快,“准静态”成了“动态冲击”

症状是压板一停网还在弹,内能曲线一直不收敛。解法:压板速度降到2m/s以内,幅值用Smooth Step,并持续监控ALLKE/ALLIE比值。冲击加载下网面的接触摩擦行为与准静态差异非常大,结果不可比。

6.4 坑4:导入ODB时没勾应力场,展开模拟丢掉初始内力

导入Part变形构型时,默认只导入几何。如果展开模拟的第一个瞬间网面就“散架”,多半是之前折叠产生的预应力没有带进来。处理方式是重新Import,勾选Import Stress/Strain。这一步丢了,前面所有折叠计算等于白做。

6.5 坑5:质量缩放全局拉满,折叠形态失真

全局质量缩放会把网面密度放大几百倍,惯性变大后网面像浸在水里,每个动作都慢半拍。解决思路:优先降加载速度,其次做区域质量缩放,只对网格过细的区域处理,不做全局放大。

6.6 坑6:展开初始速度方向设错

如果抛射方向是Z向,但折叠态坐标系经过导入变形后Z轴指向已经变化,初速度方向必须重新核对。一旦设错,网会直接往错误方向飞,结果完全无法解释。导入后先输出节点坐标核对方向,再施加初速度,别跳过这一步。

个人在实际项目里最深的一条体会是:折叠模拟花掉的调试时间,基本都能在展开阶段“赚回来”。因为折叠态的真实必然性,展开模拟的初始条件才有说服力。如果你正卡在某一步收敛问题上,不妨回头检查一下接触属性里的厚度设置,大概率就是它。这套折-展联动流程跑通之后,后续还可以把“飞网接触目标后收口”的阶段继续接上去,整个捕获任务链路的仿真就完整了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询