目录
Nastran
3Studio 可以连接你电脑上安装的商业版 MSC Nastran(或与它同源的 NX Nastran,两者均可正常使用)——一款专业的有限元求解器(Finite Element Analysis,简称 FEA:把结构拆分成很多个小单元,计算它在受力下的应力、变形、固有频率等力学行为),让 Agent 直接替你提交模型、跑求解、读结果,而不用你自己在命令行里敲求解器参数。
⚠️ 仅支持 Windows。 MSC/NX Nastran 本身只提供 Windows 版可执行文件,所以这项集成功能只在 Windows 系统上可用;在 macOS 或 Linux 上,设置页面里不会出现 Nastran 的配置区,Agent 也不具备这项能力。
⚠️ 预览功能。 模态分析已经过多轮真机验证,并有对照解析解标定过的量级基准,可以正常使用;屈曲分析与静力分析也已用真实 MSC 求解器验证过,但样本有限——屈曲仅验证过单一模型的单次求解;静力已完整跑过三轮求解全流程的真机案例(2026-09-04),变形与应力两个数都与手算的解析解逐位吻合,梁单元的应力也确实出现在结果里,但同样只有单份模型、单个工况的证据。建议这两类分析的关键结论仍与求解器原始输出核对。随机振动分析(
SOL 111)是本版新增能力,点集中力与基础加速度两种激励下的响应求解均已验证;基础加速度激励现在会同时返回功率谱密度曲线及其峰值、以及加速度均方根——均方根不是求解器直接打印的数值,是 3Studio 从功率谱密度曲线自己积分得到的,在已核对过的样本上与求解器自己打印的均方根在它打印的全部 7 位有效数字上一致(相对误差最大 1.6e-07)(详见下文"提交模型求解");这里说的"已验证"指的是求解本身——能不能算、响应数值与解析解吻不吻合,两条建模路线也互证过。读取这条结果、把它积分成均方根的提取代码是另一回事:这段代码已经用真实求解器产出的曲线数值做过标定(数值跟求解器自己打印的均方根对得上),读取环节已用真实求解器产出的结果文件核过两遍:第一次在真机上完整走"提交求解 → 读出这个数"的流程时,平台没有读出均方根、由 Agent 自己从原始文件算出了同一个数,那处读取缺陷当天已修复;修复后已完整复测一次,这次平台直接读出的均方根与求解器自己打印的均方根在其全部 7 位有效数字上一致。应力结果的验证边界更窄:四边形壳单元(CQUAD4)的随机应力已确认能读出来并出现在结果里,但验的是"读不读得出"这一环,数值本身没有对照解析解或已知基准核对过;三角形壳单元(CTRIA3)因验证用的模型里没有这类单元,至今未验;梁单元(CBAR)的随机应力此前存在一个缺陷——数值明明能读出来、却不会出现在结果里;该缺陷已修复,并已在真实求解器上确认能读出、能出现在结果里,但与四边形壳单元一样,验的是"读不读得出"这一环,数值本身未与已知基准核对过。上述每一类结论各自都只有单份模型文件、单个工况的证据(壳与梁的证据还来自两份不同的模型),请对结果保持谨慎并与求解器原始输出核对。整页仍标「预览」:档位取本页最不成熟的那项能力,目前是随机振动的应力结果——它验的是「读不读得出」,数值本身还没有跟解析解或已知基准对过。静力那一档虽然已经有解析解标定,但拉不动整页的档位。
使用前提
- 你的电脑上已经装好一套商业版 MSC Nastran 或 NX Nastran,并且有一个有效的求解器许可证(License)——3Studio 不包含也不安装这套求解器,只是去调用已经装好的它。
- 许可与并发:Agent 提交求解时拉起的就是你自己装的那个
nastran.exe,用的是你自己的许可证——3Studio 不额外申请许可。每个同时在跑的求解各占一份许可,3Studio 不设并发上限:它不知道你的许可池有多大,也不替你决定这个上限;要控制占用,就明确告诉 Agent 一次只提交一个求解。 - 3Studio 会在后台自动准备一个轻量的 Python 环境(用来解析/生成有限元模型文件),首次使用时通常几秒到几十秒内自动装好,不需要你手动点任何"准备环境"之类的按钮。设置页顶部那张跨软件共用的"Python 环境"卡片也会覆盖到 Nastran:兼容性列表里有它的一行(版本窗口 3.10–3.12),更换基座后 Nastran 会在下次启动时自动重新核查环境——但它没有手动指定解释器的入口,日常无需关心。
配置 Nastran 求解器路径
打开设置 → 工具标签页,找到 Nastran 卡片(默认折叠,点击标题展开)——跟 MATLAB/STK/Ansys/HyperMesh 共用同一套卡片外观和状态徽章逻辑。
- 状态徽章:卡片顶部的标签常见有:未检测到(灰,还没填求解器路径)、失效(红,填过的路径现在校验不通过)、检测异常(金,路径扫描本身出错)、准备中…(金,后台正在自动装那套轻量 Python 环境)、出错(红,装环境失败)、桥未运行(金,环境已就绪但桥接进程还没启动)、就绪(绿,路径有效且环境已就绪)。跟别的引擎不同,nastran 没有一步手动"准备环境"——轻量 Python 环境全自动装好,你只需要填对求解器路径。
- 商业 Nastran 路径:3Studio 会自动扫描常见的 MSC 安装目录(C 盘和 D 盘的
Program Files\MSC.Software)——求解器装在默认位置时卡片会自动检出,无需手填。装在其他位置时,在展开后的输入框里手动填写求解器可执行文件(nastran.exe)本身的完整路径(不是所在文件夹),例如D:\Program Files\MSC.Software\MSC_Nastran\2024.1\bin\nastran.exe——填成文件夹会被拒绝。填好后点"设置"保存;已经保存过路径的话,旁边会出现"清除"按钮,可以清空当前配置。- 保存成功后,卡片顶部会显示当前生效的路径;如果保存的路径后来失效了(比如文件被移走),徽章会变成"失效",卡片上会多出一个"清除"按钮,点一下就能移除这条无效配置。
- 测试连接:点击"测试连接"按钮,3Studio 会尝试跟后台的 Nastran 桥接程序(Bridge,负责与求解器通信的后台服务)握手,成功时会显示当前状态、活跃任务数等信息。
*w.exe(窗口版)告警
MSC/NX Nastran 的安装目录里通常同时有 nastran.exe 和 nastranw.exe 两个可执行文件——文件名以 w.exe 结尾的是"窗口版",运行时会弹出一个独立窗口,然后立即把控制权交还调用者,不会等求解真正跑完。如果你不小心把路径填成了 nastranw.exe 这样的窗口版本,3Studio 会在设置页显示一行黄色告警文字,说明这是窗口版启动器、求解会脱离掌控、任务永远不会完成,并建议改填同一个文件夹下的 nastran.exe(不带 w)。这条告警不会阻止你保存这个路径,但请按提示改过来——否则提交的求解任务会一直停在"运行中",永远不会有结果。重新编辑输入框内容时,这条告警会自动消失。
让 Agent 做有限元求解
推荐搭配「结构专家」Agent:新建 Agent 时选择「结构专家」模板,它内置了 Nastran 求解技能——模型文件里各类设置怎么写、单位怎么对、结果里每个数该怎么读、求解失败后怎么恢复,都已经配好,比通用 Agent 少走弯路。这个模板同时内置 HyperMesh 建模技能与 Creo 几何技能(打开装配 / 改参数 / 再生 / 导出 STEP),所以从 Creo 几何到建模、求解可以交给同一个 Agent 连着做。下文能力均以结构专家为准。
配置好求解器路径之后,你可以在对话里直接让 Agent 帮你做结构有限元分析:
- 提交模型求解:Agent 可以把一份有限元模型文件(BDF/DAT 格式的"卡片"文本,Nastran 系列求解器通用的输入格式)提交给求解器求解,比如做模态分析(计算结构的固有频率和振型)、静力分析、屈曲分析(计算结构在多大载荷下会失稳),或随机振动分析(
SOL 111,计算结构在一条功率谱密度曲线描述的随机激励下的响应,常用于卫星等航天器的发射力学环境评估——评估常用的基础加速度激励方式已在真机验证过可以正常求解,响应数值与理论解析解吻合;本版对这类激励会返回功率谱密度曲线及其峰值,以及从这条曲线积分得到的加速度均方根——发射力学环境评估常用的"3σ"判据(即 3 倍均方根)需要均方根数值,拿到这个数直接乘以 3 即可,不需要你自己再去积分曲线;已验证的范围见上方"预览功能"提示)。提交前 Agent 会先对模型做一次静态检查,覆盖四类问题:模型文件读不进去(缺结束标记、卡片写法有误、引用了不存在的编号)、壳单元网格质量太差(长宽比、歪斜、锥度、翘曲超出阈值)、CONM2 集中质量的惯量矩阵不合理、模态分析漏写频率下限的提醒;检查结果同时附带模型规模(节点数、单元数和各类单元的数量),方便你核对提交的是不是预期的那份模型。这项检查不检查材料 / 载荷 / 边界条件的取值是否合理——引用了不存在的编号仍会被上面第一类问题发现,但数值本身对不对,检查不判断。发现问题后,Agent 会先尝试修好再提交,避免白白排队等一次注定失败的求解。 - 随机振动结果怎么读:随机振动分析算出来的是一条统计意义上的响应——这里说的均方根数值和功率谱密度曲线,位移响应与(基础加速度激励下的)加速度响应都有,不要看到"均方根"就默认它说的是位移。3Studio 拿到的数值是均方根(Root Mean Square,简称 RMS)意义下的 1 倍标准差(即"1σ"),不是常见发射力学环境评估里用的"3σ"准则;要按 3σ 判读,需要把这个数自己乘以 3,位移与加速度的均方根都遵守这条口径。每个工况(比如运载方给的 X / Y / Z 三个方向各一条谱,就是三个工况)——仅当求解结果文件能被成功重新读取时——会把结果写到这次求解的结果目录里,最多四类文件:一份覆盖该工况全部测点、全部 6 个分量的位移均方根数值表,一条只覆盖峰值节点、只含 3 个平动分量的位移功率谱密度曲线(不是全测点的完整曲线);如果模型求的还有基础加速度输出,会再写出加速度自身的功率谱密度曲线(同样只覆盖峰值节点、只含 3 个平动分量),以及加速度均方根数值表(覆盖该工况全部测点、3 个平动分量——这张表是 3Studio 从加速度功率谱密度曲线积分出来的,不是求解器直接打印的表;求解器本身的输出习惯不同(比如设置了对数积分而非线性积分),算出来的均方根可能与这张表差约 1.3%,两者都对,只是积分口径不同)。结果文件读不回来时,上述文件都不会写出。供你或 Agent 进一步核对。这项分析工具本身不判断结果合不合格——合格与否取决于运载方接口文件规定的具体谱线和许用值,3Studio 只负责把响应算出来、如实交给你,不会替你下"过关"或"超标"的结论。
- 写脚本做更灵活的操作:超出"提交模型求解"这类固定流程能覆盖的场景时(比如只是想读一下已有模型文件的某个数值、或者做一些临时的检查/编辑),Agent 也可以直接写一段 Python 脚本来做。脚本运行前会先过一道静态检查,拦掉常见的危险写法(启动其它程序、开网络连接,或用
eval/exec这类拐弯抹角的方式执行代码),正常的建模、读写模型文件、计算都不受影响。这道检查不是安全边界——它挡的是失手,挡不住蓄意绕过。脚本以 3Studio 的权限在你本机运行,能读写你的文件,所以只运行你自己写的、或来源可信的脚本。脚本同样受求解看门狗约束(30 分钟无活动判为卡死、24 小时绝对上限)。 - 查询求解进度:一次求解可能跑很久(复杂模型可能几小时甚至更久),Agent 可以随时查询当前进度,不用干等结果;在读取最终结果前,Agent 至少会查询一次作业状态。
- 结果里的总质量:模态、静力与屈曲结果都会附带求解器算出的模型总质量(需要模型里带
PARAM,GRDPNT,即 Grid Point Weight Generator——求解器自带的整体质量统计功能),用于核对材料与密度是否设对;这个数字由求解器输出,Agent 不会(也不应该)自己手算。 - 结果里的模型规模与数值类别:求解结果也会附带模型规模(节点数、单元数、各类单元的数量);位移、应力、质量、频率等主要结果标明了所属的量的类别;屈曲因子是无量纲比值,不标。具体是毫米还是米、吨还是千克,仍由模型文件本身决定——3Studio 不替你猜单位,Agent 会按模型文件里的材料和几何数据说明它采用的单位依据。频率是唯一的例外:求解器输出的固有频率固定以赫兹计。
- 求解器中途异常终止(内存不足等)会被识别为失败:极少数情况下,求解器会在跑到一半时因为系统资源不足等原因异常终止,但进程本身仍然返回"成功"的退出码。这种情况下 3Studio 会识别出异常终止的痕迹,把这次求解判定为失败并报明原因,而不会把一份不完整、模态数为零的结果当成正常结果交给你。
每个 MSC 作业的内存上限
3Studio 会把每次 MSC Nastran 求解可使用的内存上限设为当前电脑物理内存的 25%。这个比例会随电脑的实际内存容量自动换算,既避免单个作业占用过多内存,也不需要你额外配置。该限制通过本次作业的命令行参数生效,只属于这一次求解;3Studio 不会因此修改 MSC Nastran 安装目录里的配置。
长时求解:卡死判定与进度查询
有限元求解耗时可能很长,3Studio 用两条独立的规则判断一次求解是"卡死了"还是"只是算得慢":
- 活性看门狗(30 分钟停滞判定):3Studio 同时观察两个信号——求解器有没有持续往结果文件夹里写数据、求解器进程本身有没有在消耗 CPU。只有当这两个信号同时在 30 分钟内都毫无变化,才会判定这次求解已经卡死并终止它;只要其中一个信号还在动(哪怕只是文件在慢慢变大,或者进程仍在吃 CPU),就不会被误杀——算得再久,也不会仅仅因为"跑了很久"就被打断。
- 24 小时绝对上限:即便求解看起来一直"活着"(文件在变化、CPU 在被使用),3Studio 也会设一个 24 小时的硬性上限,超过就终止,避免个别发散、算不出头的求解无限占用机器。
- 被终止后的错误信息:不管是因为卡死被判定终止,还是撞到 24 小时上限,Agent 收到的错误信息里都会附带一段求解日志结尾的内容,方便直接看出卡在哪一步。
- 查进度时能看到什么:Agent 查询求解进度时,除了当前状态(排队中/启动中/运行中/后处理中/完成/失败/已取消)之外,还会看到这次求解已经跑了多久,以及距离上一次观察到"活性"(文件变化或 CPU 使用)过去了多久——这两个数字能帮助判断一次求解是正常在算,还是已经很久没有动静了。极少数情况下(比如系统层面读不到子进程的处理器占用信息),这套活性判断会退化为只看文件有没有在变化;这种情况很少见,正常使用不需要特别关心。
- 结果过大时:极少数情况下结果摘要会超过 Agent 单次能读取的体积,这时 Agent 不会拿到被截掉一半的结果,而是收到一条提示,引导它去读这次求解目录里落盘的结果文件;正常规模的模型远达不到这个体积。
连接状态徽章
侧边栏底部的"运行时"面板(点侧边栏底部的"运行时"按钮展开)里有一项 Nastran,显示 Nastran 桥接后台进程当前的运行状态:运行中 / 已停止 / 错误 / 不可用,文案会跟随界面语言切换。
常见问题
- 测试连接失败:先确认 MSC/NX Nastran 本身能在你电脑上正常打开、许可证有效;再检查设置页里保存的路径是否正确指向
nastran.exe。 - 提交的求解一直"运行中"不结束:最常见的原因是路径填成了
nastranw.exe(窗口版)——回设置页把路径改成同目录下的nastran.exe,重新提交。 - 求解很久没反应,会不会一直干等下去:不会。参见上面"长时求解"一节——文件没有变化、且求解器进程没有 CPU 占用,两者同时满 30 分钟会被判定卡死并终止;一直有动静的求解最多跑到 24 小时也会被终止。