1. 引言
Navier-Stokes方程作为描述流体运动的核心方程,在航空航天、生物医学等领域的数值求解中面临严峻挑战:一方面,其非线性与耦合性需依赖算子分裂、多尺度模型等复杂算法(如分离流模拟中粘性项与对流项的分步离散);另一方面,现有数学工具难以对算法的“选择–执行–结果”全流程进行严格刻画。集合论仅能静态描述数据集合,无法捕捉操作与结果的动态生成关系;范畴论虽能在抽象层面统一不同算法的结构共性,但其“对象–态射”的高度抽象性与计算机数值计算的工程需求脱节,难以直接转化为可执行的追踪逻辑[1]。
为填补这一空白,Ling提出广义映射理论(GMT),通过“对象集
–操作集
–结果集
–生成关系
”的四元框架,实现动态行为–结果关联的数学建模,其第一种确定性形式(
)已被验证可描述静态分布与简单动态过程[2]。此前研究中,基于GMT第一种形式的简化NS方程代码实验已初步验证该理论的可行性:在二维管道流模拟中,通过将初始流场定义为对象集、有限差分离散定义为操作集,成功实现速度场演化的透明追踪[3] [4]。
在文献[5]中,用GMT理论的嵌套形式,分别描述了常微分方程,偏微分方程和随机微分方程以及随机积分方程。以文献中最复杂的随机积分举例如下:
方程形式:
(
为初始值,描述由确定性积分与随机积分叠加的过程) [6]。
嵌套逻辑:
第一层映射(组件描述,含概率性):
描述初始值
:对象集
(常数),操作集
,结果集
,即
。
描述确定性积分
:对象集
,操作集
(黎曼积分运算),结果集
,即
。
描述随机积分
:对象集
,操作集
(伊藤积分运算),结果集
,概率集
,即
。
第二层映射(方程构建):通过“加法”与“等号”关联
,设操作集
,结果集
,则
。
完整嵌套形式:
以上只是用嵌套形式对方程本身的描述进行重构表达,并不涉及方程的数值计算过程,具体的数值计算过程可以根据具体的算法和定位(就是我们希望在运行中输出哪些计算过程信息)需要,对计算过程进行重构封装,不需要定位的不建议重构封装,因为目前来看,定位的重构封装会增加算法的时间和空间复杂程度。
而要将伊藤积分(以随机微分方程
为核心的随机分析对象)用范
畴论表达,需从范畴的构造、态射的定义以及结构间的函子关系入手,以下是关键思路:
1) 定义基础范畴Stoch (随机分析范畴)
对象(Objects):
取“带滤波的概率空间上的随机过程类”为对象。具体来说,对象可表示为
,其中:
是概率空间;
是满足“通常条件”(右连续、包含所有零概率集)的滤波(用来描述“信息随时间的演化”);
是适应于该滤波的随机过程(即对每个
,
是
-可测的,保证“时刻
的过程值仅依赖于时刻
前的信息”)。
态射(Morphisms):
态射是“保持随机结构的映射”,通常取随机过程间的适应映射(或更严格的“随机流”“鞅变换”等,依研究粒度而定)。例如,若有对象
和
,态射
需满足:对每个
,
且
适应于
所在的滤波(或自身的滤波)。
2) 伊藤积分的“函子化”表达
伊藤积分是“从‘被积过程空间’到‘积分过程空间’的映射”,可通过函子来刻画这种“空间的变换与态射的保持”。
被积过程的范畴Integrables:
对象是“满足伊藤可积条件的随机过程”(如关于布朗运动
平方可积的适应过程
);态射是“过程间的适应变换”(如
的适应映射)。
积分过程的范畴Integrals:
对象是“伊藤积分的结果过程”(如
);态射是“积分过程间的变换”(由被积过程的态射诱导)。
伊藤积分函子
:
对象层面:将被积过程
映射为积分过程
;
态射层面:若有态射
(被积过程的适应变换),则诱导态射
,保持“积分随被积过程的变换规律”。
3) 随机微分方程的“范畴论整合”
完整的随机微分方程
可视为范畴间的态射复合或函子的联合作用:
确定性积分
对应“从过程到其Lebesgue积分过程”的函子
(类似伊藤积分函子,但针对Lebesgue积分);
随机微分方程的解过程
,可看作“初始对象
经
(确定性积分)与
(伊藤积分)作用后,在Stoch范畴内的‘极限’或‘解对象’”。
从上面的案例可以看出用范畴论描述伊藤积分比较麻烦,难以理解,最重要的是难以直接代入计算,而用GMT (广义映射理论)去描述伊藤积分,层次结构清晰,容易理解,而且可以进行计算。
在此基础上,本文进一步拓展GMT的应用场景,聚焦两类高复杂度NS方程数值实验:1) 汽车外流场模拟(高雷诺数湍流、复杂几何边界),需融合WENO对流离散与动态压力重构算法[7];2) 血栓形成血流模拟(气液两相流、剪切率依赖的生物力学效应),涉及涡粘度模型与血小板输运方程的耦合[8]。本文的核心工作包括:1) 构建适用于两类实验的GMT张量映射框架,明确对象集的物理参数张量、操作集的算法离散规则、结果集的流场分支定义;2) 给出两类实验算法执行过程的详细数学描述,包括算子分裂的子操作映射、多模型融合的概率加权逻辑;3) 通过与传统spio算法、投影方法的比对,验证框架的描述精度与计算兼容性。
2. 汽车NS方程数值计算过程的GMT数学描述
2.1. 对象集A (初始输入集合)
A包含数值求解所需的初始与静态信息,具体为:
物理参数集合:雷诺数
、来流速度
、特征长度
、运动粘度
、空气密度
;
计算域参数集合:计算域尺寸
、
、
,网格数
、
、
,网格步长
、
、
;
时间参数集合:时间步长
、总时间
,时间步数
;
汽车参数集合:车身长度
、宽度
、高度
;
网格坐标张量:
,为计算域内各网格点的坐标张量;
初始流场张量:初始速度场
(初始速度全为0,入口边界
),初始压力场
(初始压力全为0);
几何张量集合:车身区域掩码张量
(标记车身占据的网格点)、车身表面区域掩码张量
(标记车身表面的网格点)、车身表面法向量张量
(车身表面各点的单位法向量)。
2.2. 操作集F (离散操作集合)
F是用于离散求解Navier-Stokes方程的操作集合,随迭代动态更新,包含以下子操作:
对流操作
:通过中心差分与曲率感知通量限制器离散对流项
,数学上表示为
,其中
为四阶对流权重张量,
为当前速度场张量,通量限制器
(curvature为曲率场,
为防除零小量);
粘性操作
:通过拉普拉斯差分与自适应粘性系数离散粘性项
,数学上表示为
,其中
为四阶拉普拉斯权重张量,自适应粘性系数
(Ω为涡量场,
为指示函数);
压力修正操作
:通过7次邻域平均迭代离散压力泊松方程的近似形式,数学上表示为
,其中
为四阶邻域平均权重张量,
为中间速度场张量,
为压力修正量,迭代规则为
(
,
为法向散度);
边界条件操作
:对速度场和压力场应用边界条件(入口、出口、车身无滑移、风洞壁面等),数学上表示为
,
,其中
为边界权重张量;
源项操作集合:
壁面摩擦操作
:离散壁面摩擦效应,数学上表示为
(
为速度模);
尾涡阻尼操作
:离散尾涡阻尼效应,数学上表示为
(
为尾涡区域掩码张量)。
2.3. 结果集
(第k步迭代结果集合)
包含第k步迭代的中间与最终结果,具体为:
中间速度场张量
,由动量方程无压力项部分离散得到,即
;
压力修正量张量
,由压力修正操作
作用于中间速度场法向散度得到;
最终速度场张量
,由中间速度场经压力梯度修正得到,即
(
为松弛因子);
最终压力场张量
,由初始压力场经压力修正量松弛叠加得到,
;
涡量张量
,由速度场旋度计算得到,即
;
气动力系数对
,由压力力与粘性力在车身表面的积分无量纲化得到,即
,
(
为压力力分量,
为粘性力分量,
为来流动压,
为车身参考面积);
性能指标集合:第
步迭代耗时
、内存占用
。
2.4. 迭代映射关系
1) 操作集自迭代(更新操作集):
基于第
步的涡量张量
调整粘性操作
中的自适应粘性系数
,更新规则为
(
为网格点坐标,
为指示函数),得到第
步操作集
,其余子操作(对流、压力修正、边界条件、源项等)保持与
一致。
2) 原集不变迭代(生成结果集):
固定对象集
,通过第
步操作集
生成第
步结果集
,具体步骤为:
对流项计算:
;
粘性项计算:
;
源项计算:
,
;
中间速度生成:
;
法向散度计算:
;
压力修正生成:
(经7次邻域平均迭代);
最终流场更新:
,
;
边界修正:
,
;
辅助量计算:
,
(
为壁面粘性应力),并记录
、
。
2.5. 全局执行流程
1) 初始化(
):通过
生成初始结果集
,其中
按入口边界初始化(入口
,其余速度分量为0),
,
,
。
2) 迭代求解(
到
):对每个时间步,先执行操作集自迭代
,再执行原集不变迭代
,更新结果集。每间隔一定步数(如
、
),输出当前迭代信息并进行流场与性能可视化。
3) 最终结果输出(
):通过
生成最终结果集
,包含最终速度场
、压力场
、气动力系数
与总性能指标(总耗时、平均步长耗时、峰值内存)。
3. 血栓流动模拟NS方程数值计算过程的GMT数学描述
3.1. 对象集A (初始输入集合)
A包含数值求解所需的初始与静态信息,具体为:
物理参数集合:雷诺数
、来流速度
、特征长度
、运动粘度
、空气密度
;
计算域参数集合:计算域尺寸
、
、
,网格数
、
、
,网格步长
、
、
;
时间参数集合:时间步长
、总时间
,时间步数
;
汽车参数集合:车身长度
、宽度
、高度
;
网格坐标张量:
,为计算域内各网格点的坐标张量;
初始流场张量:初始速度场
(初始速度全为0,入口边界
),初始压力场
(初始压力全为0);
几何张量集合:车身区域掩码张量
(标记车身占据的网格点)、车身表面区域掩码张量
(标记车身表面的网格点)、车身表面法向量张量
(车身表面各点的单位法向量)。
3.2. 操作集F (离散操作集合)
F是用于离散求解Navier-Stokes方程的操作集合,随迭代动态更新,包含以下子操作:
对流操作
:通过中心差分与曲率感知通量限制器离散对流项
,数学上表示为
,其中
为四阶对流权重张量,
为当前速度场张量,通量限制器
(curvature为曲率场,
为防除零小量);
粘性操作
:通过拉普拉斯差分与自适应粘性系数离散粘性项
,数学上表示为
,其中
为四阶拉普拉斯权重张量,自适应粘性系数
(
为涡量场,
为指示函数);
压力修正操作
:通过7次邻域平均迭代离散压力泊松方程的近似形式,数学上表示为
,其中
为四阶邻域平均权重张量,
为中间速度场张量,
为压力修正量,迭代规则为
(
,
为法向散度);
边界条件操作
:对速度场和压力场应用边界条件(入口、出口、车身无滑移、风洞壁面等),数学上表示为
,
,其中
为边界权重张量;
源项操作集合:
壁面摩擦操作
:离散壁面摩擦效应,数学上表示为
(
为速度模);
尾涡阻尼操作
:离散尾涡阻尼效应,数学上表示为
(
为尾涡区域掩码张量)。
3.3. 结果集
(第k步迭代结果集合)
包含第
步迭代的中间与最终结果,具体为:
中间速度场张量
,由动量方程无压力项部分离散得到,即
;
压力修正量张量
,由压力修正操作
作用于中间速度场法向散度得到;
最终速度场张量
,由中间速度场经压力梯度修正得到,即
(
为松弛因子);
最终压力场张量
,由初始压力场经压力修正量松弛叠加得到,即
;
涡量张量
,由速度场旋度计算得到,即
;
气动力系数对
,由压力力与粘性力在车身表面的积分无量纲化得到,即
,
(
为压力力分量,
为粘性力分量,
为来流动压,
为车身参考面积);
性能指标集合:第
步迭代耗时
、内存占用
。
3.4. 迭代映射关系
1) 操作集自迭代(更新操作集):
基于第
步的涡量张量
调整粘性操作
中的自适应粘性系数
,更新规则为
(
为网格点坐标,
为指示函数),得到第
步操作集
,其余子操作(对流、压力修正、边界条件、源项等)保持与
一致。
2) 原集不变迭代(生成结果集):
固定对象集
,通过第
步操作集
生成第
步结果集
,具体步骤为:
对流项计算:
;
粘性项计算:
;
源项计算:
,
;
中间速度生成:
;
法向散度计算:
;
压力修正生成:
(经7次邻域平均迭代);
最终流场更新:
,
;
边界修正:
,
;
辅助量计算:
,
(
为壁面粘性应力),并记录
、
。
3.5. 全局执行流程
1) 初始化(
):通过
生成初始结果集
,其中
按入口边界初始化(入口
,其余速度分量为0),
,
,
。
2) 迭代求解(
到
):对每个时间步,先执行操作集自迭代
,再执行原集不变迭代
,更新结果集。每间隔一定步数(如
、
),输出当前迭代信息并进行流场与性能可视化。
3) 最终结果输出(
):通过
生成最终结果集
,包含最终速度场
、压力场
、气动力系数
与总性能指标(总耗时、平均步长耗时、峰值内存)。
本次实验只是用了GMT理论对血栓NS数值计算的初期部分做了重构包装,以方便在程序中定位不同的算子(算子分裂方法)在计算中的贡献,没有对全局的计算过程进行重构包装,因为全局重构包装非常消耗时间和空间,在实际操作中,可以根据需要对关键步骤重构包装,用来追踪计算过程。
两次数学描述的实验代码和实验结果都在附录的代码链接中,广大同仁可以用代码进行复现,研究GMT封装执行步骤的过程。
4. 总结
本文提出的基于GMT的数学框架,首次实现了NS方程数值算法从“经验设计”到“严格数学描述”的跨越:相比范畴论的抽象统一,GMT通过张量拓展具备计算可行性;相比传统集合论的静态描述,GMT通过生成关系保留操作–结果的动态路径。两个实验案例表明,该框架可精准刻画高雷诺数湍流、多物理场耦合等复杂场景下的算法执行逻辑,使算子分裂的子步骤、模型参数的选择依据均成为可追踪的数学单元,为NS方程数值算法的透明化提供了统一工具。
未来研究可从三方面拓展:1) 将GMT概率形式进一步应用于多尺度湍流模拟,实现亚格子模型不确定性的定量描述;2) 结合机器学习,通过GMT映射的操作关联性优化算法选择策略;3) 建立GMT描述与硬件加速(如GPU并行计算)的适配规则,推动透明化算法的工程落地。期待更多研究者加入GMT理论在流体力学领域的拓展,共同推动NS方程数值算法从“黑箱经验”走向“透明可控”的标准化时代。
附 录
实验代码链接(论文已经展示的实验和没有展示的实验):https://gitee.com/riririiririiriir/GMT-on-NS