J7-07 仿真任务的输入、交付与模型资产管理
课程代码 J7-07 · 板块 J 仿真分析 CAE / J7 数字化仿真方法 时长 约 3.5 小时(6 讲 + 1 次实操) 适合对象 CAE 团队负责人、仿真流程与仿真数据管理工程师(必修);主机厂 CAE 对接与供应商管理岗(必修);一线仿真工程师,以及仿真结论的需求方——系统、结构、试验、项目(选修) 前置 B1-05 基于 V 模型的热管理正向开发流程 基于 V 模型的热管理正向开发流程。体系外前置(需自备):至少完整参与或对接过一次 CAE 仿真任务的委托与交付,作为委托方或执行方均可 本讲义定位 讲师授课蓝本 / 学员自学讲义 本课不讲建模:不讲任何建模方法、不讲软件菜单路径,也不要求会用任何求解器。本课讲的是仿真活动的组织可信度——输入齐不齐、假设记没记、报告能不能被复核、模型能不能被下一个人复用。
引言:那个模型还在,还能跑,而它已经不能证明任何事
先看三张会议桌。
桌一。一个仿真任务刚被派下来。委托方口头说了目标工况,几何数模在共享盘上「应该是最新的那一版」,电池生热率「先按上个项目的来」,环境边界「回头补给你」。执行方开始建模,因为不开始就赶不上门禁。三周后结果出来,评审桌上第一个问题是「你这个生热率是哪来的」,第二个问题是「那版数模是不是已经改过散热筋了」。到这一步,前面三周的工作量并没有作废,但它已经无法被判定是否有效——因为没有任何一份文件说得清当初用的是什么。
桌二。一份仿真报告正在评审。曲线画得很漂亮,误差写着某个百分比,结论写着「满足要求」。评审的人想知道这个结论管不管自己那个工况,翻遍报告找不到答案:模型是哪一版没写、网格与求解设置没写、相关性只写了「已做过」、可信域一栏是空的、假设一条没列。会议最后仍然通过了——因为没有人能说出「凭什么不通过」。缺项没有被判成缺陷,而是被判成了「这次先这样」。
桌三。半年后。另一个项目要复用桌二那个模型。原责任人已调岗,接手人从共享目录取到模型跑了一遍,出来的曲线和当初报告里那条明显对不上。查了两周也说不清是哪一处变了,最后只能重新做一轮台架对标——花掉的钱,比当初把这些事记下来贵两个数量级。
这三张桌子是同一件事的三个时刻:开工时没有把输入钉住,交付时没有把结论的适用条件钉住,归档时没有把「怎么重跑出同一条曲线」钉住。本课就沿这三个时刻走,六讲各占一段。
本课的两根钉子
钉子①:仿真结论的可信度会过期,而过期不会报警。
试验结论一旦做完就固化在那里——那次试验的样件、台架、工况都已经是历史,谁也改不了它。仿真结论不是:模型文件还在,还能被打开,还能被跑,跑出来还是一条像模像样的曲线。而它所依赖的东西——那一版几何、那一版部件特性 map、那个求解器版本、那批用来做相关性的台架数据——已经各自往前走了。J7-01 仿真—试验相关性验证(Correlation) 讲相关性验证时给过一句话:一次通过不等于永久有效。本课要做的,就是把那句话落成机制:什么变了要触发什么动作,谁发起、谁执行、谁批准结论仍然有效。
⇒ 由此推出本课反复出现的一个动作:凡是「以后要靠它倒查」的东西,都必须在事情发生的当下被写成一行可检索的记录,而不是留在人的记忆里、留在报告正文的叙述里、或留在个人电脑的目录里。这三处都不可检索——不可检索的东西在半年后等于不存在。
钉子②:本课交的是治理动作与判据,⛔ 不交任何仿真结果该取多少。
这条边界要在开头就划死,否则整门课会被误读成「教你边界条件怎么取」。输入量的物理含义与真值来源各有其主:导热建模口径见 A1-01 一维/多维、稳态与瞬态导热的工程建模,工质物性查用与厂商数据表差异见 A1-07 热管理常用工质的热物性与查用,一维仿真的边界条件从哪来见 J1-01 1D 热管理仿真导论(KULI/AMESim/GT/Flowmaster),除霜风道边界见 C5-02 风窗气流组织与除霜风道 CFD,整车与机舱 CFD 的脏数模验收与可算网格判据见 J2-06 整车/机舱 CFD 前处理:从脏数模到可算网格(数模验收·删简·包面·计算域抽取),结构有限元的材料取值与约束施加见 J5-06 结构 FEA 建模方法基础:单元、约束、本构与结果可信度。本课只做「齐没齐、出处写没写」这一层。一个边界值取 25 还是 35,本课一个字都不会说;但如果这个值在文件上指不出出处,本课有明确处置——它必须转记为假设。
与相邻课的分工,先说清楚
本课处在一个「四面都有邻居」的位置,因此边界必须比一般课划得更细。
与 B1-05 基于 V 模型的热管理正向开发流程。「哪些结论能靠仿真下、哪些必须见实物」「左移不了的四类——接触热阻、装配偏差、泄漏、老化」已在那门课讲透,其课堂作业直接产出「仿真/实物划分表」。本课从「这个仿真任务已经决定要做」这一刻起接手,不重讲 V 模型落位与仿真—实物分工。
与 J7-01 仿真—试验相关性验证(Correlation)。那门课管技术可信度——这个模型算得准不准,怎么证明,证到什么分辨力。本课管组织可信度——这套活动组织得能不能被复核、被复用。两者的分界线可以用一句话记住:J7-01 回答「这个数该不该信」,本课回答「这份文件能不能让下一个人自己去判断该不该信」。因此本课不重讲相关性判据、不重讲比较误差 E 与确认不确定度 u_val 的读法、不重讲可信域怎么划,也不定义模型放行的签署权限——那些的属主都是 J7-01 仿真—试验相关性验证(Correlation)。⚠ 本课在正文里凡出现「相关性状态」「可信域声明」「E」「u_val」,一律沿用 J7-01 仿真—试验相关性验证(Correlation) 已经定死的符号与口径,本课不另立定义、不改方向、不改合成方式;本课只把它们当作报告上必须填的栏位来管。
与 J7-06 仿真不确定度量化(UQ)与稳健/可靠性设计:从确定性单点到带分布的裕度。不确定度量化的方法本体、UQ 专属的报告要素(输入分布表、相关性假设、传播方法与样本量、收敛判据实际取值、随机种子与抽样矩阵)归那门课,它已自行声明只补这一段。本课把 UQ 多出来的那两项列为快照的可选扩展字段,不展开抽样与传播。
与 J7-02 模型降阶(ROM)与控制导向建模。FMI/FMU 的技术含义、导出与格式对接、降阶方法本体归那门课,联合仿真侧的接口另见 J1-04 整车热管理系统级联合仿真。本课只讲交付与责任约定这一层。
与 Q2-03 技术文档、试验报告与专利撰写。技术文档的五段结构(目的—方法—数据—不确定度—结论)、测量不确定度的合成方法、报告作废与取代的口径,全部沿用那门课,本课不重讲。本课只补两块那门课明确让出来的东西:仿真特有的五项最低要素与评审的三档出口判据。
与 I1-02 参数化/关联设计与设计变更管理 和 Q3-01 热管理工程师的数据分析与 Python 脚本。几何版本的检入检出、工程更改流程、配置基线与中性格式选型归 I1-02 参数化/关联设计与设计变更管理;脚本的版本控制用法、参数化与打包交接归 Q3-01 热管理工程师的数据分析与 Python 脚本。本课一个字都不重讲,只做一件它们两门都没做的事——把它们各自的版本号绑进同一个快照。
与 K4-04 软件版本、配置与变量管理 和 K6-05 标定数据管理与版本控制。三方配置项分工是硬约束,不是本课的建议:软件配置管理归 K4-04 软件版本、配置与变量管理(管代码、模型、需求、测试证据、工具链),标定数据版本管理归 K6-05 标定数据管理与版本控制(管描述文件 A2L、二进制映像 Hex、参数值文件 DCM),CAE 资产管理归本课(管仿真模型、算例、网格与求解设置、物性与部件 map、后处理脚本、结果与报告)。三张清单不许重叠、也不许留空档——K4-04 软件版本、配置与变量管理 已把「仿真侧的资产整块由本课承接」写进正文。第 4 讲会把三张表并列摆出来逐行对齐。
与 K4-09 热管理控制软件的跨企业交付边界:交付物形态、DIA/SEooC、权限分级与联合验证签署。那门讲的是上车软件件的跨企业交付。本课第 5 讲交付的 CAE 模型不上车、不进 ECU,两门对象不同,交付清单与验收判据都不通用——这一条必须写死,否则现场会拿一套模板去套另一件事。
学完你能做什么
九件事,每件都对应一个当场可验的动作:用输入齐套清单判定「能不能开工」;把假设填进四列登记表并据它反查重跑范围;审出一份仿真报告缺不缺五项最低要素并给出三档中的一档;为一次仿真绑出最小可复现集五项并说清每项版本号取自哪个系统;把一次变更查到对应的重跑范围与是否需要重做相关性;给模型资产库定分级与复用准入规则;判断一个模板化方案的收益边界与固化错误假设的放大风险;写出一份跨组织 CAE 模型交付约定并作为收件方执行「先验收再用」;把算力、许可证与排期作为约束条目写进仿真计划。最后还有一件贯穿的:把本课的 CAE 配置项清单与 K4-04 软件版本、配置与变量管理、K6-05 标定数据管理与版本控制 两张清单并列对齐,逐行判「不重叠、不留空档」。
第 1 讲 开工闸:输入齐套与假设登记
这一讲立三件事:开工前该核什么(四类输入,判据只有一条)、核不齐时的合法出路有几条(三条,外加一条被明令禁止的)、假设怎么记才算资产(四列,缺后两列就只是免责声明)。
1.1 为什么必须有一道开工闸
现场最常见的开工方式是:先把模型搭起来,缺的输入边搭边补。这在赶进度时看起来是唯一选择,而它有一个不对称的代价结构——补进来的输入如果和当初默认的不一致,前面的工作不是「需要微调」,而是「结论要重判」,且重判的时刻通常是评审桌上,那是最贵的地方。
更麻烦的是第二重代价:边搭边补的过程中,有一部分「缺项」会被悄悄地填成某个值,而这个值没有被记录成假设。它此后在所有人眼里都是一个输入,不是一个假设——于是当它错了的时候,没有任何一条路径能把它找出来。这就是本讲要封的口。
⇒ 开工闸的作用不是拖慢开工,而是把「这次算的是什么」变成一件白纸黑字、事后可查的事。它的成本很低:两张表,一次签字。
1.2 输入齐套清单的四类条目
四类,逐项判齐:
(一)几何。是哪一版数模、有没有过前处理验收。几何这一类特别容易出问题,因为「最新版」是一个会随时间变化的指称——今天的最新版和下周的最新版是两个东西,而报告上如果写的是「最新版」,半年后它就指向另一个几何了。⇒ 必须写版本号,⛔ 不许写「最新」「共享盘那一版」「老张发我的那个」。数模本身的检入检出与生命周期状态归 I1-02 参数化/关联设计与设计变更管理,前处理验收判据归 J2-06 整车/机舱 CFD 前处理:从脏数模到可算网格(数模验收·删简·包面·计算域抽取),本课只判「写没写版本号」。
(二)物性。工质与固体物性取自哪个源,温度相关性给到什么范围。这一类最容易踩的坑是外推:物性表只给到某个温度,而算例跑到了这个温度以上,求解器会照样外推出一个值,不报错。⇒ 清单上这一栏要求写两件事:来源,以及覆盖的温度范围。物性的查用方法与厂商数据表差异归 A1-07 热管理常用工质的热物性与查用。
(三)边界。每个边界值是实测、上游模型给的、还是假设的。这三种来源的可信度完全不同,而它们在模型输入文件里长得一模一样——都是一个数。⇒ 清单必须逐个边界标注这三选一,⛔ 不许整块写「边界条件由系统组提供」。凡标为「假设」的,同步进假设登记表。
(四)工况。工况表与目标表的版本及其来源。工况表在项目中期改版是常态(增加一个高温快充工况、把环境温度提高两度),而模型往往还在跑旧工况表。⇒ 这一栏写版本号与发布日期。
判据只有一条:每一项都能指出出处。指不出出处的项,一律转记为假设进登记表——注意这句话的力度:不是「先记着回头查」,是当场改变它的身份。一个指不出出处的数,它事实上就是一个假设,只是没有人愿意这样称呼它。
1.3 缺项时只有三条合法出路
缺输入是常态,本课不假装它不会发生。要管的是缺了之后怎么办。合法出路只有三条:
出路一:等输入,改排期。把交付日期往后推,理由写进仿真计划。这条路最不受欢迎,但它是唯一不产生技术债的一条。
出路二:用代用值,并在登记表里标注它会影响哪条结论。注意后半句才是关键——用代用值本身不是问题,问题是用了却没写它影响什么。写清楚之后,这个代用值就带着一条可追溯的尾巴,将来真值到手时,能立刻查到该重判哪几条结论。
出路三:把结论降级为趋势判断。不给绝对值,只给方向与相对大小,并在报告里显式写明降级理由。这条路在方案对比类任务里往往是最经济的——很多决策本来只需要知道 A 比 B 好,不需要知道好多少。
被禁止的是第四条:默默取一个值继续算。它之所以是本讲最要防的一件事,在于它不留痕迹——前三条路都会在文件上留下记录,第四条不会。它把假设藏进了结果里,而结果看起来和其它结果没有任何区别。⇒ 这也解释了为什么开工闸必须是一张逐项签字的表而不是一次口头确认:口头确认不产生「哪一项当时是空的」这个信息,而这个信息正是半年后唯一有用的东西。
1.4 假设与简化登记表:四列,缺后两列就不是资产
登记表必须四列:
| 列 | 内容 | 缺了会怎样 |
|---|---|---|
| 假设内容 | 具体假设了什么(含具体取值或简化方式) | 无从复现 |
| 依据 | 凭什么这样假设(上代平台经验、文献、供应商口头、纯工程判断) | 无从判断这条假设有多硬 |
| 失效条件 | 什么工况或什么设计变更之后,这条假设不再成立 | 无法被触发——没人知道它什么时候该被重新检查 |
| 失效影响哪些结论 | 这条假设一旦不成立,报告里哪几条结论跟着动摇 | 无法反查——知道它失效了也不知道该重跑什么 |
只有前两列的登记表是免责声明,不构成可回溯资产。这句话是本讲的核心判断,值得展开:前两列回答的是「我当时是怎么想的」,它的读者是评审人,作用是让人判断这次建模合不合理;后两列回答的是「以后什么时候要回来看它」,它的读者是半年后的接手人,作用是让机制能被触发。⇒ 现场绝大多数登记表只有前两列,于是它在评审当天很有用,评审之后再也没有被打开过——因为它不包含任何能触发动作的信息。
⚠ 第三列有一个写法上的硬要求:失效条件必须写成可判真假的事件,⛔ 不许写成程度词。「当工况比较剧烈时」不可用,「当快充倍率超出本次覆盖范围时」可用;「当结构变化较大时」不可用,「当冷板流道数或流道截面改版时」可用。判据是——拿这一行去问一个不参与建模的人,他能不能独立判断「这件事发生了没有」。
1.5 假设失效的回溯路径
四列表建好之后,它撑起的是这样一条链:
哪条假设失效 → 登记表第四列 → 受影响结论清单 → 引用过这些结论的报告与决策 → 判定要不要重跑。
这条链有两处容易断。
断点一:第四列写得太粗。写「影响温度结果」等于没写——报告里所有结论都和温度有关。要写到能被检索的粒度:影响的是第几节的哪一条结论,或者哪一张表的哪一行。
断点二:第四步没有人维护。「引用过这些结论的报告与决策」这一环,要求存在一份「谁引用了我」的记录。多数组织没有这份记录,于是链条走到这里就断了——知道结论动摇了,但不知道该通知谁。⇒ 最低限度的做法是:在报告发布时记下它的分发对象(哪个评审、哪份设计输入、哪次架构决策),这一行的成本极低,而它是这条链唯一的出口。
⇒ 这条链的下游出口就是第 3 讲的「变更类型 → 重跑范围矩阵」:假设失效是触发源之一,矩阵回答的是触发之后重跑到什么范围。
1.6 开工闸的出口物与两栏签字
出口物是两份:签过字的输入齐套表 + 假设登记表。
签字要两栏,委托方(系统、结构、试验)与执行方(CAE)各一栏,因为两栏签的是两件不同的事:
- 委托方签的是「这些输入我认」——即这些数确实是我给的、或者我确认了它的出处;
- 执行方签的是「我按这些输入算」——即我不会在过程中悄悄换掉其中任何一项。
⚠ 这两件事必须分开签,⛔ 不能合成一栏。合成一栏之后,后期输入被推翻时的争议会退化成「当时是谁说的」——而这正是签字要防的东西。分开签之后,争议变成一个可查的事实:翻表,看那一栏当时签没签、签的是哪一版。
1.7 本讲的验收问法
拿一份正在进行的仿真任务,问三句:
① 四类输入里,有几项写的是「最新版」「共享盘那个」这类不可检索的指称?——每一项都是一个将来会断的链。
② 假设登记表有没有第三、第四列?——没有,那它只是免责声明。
③ 输入齐套表上有没有两栏签字?——没有,那么输入被推翻时只剩口头争议。
⇒ 三问全过,才算这个任务「开工过闸」。第 2 讲接着走到另一头:这次算完了,报告要怎么写才能被人复核。
后面还有 5 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做