Review & Revision Report · 有限元分析审查

Reynolds–Finan 异质核 FEM 分析 —— 审查与修改报告

TIER A · 数值

主结果用了最不收敛的离散化

头条 −42.34% 站不住,收敛值约 −44.5%;高渗组 h 收敛非单调;UQ 全部 141 对跑在 710 顶点粗网格上,而那张网格的染色质相分数超出项目自定门槛 3.1 倍。

TIER B · 力学

结论方向由模型构造先天决定

方向性可闭式证明,141 个点不翻号是本构的推论而非发现。扣掉预张力那个与变形无关的常数后,弹性合力变号而非松弛。

TIER C · 科学

卖点与结论之间没有因果链

没做均质核对照,异质染色质输入可能对头条结论完全不起作用;预测不可证伪,方向检验无区分力。

§0先说结论

做得好的地方(要保留,是这份稿子最强的部分):

  • Table S3 的 claim/placement 矩阵、Table S1 的 provenance 分级(assumption / provisional / literature mapped / digitized)是很少见的自律做法,直接回答了审稿人最爱问的"哪些数是你编的"。
  • 局部峰值(resolved shear、最大主应力、压缩面积、P5)过不了 P1/P2 门槛就主动降为 exploratory,没有硬报——加分项。
  • 明确声明不是反演标定、Flipper 只做方向性独立检验、失败尝试(CUDA direct / GMRES)留档。
  • 先冻结预测再做实验的流程。

但有三个层级的问题,其中第一层是会被直接拒稿的(见页首三卡)。

定位判断:这是一个纯计算、通用几何、零实验、结论方向由构造决定的工作。以现状投 Nature 主刊会在编辑部台面被拒(desk reject),不是因为质量差,而是因为不存在"意外发现"。合适的去处是 Biophysical Journal / Biomech Model Mechanobiol / PLoS Comput Biol / J Mech Behav Biomed Mater。如果坚持冲高影响因子,必须先把 Flipper 实验做完并入正文,且必须有一个"模型预测了非平凡的事、实验验证了"的环节(见 §3.1)。

TIER A数值验证问题(必须修,改完反而加强结论)

1.1 主结果选错了离散化 —— 最该改的一条

把 Table S2 的五个离散化各自算了组间变化:

离散化h (µm)dofsControlHyper变化
coarse P11.252 1300.0603520.037475−37.91%
inter P10.756 7710.0650030.038412−40.91%
main P1 ← 现在报的0.4522 5930.0660640.038092−42.34%
coarse P21.2514 6460.0621000.034376−44.64%
inter P20.7548 9090.0674160.037408−44.51%

两族的行为:

也就是说:coarse_h1p25_P2(14 646 dof)比 main_h0p45_P1(22 593 dof)又便宜又准。现在把最不收敛的 P1 结果当头条,是把结论往小里报了 2 个百分点,还给审稿人送了一把刀。

修改建议 1

把 production 结果换成 P2。最低限度用 intermediate_h0p75_P2;有算力就补 main_h0p45_P2。头条数字改为 −44.5%,或更稳妥地写 −44%(跨已测离散化的收敛族范围 −44.5 ~ −44.6%)。同时在 Table S2 里加一列"组间变化 %",把五行 −37.9 ~ −44.6 全部亮出来——审稿人自己会算,你不如自己先算。

1.2 高渗组的 h 收敛是非单调的,"passes h-refinement" 不成立

Control:0.060352 → 0.065003 → 0.066064,单调,增量比 4.38,收敛阶 p≈2.89,GCI≈0.59%。这条没问题。

Hyperosmotic:0.037475 → 0.038412 → 0.038092。增量符号翻转(+0.000937 → −0.000320)。这是振荡收敛,Richardson/GCI 无法计算。现在报的"高渗组 h 加密差 0.84%"是振荡的巧合,不是收敛度量。

修改建议 2

不要再用"intermediate-to-main P1 差 1.61% / 0.84%"论证收敛。改为:Control 报 GCI(0.59%);Hyperosmotic 明确写"h 收敛非单调,故不报 GCI,改以 P2 双网格一致性(0.13 pp)作为离散化证据"。Table S3 里 "Mean endpoint passes h- and p-refinement" 这条 reason 必须重写。

1.3 P1 与 P2 外推到了不同极限 —— 真信号,不是噪声

Control 的 P1 三点 Richardson 极限是 0.066378,而 P2 在中等网格就给出 0.067416,差 1.54%。同一个连续问题的两族离散化不可能收敛到不同极限。只有两种解释:

  1. P2 还没收敛(但 P2 粗/中两网格只差 0.13 pp,不像);
  2. P1 和 P2 求解的根本不是同一个连续问题——因为染色质材料场是按积分点/单元采样 50³ 体数据赋值的,换阶次、换网格 = 换材料分布。

第 2 条几乎肯定是主因,理由见下条。

1.4 网格根本分辨不了模型的两个关键尺度

从 dof 反推(P1 向量场,3 dof/节点,椭球体积 604.6 µm³):

网格顶点数平均间距与壳厚 0.12 µm 之比
coarse7100.95 µm7.9×
intermediate2 2570.64 µm5.4×
main7 5310.43 µm3.6×
修改建议 3(必做)
  • 补一段方法学:壳的单元类型、厚度进入弱形式的方式、resultant proxy 的完整公式(取什么应力分量、乘什么厚度、面积加权用参考面积还是当前面积)。
  • 材料赋值改成网格无关的投影:先把 50³ 场用固定 L²-投影或高阶插值定义为连续场 μ(x),再在积分点求值;单独做一次"材料场投影收敛性"检查(同一网格,把积分阶从 2 提到 4/6,看端点变化)。若端点对积分阶敏感,说明混叠仍在主导。
  • 做不到就必须在 limitation 里明写"h/p 收敛研究受材料场重采样污染,报告的离散化误差是下界"。

1.5 残差判据的三处问题

  1. 文本说 <1e-6,Table S1 写 1e-07——两个门槛不一致,选一个。
  2. 用的是绝对残差范数。绝对残差随网格、载荷、单位制变化,没有参照量就没有意义。必须报相对残差(除以外载荷范数或首次 Newton 残差)。这是数值审稿人的标准问题。
  3. coarse_h1p25_P1 / Hyperosmotic 的残差是 2.67e-8,比其余所有算例(~1e-10)大 100 倍,而全部 UQ 都跑在这个粗网格上。得说明这是不是普遍情况——建议把 141 对 UQ 的残差分布(直方图/最大值)放进 Figure S5。

1.6 P1 线性四面体 + 近不可压核 = 体积锁定

核的 K/G = 30 → ν = 0.4835(近不可压)。线性四面体是近不可压有限变形弹性里最差的单元,体积锁定是教科书级别的问题。这正好解释了:为什么 P1/P2 同网格差 3.58%/2.69%(p 误差 > h 误差),为什么 P1 族收敛慢而 P2 族一到粗网格就稳。

修改建议 4

production 用 P2(同上),或改用混合 u–p / F-bar / MINI 单元。并在 Figure S2 里加一张"P1 锁定诊断"图(例如同网格 P1/P2 的 J 场对比,或体积应变能占比)。这条改完,§1.1–1.3 的问题一起解决。

1.7 完全没有稳定性检查

Newton 收敛 + J>0 不等于平衡是稳定的。你有一个薄壳(0.12 µm),UQ 里还出现了整体平均 resultant 穿越零(→ 净受压)的算例。真实 lamina 在净压缩下会皱曲/屈曲,这个模型(光滑 Newton、对称网格、无缺陷、无接触)既不会捕捉屈曲也不会告诉你它错过了分叉点。

修改建议 5

你已经有投影后的一致切线算子和 MINRES,算最小几个特征值几乎免费(LOBPCG)。对所有被接受的平衡态报告投影切线的最小特征值 > 0。并把任何 resultant 均值 ≤ 0 的算例明确划出模型有效域(那个 −164.35% 的点尤其)。

1.8 缺代码本身的验证

自写的 scikit-fem 工作流,带乘法生长分解 Fe = F·Fg⁻¹ 和初应力残差化——这两块最容易写错,但全文只有"projected MINRES 与 augmented direct 在粗 P2 上机器精度比对"(那只验证了线性解法器,没验证残差/切线)。

修改建议 6
  1. 一致切线的有限差分校验(随机扰动 u,比较解析切线与 FD 切线,报相对误差 ~1e-6);
  2. 解析基准:Neo-Hookean 厚壁球在均匀 Fg = g·I 下的解析解(或 MMS 制造解),报 L² 误差随 h 的收敛阶,验证 P1≈2、P2≈3;
  3. 至少一个算例与独立软件(FEniCS / Abaqus / FEBio)交叉复核。

没有这三样,"自定义代码 + 22 593 dof + 6 位有效数字"的组合会让审稿人直接质疑代码正确性。

TIER B力学建模与结论逻辑问题(最致命的一层)

2.1 "141 个点全部卸载"不是稳健性证据,是构造使然

这是最担心的一条,也是审稿人一定会问的。

模型里壳的张力来自两项:初始预张力 0.05 mN/m 和 375 Pa 探针。现在施加各向同性自然收缩 Fg:

在参数盒的任何一点,几何上都不存在张力升高的路径。所以 64/64 和 77/77 不翻号是必然的,跟"稳健"没关系。把它当作 Main Figure 3 的核心内容,等于用一整张主图证明了一件由模型定义决定的事。

更要命的是 §5 里的表述读起来像发现,其实是定义:"All 64 paired Latin-hypercube points and all 77 parameter-domain boundary/anchor points predict a lower Hyperosmotic global mean"。

修改建议 7(结构性改写)
  1. 先给解析结论:对受预张力薄壳做闭式推导,证明在该本构和 Fg 下 dN/dλ > 0(张力随自然构型收缩单调下降)。方向性作为解析结果放正文,一句话就够。
  2. FEM 的贡献重新定位为"幅度",不是"方向"。Main Figure 3 从"方向没翻"改成"幅度对输入的依赖 + 机制分解"。
  3. 全文删除或大幅弱化 "epistemic robustness" 作为卖点的措辞;"64/64、77/77" 降为补充材料一行统计。

2.2 −42% 里约 76% 是那个纯假设的预张力在松弛

换算一下(t = 0.12 µm):

量值等效膜应力
Control 端点0.066064 mN/m551 Pa
Hyper 端点0.038092 mN/m317 Pa
假设的初始预张力0.05 mN/m417 Pa

预张力占 Control 端点的 76%。而且 UQ 的 pretension 范围是 0.025–0.1,从来没有包含 0,所以这个分解从头到尾没做过。

本节结论已被第四轮解析分解修正(见「解析分解」一节)。我原先写的"−42% 主要是预张力在松弛"在直接意义上是错的,撤回:解析上可证预张力对报告值的贡献是一个与变形几乎无关的常数 0.05 mN/m,在两组之间相消,因此绝对差 −0.028 mN/m 基本不含预张力的直接贡献。但换来一个更尖锐的问题——这个常数把百分比稀释了:扣掉它之后弹性部分从 +0.016 变到 −0.012 mN/m(变号),真实弹性变化约 −174%。修改建议 8 的分解仍然必做,但目的变成量化预张力经由平衡耦合的间接影响,以及确认弹性部分确实变号。

修改建议 8(最高优先级的补算)

三算例机制分解,共 6 次求解,一晚上能跑完:(i) pretension = 0,只有探针;(ii) probe = 0,只有预张力;(iii) 完整(现有)。然后报告 N_full 与 N_pretension + N_probe 的差(耦合项)。结论句改成:"预测的卸载中 X% 来自假设预张力的松弛、Y% 来自几何缩小下的探针响应、Z% 来自二者耦合。"这条做完,整篇文章的可信度会有质的变化——你在诚实告诉读者头条数字的来源结构。

2.3 缺"均质核对照" —— 异质染色质可能对结论完全无关

论文的输入卖点是 Reynolds 的 10 级异质染色质图。但端点是外表面的面积加权全局平均。核内异质性往外表面传递时极可能被平均掉。

如果把核换成体积平均(或 Voigt/Reuss)的均质材料,端点还是 −44.5%,那么整套数字化图像、灰度标定、10 级映射的工作对头条结论毫无贡献。审稿人一定会问。

修改建议 9(第二高优先级)

跑均质核对照(2 次求解)。两种结果都对你有利:

  • 端点几乎不变 → 诚实报告"全局端点对染色质异质性不敏感;异质性只影响局部场(已降为 exploratory)"。论文重新定位为"关于自然体积收缩的机制研究",异质性作为真实感输入而非因果要素。
  • 端点显著改变 → 这是真正的发现,直接升为 Main Figure 2 的核心,论文分量立刻不同。

不管哪种,现在不做就是留着被打。

2.4 "shear probe" 与实际施加的载荷自相矛盾

正文写 "self-equilibrated 375 Pa nominal shear probe"、Table S4 写 probe_shear_stress_pa,但 §9 第 2 节写的是 "逐点牵引为 t₀ = P̄·N"。

t₀ = P̄N 是沿法向的牵引,即压力,不是剪切。各向同性压力加在 K/G=30 的近不可压体上基本什么也不会发生(这也许正是端点被预张力主导的原因)。

修改建议 10

把载荷说清楚,名实一致。若确实是法向压力,全文的 "shear probe" / probe_shear_stress_pa 全部改名(如 probe_normal_traction_pa)。若本意是剪切,则载荷实现是错的,需要重做。另外要写明这是参考构型上的 dead load 还是当前构型上的 follower pressure——两组参考构型相同,dead load 意味着两组受完全相同的总外力(这其实正是你要的 "same probe",值得明说);follower 则外力随当前面积缩小,会系统性改变报告的差值。这个选择必须显式声明并做一次敏感性对照。

量级参照:200 mOsm 的渗透压差在 310 K 下约 515 kPa,比 375 Pa 探针大约 1 400 倍。你没有把渗透压当外压加(这是对的),但正文最好主动点明这个量级对比,否则读者会困惑。

2.5 预张力的参考构型不自平衡

带预张力的闭合壳需要核内有平衡压力(类似压力容器 T = pR/2)。只往壳里塞 T₀ = 0.05 mN/m 而没有配平,参考构型不处于平衡,第一次 Newton 就会把它松掉,实际实现的预张力不等于 0.05。

正文说 "residualized reference-configuration initial stress"——如果 "residualized" 指减掉 u=0 处的内力残差(常见技巧),那这个初应力就成了只进切线不进平衡的虚拟量,而它偏偏占端点的 76%。

修改建议 11

明确写清是哪种做法,并给出初始态自检:在 u=0 和零载荷步后分别计算实现的壳张力,证明它等于(或差多少)标称的 0.05 mN/m。这个检查放 Figure S1。

2.6 把 lamina 当 ν=0.35 的可压缩三维实体是错的物理

从 Table S2 反推可确认最小 Je 出现在壳里:min Je(shell) × Jg(shell) = 0.69278 × 0.7255170.35 = 0.61918——与表里 minimum_total_jacobian 精确吻合,说明 coupling 按 Jg,shell = Jnat0.35 实现(这条内部一致,没问题)。

但结论是:壳被体积压缩了 31%(Je = 0.693)。真实 lamina 在面内近乎面积不可压、通过减薄响应,不会损失 31% 体积。用 ν = 0.35 的可压缩 Neo-Hookean 实体做 0.12 µm 的 lamina,会产生大量伪体积弹性应变,直接污染 resultant proxy。

修改建议 12

壳改用膜/壳公式(面内 2D 应变能 + 由 J=1 决定的厚度减薄),或至少把壳的 ν 提到 0.49+ 并给出敏感性。同时报告 Je(shell) 的分布——0.693 这个数一旦被审稿人反推出来,很难解释。

2.7 材料参数表内部矛盾

表里写的隐含的冲突
Core Poisson ratio = 0.45K/G = 30 → ν = 0.4835同一个量两个值
Core Young modulus = 800 PaG ∈ [170, 4000] Pa, ν=0.4835 → E ∈ [504, 11 868] Pa800 Pa 是什么?均质回退值?
修改建议 13

Table S1 明确 core 哪些行"仅在均质对照中使用"、哪些是异质映射的实际输入;ν 只保留一个来源(建议由 K/G 派生,删掉 0.45)。

2.8 物理上被略过、但必须至少写进 limitation 的四件事

  1. 染色质压实后不变刚:Fg 把核压了 27%,但 G 场保持不变。Finan 那篇的核心正是非线性渗透行为和 321 mOsm 的"变紧阈值"。压实必然增刚。至少跑一个 G ∝ ρⁿ(或 G(Je))的敏感性算例。
  2. 用线性 Ponder 关系外推到 580 mOsm:论文标题就叫 Nonlinear Osmotic Properties,你却用单一 φs 的线性关系外推。必须论证 580 mOsm 仍在适用范围内,或改用 Finan 的非线性形式,或把 φs 的不确定度真正传播进 UQ(而不是手挑 0.65–0.85)。
  3. 无孔弹性/无时间:渗透响应是水的输运问题(秒–分钟尺度),核是孔弹性/黏弹性的。超弹性平衡态 + 强加自然体积删掉了所有速率效应。直接关系到实验:Flipper 在加压后第几分钟测?没到平衡则模型假设与实验条件不匹配。
  4. 核是悬空的:无细胞质、无细胞骨架、无 LINC 耦合。真实高渗休克下整个细胞在缩,骨架在给核加载,这可能主导实际方向。

2.9 各向同性 Fg 与实测形态不符

强加的是各向同性自然收缩,但贴壁细胞核在高渗下主要是变扁(高度方向优先塌陷)。各向异性 Fg 会显著改变壳 resultant 分布。而 §11 恰好提出用"核体积/轴比"做湿实验读出——那就更应该把轴比作为模型的可检验预测做出来。

修改建议 14

补一个各向异性 Fg 敏感性算例,并把预测的三个轴比变化写进 Table S3 作为一条 supported claim + 实验读出。这是全篇少数"模型给出非平凡可测预测"的机会,不要浪费。

2.10 端点量的选择有缺陷

"面积加权的有符号 resultant 平均",在有大面积受压区时会正负抵消(你们自己就撞上了一个穿零算例)。一个壳可以有巨大的等量拉压而平均为零。这也是为什么不得不引入"绝对差"作为对抗性目标。

修改建议 15

主端点换成不会抵消的量:面积加权 max principal resultant、平均 |N|、或壳的总弹性能。原有的有符号平均保留为次要指标。这一改,穿零算例和 −164.35% 这种没有意义的百分数一起消失。

TIER CUQ 设计与可证伪性

3.1 这个预测无法被证伪 —— 最深的科学问题

如果参数盒里不存在任何一点给出"加载",那么 Flipper 的方向性检验就没有区分力:它无法把你的模型和一个平凡假设("东西缩了就松了")区分开。一个不可能错的预测不是检验。

修改建议 16

构造一个真正会给出相反方向的竞争假设,并证明 FEM 在某参数集下确实能产生它。候选:

  • 染色质压实增刚快于体积下降(配合 §2.8-1);
  • 核膜面积守恒而体积下降 → 出现过剩膜面积 → 皱曲而非张力单调下降;
  • 各向异性收缩导致局部张力升高。

然后 Flipper 实验就变成"在两个互斥预测之间做判决",实验价值和论文价值同时上一个台阶。

3.2 UQ 全部跑在 710 顶点网格上,幅度带已知偏差

141 对(282 次求解)全在 coarse_h1p25,而已知该网格把名义点的卸载低估 6.7 pp(−37.9% vs 收敛的 −44.5%)。所以 "P5/中位/P95 = −65.5% / −27.4% / −9.1%" 整体带系统偏差。

好消息是偏差方向保守:粗网格系统性低估卸载幅度(名义点 −37.9 → −40.9 → −42.3;最不利顶点 corner_101011 从 −4.74% 到中等网格 −5.69%,幅度也变大)。

修改建议 17
  • 把这一点从"我们复核了 4 个点"升级成论证:明确写出"粗网格系统性低估卸载幅度,因此粗网格筛查对方向性结论是保守的";
  • 但支撑这个论断 4 个复核点不够。至少把 ±10% 过渡带里的 6 个算例全部在 intermediate P2 重跑(这 6 个才是真正贴近翻号的点,现在只重跑了"最弱"那一个),再加分层抽样 6–10 点;
  • Table S4 加一列 "coarse → intermediate 的幅度漂移"。

3.3 UQ 参数盒漏掉了影响最直接的参数

resultant N = σ·t,壳厚 t 与端点成正比,但 0.12 µm 被固定死、零不确定度,provenance 还标着 assumption。它不会在相对变化里抵消,因为两组的当前厚度不同。

同样缺席的:几何(半轴、长宽比)、核-壳界面耦合(真实是 LAD 部分耦合,比 "shell shrinkage coupling" 更重要)、K/G 比、灰度→模量映射的形状(下一条)。

修改建议 18

把壳厚(如 0.06–0.25 µm)和界面耦合加进参数盒,或在正文显式论证为什么排除。前者更省事。

3.4 灰度标定只约束了 3 个分位点

用低/中/高相比例 57%/31%/12% 做单调标定,这个想法很好,应该在正文更突出。但它只钉住 3 个分位点,箱内映射形状(S 形 vs 分段线性 vs 阶梯)完全自由,而模量跨度是 23.5 倍(170–4000 Pa)。

另外:出版图的灰度不是定量 DNA 密度(显示 gamma、亮区截断、有损压缩);8 张 z 面板线性插值到 50 层是很强的 z 分辨率外推;遮盖 panel A 标记后那块区域填了什么值也没写。

修改建议 19

跑 3–4 个满足同样 3 个分位约束的不同单调映射,报告端点散布;这个散布就是数字化不确定度的诚实估计。遮盖区处理方式(inpaint / 排除出积分域)写进 provenance。

3.5 "顶点覆盖不能证明连续内部" —— 这个自我限制其实可以解决

修改建议 20(把限制变成结果)
  • 路线 A(严格):数值验证端点对 6 个参数各自单调(盒内多点有限差分灵敏度,检查符号一致)。单调性一旦成立,顶点覆盖就严格界定连续内部,这条 claim 从 not supported 直接变 supported。
  • 路线 B(实用):用现有 141 个点建 GP / PCE 代理模型 → Sobol 指数(替掉欠功效的 Spearman)→ 在连续盒内全局最小化组间差 → 找到真正的最不利点 → 真实求解验证。叙述从"我们采了 141 个点"变成"我们在连续参数域内搜索了翻号点并验证了最不利者"。

两条都不贵,路线 B 尤其划算,数据已经在手上了。

3.6 统计表述

§4表述、精度与格式

4.1 有效数字虚高(几乎每个数字都超报)

离散化误差 ≥ 3.6%(同网格 P1/P2),跨离散化的组间变化散布 6.7 pp,但正文在报:

现在报的应改为
−42.34%−44%(或 −44.5%)
0.066064 / 0.038092 mN/m0.066 / 0.038 mN/m
0.725517(源头 φs=0.204 只有 3 位)0.726
0.7350310.735
−4.74% / −5.69% / −164.35%一律降位,最后一个删掉改绝对差

规则:报告精度不能超过验证精度。这是审稿人最容易抓、也最伤信任的一类问题。

4.2 0.735031 与 0.725517 不是同类量

前者是外体积比(含收缩较少的壳),后者是核的自然体积比。拿它们说 "close" 是在比不同的东西。应该比同类:核的平衡体积比 vs 0.726。

4.3 语言与格式

4.4 可复现性

§5Flipper 验证方案的问题

5.1 观测量不匹配,且方向关系未建立

Flipper-TR 的寿命主要反映脂膜张力/脂质有序度,而你们明确声明 proxy 不是脂膜张力。那么 "lamina resultant 下降 → Flipper 寿命下降" 这个方向关系本身就是一个未经证明的假设。现在的逻辑是:用假设 X 去检验预测 Y,而 X 和 Y 的联系没人验证过。

5.2 高渗休克对 Flipper 有多重混杂

一个方向性变化不足以判定力学假说。

修改建议 21
  1. 改做剂量–响应,不是两点比较。测 380 / 450 / 520 / 580 mOsm 四个点,FEM 同样给出四点预测曲线。比"方向对不对"强得多,成本只多两组。投入产出比最高的一条实验建议。
  2. 加正交扰动对照:如 lamin A/C 敲低——显著改变 FEM 预测(壳模量变了),但对脂膜直接效应不同。两者响应可分离,才真正检验了模型。
  3. 加可逆性对照:换回 380 mOsm 看指标是否回复。渗透效应应可逆,光漂白/损伤不可逆。
  4. 加张力无关的对照探针(或 GP 值/Laurdan 类膜序指标),把"张力"与"脂质有序度"两条通路分开。
  5. 明确测量时间点,与模型的平衡态假设对齐(见 §2.8-3)。
  6. 补样本量/功效计算、盲法、预设效应量阈值。现有"不要把像素或单细胞当独立生物学重复"是对的,保留。

5.3 更便宜的第一道验证被漏掉了

模型预测的三轴轴比变化是共聚焦直接可测的,成本远低于 FLIM,而且是模型的非平凡输出(体积比是输入,轴比不是)。现在只在 §11 一句带过,既不在 claims 矩阵里,也不在任何图里。

修改建议 22

把"预测的轴比/形态变化"提升为 Table S3 的一条 supported claim,作为第一道实验验证。配合 §2.9 的各向异性 Fg 敏感性一起做。

图审计第二轮:9 张图逐张核对(2026-08-11)

Main Fig 1–3 与 S1–S6 全部与正文/Table S2 数字一致(−42.3%、0.0661/0.0381、Vnat=0.726/Veq=0.735、corner_101011 的 −0.002078/−0.002486、Spearman 各值均对上),没有图文矛盾。但图里有六个此前只能推测、现在有了直接证据的问题:

F1 压缩面积 28.6% → 62.6%(Fig S4)—— "全局卸载"的实相是大半个壳转入受压

S4 面板 d 标注:对照组压缩面积 28.6%,高渗组 62.6%;P5 最小主合力从 −0.04 恶化到 −0.075 mN/m。也就是说高渗态下壳的大部分面积处于最小主合力受压。这直接加重两条原有批评:真实 lamina 在这种状态下会皱曲,无屈曲模型报告的压缩应力是伪像(§1.7);有符号均值的下降有相当一部分来自符号混合而非均匀松弛,端点量必须换(§2.10)。

F2 作者自己的 "locking audit" 面板实锤了锁定:同网格 P1/P2 峰值差 72%(Fig S2)

S2 左下面板(自题 "Near-incompressibility / locking audit"):mean shell 3.5% 过 10% 门槛,但 resolved shear max 差 ~21%、principal stress max 差 ~72%。锁定不是我的猜测——正文只说"未通过门槛",图上显示的是差了七倍于门槛。§1.6 的换单元建议从"应该做"升级为"必须做"。

F3 高渗组在载荷因子 ≈0.62 处残差瞬时飙升两个数量级(Fig S1)—— 疑似接近分叉

S1 的 "Intermediate P2 nonlinear convergence" 面板:高渗组残差在载荷因子 0.3–0.62 段持续爬升到 ~5×10⁻⁸(比基线高两个数量级),随后回落。这是求解器路过近失稳区的典型指纹,位置正好落在 §1.7 要求做特征值检查的地方。建议对载荷因子 0.5–0.7 区间输出投影切线最小特征值。

F4 变形量级是 O(1) 的,"探针"绝不是小扰动(Fig S1)

位移色标最大 ~2.1 µm(长半轴 7.5 µm 的 ~28%);对照组(无收缩、仅探针+预张力)min J 也降到 0.78。量纲上:壳膜刚度 E·t ≈ 2000 Pa × 0.12 µm = 0.24 mN/m,而探针合力 ~P·R/2 ≈ 0.94 mN/m——载荷超过膜刚度,模型工作在大应变区,P1 锁定在此最严重。另外 Fig 2d 标注对照组 Veq=1.002 > 1:探针在轻微吹胀核——外法向牵引,再次印证 §2.4 的 "shear" 命名与实现不符。

F5 Spearman 面板预告了均质对照的结果:chromatin scale ρ = −0.08(Main Fig 3c)

染色质模量整体 0.5–2 倍缩放与端点变化的相关只有 −0.08(probe 也只有 +0.06)——模量整体翻四倍几乎不动全局端点。这强烈暗示 §2.3 均质对照的结果将是"端点对异质性不敏感",该对照更加必须做,而且论文叙事大概率要按"异质性只影响局部场"那条路线改写。

F6 残差门槛不一致是实质问题,不是笔误(Fig S5)

S5 面板 b:128 个 UQ 平衡解的最大残差散布到 ~1×10⁻⁷ 附近(若干点 6–9×10⁻⁸),图上门槛线画在 1e-6。按正文的 1e-6 全部通过;按 Table S1 写的 1e-7,若干 UQ 算例贴线甚至越线——两个门槛的矛盾(§1.5)直接改变部分算例是否通过验收,必须统一并重新声明。

图里做得好的:S5 面板 d 已经用有界对称变化量审计了穿零分母问题——这个量应升入正文替代 traditional %(正合 §3.6 建议);S2 三相体积分数 gate 双色条完全重合,数字化管线自检通过;全部图文数值一致。

可视化小问题

代码审计第三轮:源码逐项核对(2026-08-11)

审计对象:submission_ready_nature_optimized_20260810(1).zip 中 05_Source_Data 的 8 个 Python 文件(共 9 650 行,重点 nonlinear_solver.py 2 298 行与主运行脚本 1 586 行)。此前存疑的四件事全部定案,其中一条是我此前批错了,撤回。

C1 撤回 §2.4 的指控:探针确实是剪切,名实相符

代码构造均匀对称名义应力张量 σ = τ(ex⊗ey + ey⊗ex)(τ=375 Pa),施加牵引 t₀ = σ·N 于参考外表面。因 σ 为常张量且对称,∫σN dA = 0、合矩为零——"self-equilibrated shear probe" 的实现是对的,文档 §9 的 "t₀ = P̄·N" 里 P̄ 是应力张量而非压力,是我误读。遗留问题缩小为表述:正文应写出该张量定义,并明确这是参考构型 dead load(代码用 reference normals,两组因此受严格相同的外载——这正是 "same probe" 的实现,值得明说)。

C2 证实 §2.5:预张力是 u=0 时严格零贡献的残差化初应力

first_piola += (F−I)·S₀、切线 += I⊗S₀:参考态残差为零,预张力只随变形激活。因此对照组实际实现的壳张力是求解输出,不等于标称 0.05 mN/m。且 resultant proxy 里把推前初应力 F·S₀·Fᵀ/J 加进了 Cauchy 应力——0.066 这个头条数字确实包含全部预张力贡献,机制分解(建议 8)的必要性升级。同时代码里还有一个正文完全没提的 initial_prestress_heterogeneity 选项(默认 0,未启用,无碍)。

C3 重大利好:均质核对照的代码路径已经存在

core_heterogeneity_model="homogeneous" 是现成分支,走 cfg.core(E=800 Pa、ν=0.45)。建议 9(第二优先级)就是改一个参数重跑两次的事。同时 Table S1 的参数矛盾(§2.7)解密:800 Pa/0.45 是均质回退值,异质运行时被十组 G∈[170,4000]、K/G=30 覆盖——表里必须标注清楚这两套参数各自何时生效。

C4 proxy 公式找到了(正文必须补写)

外表面积分点上:取切向两个主 Cauchy 应力(含推前初应力),乘以当前厚度 = 0.12 µm × 法向厚度伸缩,其中法向伸缩以 J/面积伸缩运动学估计;mean resultant = (σ₁+σ₂)/2 × tcur,面积加权用当前面积。这印证它是代理量而非穿厚积分(代码内部注释也如此声明)。公式本身自洽,但手稿正文一处都没写——建议 5 维持,照此写入方法学即可。

C5 证实 §1.3/1.4/2.6:逐单元材料赋组 + gmsh 薄层实体壳,且网格生成脚本缺失

染色质是 CellwiseCoreHeterogeneity——每个四面体按 50³ 场赋一个组号,材料场随网格变化(P1/P2 极限不一致的根源证实)。壳是 gmsh 网格 ellipsoid_core_shell.msh 里内缩 0.12 µm 的实体四面体薄层,ν=0.35 体积压缩伪像(§2.6)成立,且薄层四面体在 h=0.45–1.25 µm 下必为极端长宽比单元,单元质量需报告。可复现性缺口:生成 .msh 的脚本不在压缩包里,与 §10 "custom code included" 的声明冲突,投稿前必须补入。

三轮审计后的总账:文档、图、代码三者相互一致,没有发现造假或图文不符;主要问题集中在(a)离散化选择与收敛表述(Tier A,全部维持)、(b)预张力主导端点且未分解(维持并升级)、(c)均质对照缺失(维持,但现在只需改一个参数)、(d)表述/公式缺失(维持)。撤回一条:探针载荷类型(原 §2.4),降级为纯表述问题。

解析分解第四轮:闭式推导(2026-08-11)

这一轮不需要跑任何算例,只用代码里的公式做闭式推导,再用���发表的两个端点数字对账。结论改写了正文该怎么写,也撤回了我前面的一条批评。可运行脚本:17_analytic_membrane_reference.py(纯 numpy,无依赖,直接出下面全部数字)。

A1 平衡用 (F−I)·S₀,报告用 F·S₀·Fᵀ/J —— 两者不是同一个本构声明

位置用的式子在 u=0 处
平衡与切线(_region_forms)PK1 += (F − I)·S₀= 0
报告的 proxy(_write_outer_surface_resultants)σ += F·S₀·Fᵀ / J= S₀

各自都站得住,但合在一起意味着:参考构型之所以平衡,是因为从残差里减掉了一个参考态常数项——模型隐含假设存在一个把预应力参考态撑住的虚拟平衡载荷,并把它当 dead load 一路带下去。手稿从未提及。这必须写进方法学:一个受预张力的闭合壳不可能自己平衡,必须有核内压力配平。

A2 预张力对报告值的贡献是一个与变形无关的常数 —— 我的原批评撤回

proxy 取切向主 Cauchy 应力 × 当前厚度,而当前厚度按 Nanson 取 λ_n = J/J_s。对预应力项这两个因子恰好抵消:

N_pre = ½·tr_tang(F S₀ Fᵀ/J)·t₀·(J/J_s) = S₀·t₀·(λ₁/λ₂ + λ₂/λ₁)/2

等双轴时恒等于 S₀·t₀ = 0.05 mN/m,且由均值不等式永远不小于它(多出来的部分纯粹是面内各向异性,与体积变化无关)。脚本用 200 个随机变形数值验证:最小值恰好落在 0.050000。

所以预张力在两组之间相消,绝对差 −0.027972 mN/m 基本不含预张力的直接贡献。我此前"−42% 主要是预张力松弛"的判断,在直接意义上是错的,撤回。

A3 但扣掉这个常数后,弹性合力变号了

量报告值减去 0.05 常数
Control0.066064+0.016064
Hyperosmotic0.038092−0.011908
变化−42.34%−174.13%

三个后果,都比我原来那条批评更重要:

  1. 头条百分比被一个假设常数稀释了。−42.34% 的分母有 76% 是 provenance 为 assumption 的加性常数。把预张力在它自己的 UQ 区间(0.025–0.1)里挪一挪,报告的百分比会大幅改变而力学几乎不变——这正好解释了 UQ 里 pretension 的 Spearman ρ=+0.29 从何而来。主指标必须改用绝对差(与 §3.6 建议一致)。
  2. 高渗态下壳处于净弹性受压。这与 Fig S4d 的压缩面积 62.6% 独立吻合。真实 lamina 受压会皱曲,而模型不含屈曲——稳定性检查(脚本 05)从"应该做"变成"不做就不能报"。
  3. 那个穿零的 UQ 算例不是异常点,是同一现象在更低预张力下的表现。

A4 闭式膜合力:方向性是本构的推论,不是发现

对实现的应变能施加平面应力 σ₃₃=0,解得:

N_elastic = (μ·t₀/g²)·(1 − (λ_t/λ)²)

脚本数值验证:N 在自然态 λ = g 处严格为零(求得零点 0.963631 vs g = 0.963257),且在 λ∈[0.80, 1.10] 上严格单调递增。各向同性自然收缩必然降低 λ,因此必然降低 N。

这条直接兑现修改建议 7

方向性用一行解析结论陈述即可,参数盒里不存在能翻号的点——这是本构的性质,不是 141 个算例的经验发现。Main Figure 3 腾出来放幅度分解和机制归因。同时这也说明为什么 Flipper 的"方向检验"没有区分力(§3.1):模型在方向上不可证伪,必须构造能给出相反预测的竞争假设。

脚本补算脚本下载

全部脚本只驱动现有代码,不修改任何上游源文件——两个没有命令行开关的选项(均质核、稳定性模态)用运行时 patch _options 实现,上游代码树保持干净可 diff。每个脚本都支持 --dry-run,先看计划再跑。

前提:脚本必须跑在真实工程树上,不能跑在投稿包上。审计发现投稿包 05_Source_Data 里的脚本无法独立运行——它 import 的 src/nuclear_envelope_fem/、run_extreme_finite_deformation.py(提供 BASE_CONFIG/MESHES/_run_case)、run_vaziri_finan_two_group.py、gmsh 网格 ellipsoid_core_shell.msh 及其生成脚本、染色质 .npz,一个都不在包里。这与 §10 "custom code ... included in this local submission package" 的声明冲突,投稿前必须补齐。

⬇ 下载完整报告(Word,五轮整合版) ⬇ 下载全部脚本(zip)

文件作用求解次数状态
README.md运行顺序与前提说明——
_common.py共用:导入上游 runner、运行时 patch、读端点—已验证
01_run_main_p2.shproduction 换 P2(--include-main-p2 上游已有)2已验证
02_run_mechanism_decomposition.py预张力 / 探针 / 完整 三配置机制分解6已验证
03_run_homogeneous_control.py均质核对照(patch 成 homogeneous)4已验证
04_equivalent_core_modulus.py用上游同一个 loader 算 Voigt/Reuss 等效模量0已验证
05_run_stability_check.py把 stability_modes 从 0 打开成 6复用已验证
06_collect_results.py出修订版 Table S2 + 分解表 + 对照表0回归验证
17_analytic_membrane_reference.py解析分解:预张力不变性 + 闭式膜合力 + 单调性0已运行

06_collect_results.py 已用已发表的 Table S2 数据做回归验证,输出与手工复算逐位一致:Control/P1 观测阶 2.89、GCI 0.59%;Hyperosmotic/P1 因增量变号被拒绝给 GCI;跨离散化散布 −37.91% ~ −44.64%。收敛判定是内置的、不迁就——非单调就不出数并说明理由。

这批脚本改不了的四件事

以下只能改代码或改写正文:(1)材料场随网格变(逐四面体赋组),需网格无关的 L² 投影;(2)壳是 ν=0.35 的可压缩实体薄层,最小 J_e≈0.69 即 31% 体积压缩,应改膜/近不可压公式;(3)proxy 公式与探针应力张量定义正文缺失(代码里都有,照抄即可);(4)A1 那个虚拟平衡载荷假设必须写明。

第二梯队脚本(已完成)

文件作用验证状态
10_material_projection_convergence.py材料场混叠诊断(三层证据)+ 积分阶零对照已在发表数据上复现 1.54% 缺口
11_verify_tangent_fd.py一致切线 vs 中心差分,4 个分支 + 对称性FD 机制已用解析 Jacobian 验证
12_benchmark_thick_sphere.py厚壁球基准:均匀生长恒等式(精确)+ 1D BVP 参考参考 ODE 已用独立 RK4 交叉验证
13_rerun_transition_band.py±10% 过渡带 6 例 + 分层抽样在 P2 重跑带内成员与 LHS 种子已逐位复现
14_surrogate_sobol_worstcase.py代理 + Sobol + 单调性 + 连续域最不利点搜索已在真实 141 点上实跑
15_extended_parameter_box.py壳厚扩参数盒(界面耦合给出所需代码改动)锚点复现发表值 −37.9057%
16_anisotropic_growth_axis_ratio.py各向异性 F_g + 轴比预测体积守恒到 1e-15;轴比提取 O(h²)

脚本 14 已在已发表的 141 个设计点上实跑,产出了 §E3/E4 的全部结论。脚本 15 顺带给出一个可证伪的一阶预测:壳厚在 0.06–0.25 µm 内变动会把头条百分比从约 −21% 拉到 −67%(对比 shell_young_pa 的 −17.0% ~ −74.6%),即一个从未被扫过的输入具有顶级杠杆——脚本把这个估计与求解值并排打印,便于证伪。

第五轮脚本落地后的新证据(2026-08-11)

第二梯队 7 个脚本写完并在已发表数据上实跑,又查���五件事。第一件是目前为止最严重的数值问题。

E1 粗网格的染色质相分数超出项目自己的验收门槛 3 倍,而全部 UQ 都跑在这张网格上

投稿包 heterogeneous_two_group_summary.csv 里就带着这个数据,我逐行核验:

离散化lowmidhigh最大偏差门槛 ≤0.02
intermediate_h0p75 P1/P20.56940.31000.12050.0006PASS
main_h0p45 P10.56940.31000.12050.0006PASS
coarse_h1p25 P1/P20.50710.35400.13890.0629FAIL(3.1×)

目标是 Reynolds 报告的 57%/31%/12%,项目自定门槛 ≤0.02。粗网格偏差 0.0629,超标 3.1 倍。而 numerical_acceptance.json 里的门槛键名全是 primary_phase_fraction_*——只对 primary mesh(intermediate)检查,粗网格的失败因此从未浮出水面。后果有两层:

  1. 全部 141 对 / 282 个平衡解(UQ + 边界应力设计)都跑在这张网格上(reynolds_finan_epistemic_uq.json 记录 mesh: coarse_h1p25, element_degree: 1)。所以 UQ 不只是幅度有偏,它求解的是一个数字化未通过验收的染色质场。
  2. 粗网格还是 P1 三点 Richardson 外推的基点。外推建立在一个材料场超差 3 倍的点上。
修改建议 23(新增,优先级等同第一梯队)

把相分数门槛对每一张参与结论的网格逐一检查并在 Table S2 里列出,不能只查 primary。粗网格未通过就不能作为 Richardson 基点,也不能作为 UQ 的唯一网格——UQ 至少要在 intermediate 上重做一个有代表性的子集(脚本 13 就是干这个的)。

E2 精化 §1.3:混叠与锁定是两个可分离的问题,我之前混为一谈

关键观察:同一网格上 P1 与 P2 的相分数逐位相同(元素集合不随阶次改变)。所以:

我原文说"P1/P2 外推到不同极限,几乎肯定是材料重采样为主因"——这句要修正为:P1 的 h 序列因基点材料场超差而不可靠,P2 与 P1 的同网格差则是锁定。两个病因分别对应两条不同的修法(换单元 vs 网格无关投影),不能只做一个。

E3 Sobol 分析独立证实了预张力的"假灵敏度"

用 141 个已解算点拟合代理模型(留一交叉验证 R²=0.9585),对绝对差做方差分解:

输入S_iS_Ti(总效应)已发表 Spearman ρ
shell_young_pa0.3450.393−0.644
shell_coupling0.2850.336+0.225
natural_volume_ratio0.2100.277+0.559
chromatin_modulus_scale0.0010.001−0.079
probe_shear_stress_pa0.0000.000+0.057
pretension_mn_per_m0.00000.0000+0.293

预张力按已发表 ρ 排第 3,按总效应 Sobol 排第 6,指数为零。这与第四轮的解析结论完全吻合、且方法完全独立:预张力是加性常数,只抬高百分比的分母,对绝对差几乎无作用。发表的 ρ=+0.29 是归一化的假象,不是力学灵敏度。

另外两点:一阶指数之和 0.842,交互作用占方差 15.8%——秩相关完全看不见这部分;shell_coupling 按 Sobol 排第 2,比按 ρ 排的第 4 高一位。

E4 顶点覆盖确实不界定连续内部——而且代理找到了比所有已解顶点更接近翻号的点

单调性检验:shell_young_pa 上有 0.4% 的随机直线出现反转,最大反转 1.07× 交叉验证 RMSE。虽弱,但足以说明极值可以落在盒内部而非顶点——手稿那条"顶点覆盖不证明连续内部"的自我限制是必要的,不是过度谨慎。

连续域搜索给出的最不利点预测值 −0.001884 mN/m,优于最佳已解顶点 corner_101011 的 −0.002078,且加 1σ 后上界触及零。也就是说"全域卸载"这个claim,按代理自身的不确定度衡量并不安全。脚本已生成对应的真实求解命令——必须解出来才能下结论,代理预测不是证据。

E5 两个更小但需要交代的问题

§6优先级与工作量

第一梯队 —— 不做就会被拒(约 2–3 天,多数是算力)

#动作求解次数对应节
1机制分解:pretension=0 / probe=0 / 完整6§2.2
2均质核对照2§2.3
3production 换 P2,补 main_h0p45_P22§1.1
4头条数字改 −44%,全文有效数字降位0§1.1, §4.1
5写清壳的单元公式 + resultant proxy 定义式0§1.4
6相对残差替代绝对残差;统一 1e-6/1e-70§1.5
7正文写出探针应力张量定义与 dead-load 声明(实现已核对无误,见 C1)0§2.4, C1
8高渗组非单调收敛如实报告,重写 Table S3 对应 reason0§1.2

第二梯队 —— 决定能投什么档次的刊物(1–2 周)

#动作求解次数对应节
9解析推导 dN/dλ > 0,方向性从 "UQ 发现" 改为 "解析结果",重构 Fig 30§2.1
10材料场网格无关投影 + 积分阶收敛检查~6§1.4
11稳定性检查(投影切线最小特征值)复用已有解§1.7
12代码验证三件套(FD 切线 / 解析基准 / 独立软件交叉)~10§1.8
13±10% 过渡带 6 算例 + 分层 6–10 点在 intermediate P2 重跑~30§3.2
14GP/PCE 代理 + Sobol + 连续域全局最不利点搜索与验证~10§3.5
15壳厚、界面耦合加入参数盒~30§3.3
16各向异性 Fg 敏感性 + 轴比预测~6§2.9, §5.3
17壳改膜/近不可压公式重跑主算例§2.6

第三梯队 —— 提升科学分量

#动作对应节
18构造会给出相反方向的竞争假设(压实增刚 / 面积守恒皱曲),做成判决性实验§3.1
19灰度映射形状不确定度(3–4 个满足同分位约束的映射)§3.4
20Flipper 改剂量–响应 + 正交扰动 + 可逆性 + 序参量对照§5.2
21全文统一英文、Nature 格式化、参考文献拆条§4.3

一句话总结

数值上:报的是五个离散化里最不收敛的那一个,正确答案是 −44.5% 而不是 −42.34%,且高渗组的 h 收敛非单调——改用 P2 之后这些问题一起消失,结论还会变强。
力学上:结论方向是模型构造决定的,141 个不翻号的点证明不了稳健性——闭式推导给出 N = (μt₀/g²)(1−(λ_t/λ)²),在自然态严格为零且对 λ 单调,参数盒里不存在能翻号的点。扣掉预张力那个与变形无关的 0.05 mN/m 常数后,弹性合力从 +0.016 变到 −0.012 mN/m,是变号而不是松弛;头条百分比的分母有 76% 是假设常数,主指标必须改绝对差。
科学上:均质核对照没做,"异质染色质"这个卖点与头条结论之间目前没有因果链;预测不可证伪,Flipper 方向检验没有区分力——补一个能给出相反预测的竞争假设,这篇文章的性质就变了。