力学的基础

力学是一个层级分明、逻辑严密的庞大体系,可以从核心理论基础、物理力学领域、工程力学领域和交叉学科领域四个层面来理解。

一、 核心理论基础

这些是力学的基石,是所有应用学科的源头。

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

经典力学

牛顿三大定律、万有引力定律、伽利略相对性原理。

宏观、低速(远低于光速)物体的运动规律。是工程、天文学等领域的基础。

分析力学

最小作用量原理、达朗贝尔原理、拉格朗日方程、哈密顿原理、正则方程。

以能量和变分为核心,用更普适的数学形式描述力学系统,特别适用于约束系统。

连续介质力学

质量、动量、能量三大守恒定律,加上描述材料特性的本构关系

为固体力学和流体力学提供统一的理论框架,研究变形体在力作用下的宏观行为。

统计力学

刘维尔定理、等概率假设、玻尔兹曼方程、系综理论。

从微观粒子(原子、分子)的运动和相互作用出发,解释和推导宏观物质的热力学性质。

量子力学

薛定谔方程、算符、对易关系、海森堡不确定性原理。

描述微观粒子(原子、亚原子粒子)的运动规律,是现代物理学、化学和材料科学的支柱。

相对论力学

狭义相对论(洛伦兹变换)、广义相对论(爱因斯坦场方程)。

研究高速(接近光速)和强引力场下的物质运动规律,是现代宇宙学和天体物理学的基础。

热力学

热力学三定律、熵增原理。

研究热现象、能量转换以及系统平衡态的性质,是工程热物理、化学和材料科学的基石。

二、 物理力学领域

以物理本质和尺度划分,研究特定状态或尺度下的物质运动规律。

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

固体力学

弹性力学、塑性力学、断裂力学、本构理论。

研究可变形固体在外力作用下的应力、应变、变形、破坏和稳定性。

流体力学

纳维-斯托克斯方程、伯努利原理、边界层理论。

研究液体和气体的运动规律、受力、传热传质以及与固体的相互作用。

空气动力学

可压缩/不可压缩流动理论、升力与阻力理论、激波理论。

研究空气与物体(飞机、汽车、建筑)的相对运动,是航空航天工程的核心。

水动力学

波浪理论、势流理论、粘性流动理论。

研究水体的运动、波浪传播、船舶航行阻力、海洋平台载荷等。

岩石力学

岩体结构理论、强度理论、地应力理论。

研究岩石的力学性质,应用于隧道、矿山、边坡、石油开采和地震研究。

土力学

有效应力原理、固结理论、莫尔-库仑强度准则。

研究土的工程性质,应用于地基、堤坝、基坑、地下工程的设计与分析。

计算力学

有限元法、有限差分法、有限体积法、分子动力学。

利用计算机和数值方法求解力学问题,是几乎所有工程设计的核心工具。

实验力学

相似理论、量纲分析、光测/电测/声测技术。

通过物理实验方法测量和分析材料的力学行为,是验证理论和仿真结果的关键。

三、 工程力学领域

将力学原理应用于特定工程对象或场景。

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

结构力学

结构分析理论、能量原理、力法/位移法。

研究工程结构(桥梁、建筑、机械)在载荷下的内力、变形、稳定性与振动。

材料力学

材料强度理论、梁理论、柱理论、能量法。

研究工程材料在力、热等载荷下的强度、刚度和稳定性,是机械、土木设计的基础。

振动力学

单/多自由度系统振动理论、模态分析、随机振动。

研究系统的振荡现象,应用于减振降噪、故障诊断、精密仪器和地震工程。

断裂力学

应力强度因子、能量释放率、J积分。

研究含缺陷/裂纹结构的强度和扩展规律,用于评估结构的安全性、寿命和失效。

损伤力学

损伤变量、损伤演化方程、本构模型。

研究材料内部微缺陷(损伤)的萌生、扩展直至宏观破坏的全过程。

复合材料力学

细观力学、层合板理论、失效准则。

研究由两种或以上材料组成的复合材料的力学性能和设计方法。

生物力学

生物固体力学、生物流体力学、运动生物力学。

应用力学原理研究生物体(器官、组织、细胞)的力学特性和功能。

冲击动力学

应力波理论、动态本构关系、能量吸收理论。

研究材料与结构在高速冲击、爆炸等极端载荷下的动态响应和破坏。

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

板壳力学

基尔霍夫-乐甫假设、中厚板理论、大挠度理论。

研究板与壳结构在横向和面内载荷下的弯曲、稳定性和振动行为,是航空、船舶、建筑结构设计的核心。

弹性力学

平衡方程、几何方程、本构方程、应力函数。

研究弹性体在外力作用下的应力、应变和位移,是固体力学的理论基础,为结构分析提供精确解。

塑性力学

屈服准则、流动法则、硬化模型、滑移线理论。

研究材料在超过弹性极限后发生不可逆变形的规律,应用于金属成型、结构极限承载力和岩土工程。

疲劳力学

S-N曲线、断裂力学方法、损伤累积理论。

研究材料或结构在循环载荷下裂纹萌生与扩展的规律,是预测机械、航空航天构件寿命的关键。

转子动力学

临界转速、不平衡响应、稳定性分析。

研究旋转机械(如涡轮机、发电机)的振动、稳定性及与支撑系统的相互作用。

接触力学

赫兹接触理论、库仑摩擦定律、分形接触模型。

研究两个或多个变形体在压力作用下接触区域的应力、应变分布和摩擦行为,应用于轴承、齿轮、密封设计。

摩擦学

粘着摩擦理论、磨损机理、润滑理论。

研究相对运动表面间的摩擦、磨损和润滑问题,服务于机械系统减摩、耐磨和可靠性设计。

弹塑性动力学

动态本构模型、应力波传播、结构冲击响应。

研究材料和结构在冲击、爆炸等动载荷下的弹塑性行为及能量吸收。

四、 交叉学科与前沿领域

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

物理力学

微观-宏观跨尺度理论、非平衡态统计力学。

从物理学基本原理出发,研究高温、高压等极端条件下物质的力学行为。

化学力学

化学反应-应力耦合理论、扩散-变形耦合。

研究化学过程(如腐蚀、氧化、相变)与力学行为的相互影响。

地质力学

板块构造理论、断层力学、地震波理论。

应用力学原理研究地球内部的构造运动、应力场和地震成因。

天体力学

开普勒定律、N体问题、轨道摄动理论。

应用力学原理研究天体(行星、卫星、恒星)的运动和演化。

微纳米力学

表面效应、尺度效应、量子效应、分子间力。

研究微米/纳米尺度下材料和结构的力学行为,服务于MEMS/NEMS、纳米技术。

物理信息神经网络

PINN(物理信息神经网络)、深度学习、偏微分方程约束。

将物理定律(如控制方程)嵌入神经网络,用于求解、发现和优化力学问题。

流固耦合力学

界面耦合条件、分区/整体求解算法。

研究流体与固体相互作用导致的复杂动力学问题,如飞机气动弹性、血液流动。

多尺度力学

跨尺度关联方法、多尺度建模与模拟。

建立从原子、微观、细观到宏观尺度的力学模型,以揭示材料的本质行为。

多体系统动力学

绝对节点坐标法、柔性多体动力学、约束违约稳定。

研究由多个刚体或柔性体通过关节、力元连接而成的复杂系统的运动与受力,应用于机器人、车辆、机械系统仿真。

高超声速空气动力学

高温真实气体效应、稀薄气体效应、气动热力学。

研究飞行器在5马赫以上极高速飞行时的空气动力学、热力学和物理化学变化,是航天再入、高超声速飞行器的设计基础。

等离子体力学

磁流体力学方程、等离子体动理论、波-粒相互作用。

研究电离气体(等离子体)在电磁场中的运动规律,应用于可控核聚变、空间物理、等离子体推进。

软物质力学

粘弹性理论、流变学、液晶理论、活性物质理论。

研究聚合物、胶体、泡沫、液晶、生物组织等软材料的力学行为,特点是易变形、响应非线性。

生物力学

生物固体力学、生物流体力学、运动生物力学。

应用力学原理研究生物体(器官、组织、细胞)的力学特性和功能。

冲击动力学

应力波理论、动态本构关系、能量吸收理论。

研究材料与结构在高速冲击、爆炸等极端载荷下的动态响应和破坏。

电磁流体力学

磁流体动力学方程、焦耳加热、洛伦兹力效应。

研究导电流体在电磁场中的运动规律,应用于电磁泵、电磁铸造、天体磁流体和聚变装置设计。

微机电系统力学

微尺度效应、静电力、Casimir力、压电/热电效应。

研究MEMS/NEMS器件在微纳米尺度下的设计、制造、运动、传感和驱动中的力学问题。

数据驱动力学

本构模型的数据驱动辨识、模型降阶、数字孪生。

利用实验或模拟产生的大量数据,通过机器学习等方法构建或修正力学模型,实现快速预测和反演。

非平衡态统计力学

涨落耗散定理、随机过程、非平衡态热力学。

研究系统在远离平衡态时的演化规律,应用于湍流、颗粒流、生物系统等复杂动力学。

颗粒物质力学

离散元法、力链理论、Jamming转变。

研究由大量离散固体颗粒组成的集合体(如沙堆、谷物、药粉)的流动、堆积和力学性质。

力学超材料

负泊松比、负刚度、五模式材料、拓扑优化。

设计具有特殊微结构、从而呈现天然材料不具备的超常力学性能(如负参数、可编程性)的人工材料。

学科/理论名称

核心理论/基本原理

主要研究内容/应用领域

物理力学

微观-宏观跨尺度理论、非平衡态统计力学。

从物理学基本原理出发,研究高温、高压等极端条件下物质的力学行为。

化学力学

化学反应-应力耦合理论、扩散-变形耦合。

研究化学过程(如腐蚀、氧化、相变)与力学行为的相互影响。

地质力学

板块构造理论、断层力学、地震波理论。

应用力学原理研究地球内部的构造运动、应力场和地震成因。

天体力学

开普勒定律、N体问题、轨道摄动理论。

应用力学原理研究天体(行星、卫星、恒星)的运动和演化。

微纳米力学

表面效应、尺度效应、量子效应、分子间力。

研究微米/纳米尺度下材料和结构的力学行为,服务于MEMS/NEMS、纳米技术。

物理信息神经网络

PINN(物理信息神经网络)、深度学习、偏微分方程约束。

将物理定律(如控制方程)嵌入神经网络,用于求解、发现和优化力学问题。

流固耦合力学

界面耦合条件、分区/整体求解算法。

研究流体与固体相互作用导致的复杂动力学问题,如飞机气动弹性、血液流动。

多尺度力学

跨尺度关联方法、多尺度建模与模拟。

建立从原子、微观、细观到宏观尺度的力学模型,以揭示材料的本质行为。

核心逻辑演进

  1. 基础牛顿力学是宏观世界的根基,分析力学提供了更普适的数学框架。

  2. 统一描述连续介质力学是固体力学和流体力学的共同语言,而统计力学量子力学则解释了微观起源。

  3. 领域分化:在统一框架下,针对物质状态(固体、流体、气体)和研究对象(结构、材料、地质体、生物体)形成了具体的学科分支。

  4. 工具与融合计算力学实验力学是所有分支的研究工具。力学与物理、化学、生物、地学、信息等学科的深度交叉,不断催生着前沿方向。

核心思想演进与学科全貌总结

力学的知识体系呈现出一个清晰的、从基础到应用、从简单到复杂、不断向外交叉融合的“树形”或“网络状”结构:

  1. 根与主干:以牛顿定律和分析力学为代表的经典力学,和以守恒定律与连续介质假设为基础的连续介质力学,共同构成了整个力学大厦的理论基石和通用语言。

  2. 主要分支:主干上生长出两大核心物理分支:

    • 固体力学:侧重于“抵抗变形”,发展出弹性、塑性、断裂、振动力学等。

    • 流体力学:侧重于“流动”,发展出空气动力学、水动力学、湍流理论等。

  3. 工程应用:两大分支的理论与具体工程对象结合,形成了结构力学、材料力学、转子动力学、接触力学等一系列解决实际工程问题的学科。

  4. 研究范式

    • 理论力学:追求方程的解析解和普适规律。

    • 计算力学:发展数值方法,成为解决复杂问题的强大引擎。

    • 实验力学:通过精密测量验证理论、发现新现象、提供数据。

  5. 前沿与交叉:力学不断与其他基础科学(物理、化学、生物、地学、信息科学)深度融合,在微纳米、多尺度、极端条件、智能与数据驱动等方向开疆拓土,形成了生物力学、软物质力学、物理信息神经网络、力学超材料等充满活力的前沿领域。

这个体系是动态发展的,新的问题不断催生新的理论和交叉学科,而经典的理论始终是理解新现象的坚实出发点。

力学数值算法综合表

力学主要算法分类

类别

主要算法

功能描述

适用领域

连续介质力学

有限元法(FEM)

固体/结构力学分析

静力学/动力学

有限体积法(FVM)

流体力学/传热分析

CFD/传热学

边界元法(BEM)

无限域/边界值问题

声学/电磁学

扩展有限元法(XFEM)

裂纹扩展/界面问题

断裂力学

离散方法

离散元法(DEM)

颗粒物质/岩土力学

颗粒流/地质力学

光滑粒子法(SPH)

大变形/自由表面流

流体动力学/爆炸

物质点法(MPM)

冲击/侵蚀/相变

多相流/高速冲击

时间积分

Newmark-β法

结构动力学

时程响应分析

龙格-库塔法

常微分方程积分

动力学/轨迹计算

Verlet积分

分子动力学

原子运动模拟

求解器

牛顿-拉弗森法

非线性方程求解

几何/材料非线性

广义α法

结构动力学

高频衰减/数值阻尼

隐式/显式积分

时程分析

瞬态动力学

1. 有限元法 (Finite Element Method, FEM)

项目

详细说明

表示方法

控制方程:
静态平衡:Ku=F
动态方程:Mu¨+Cu˙+Ku=F(t)
其中:
K: 刚度矩阵,M: 质量矩阵
C: 阻尼矩阵,u: 位移向量

构建方法

1. 前处理:几何建模→网格划分→材料定义→边界条件→载荷定义
2. 单元分析:计算单元刚度矩阵ke、质量矩阵me、载荷向量fe
3. 总体合成:组装全局矩阵K=∑ke,M=∑me,F=∑fe
4. 求解线性/非线性系统
5. 后处理:应力/应变计算,结果可视化

算法名称

等参元法,混合元法,杂交元法,p型/ h型有限元

数学方程式

虚功原理:δW=∫V​σ:δϵdV−∫V​f⋅δudV−∫S​t⋅δudS=0
弱形式:∫V​δϵTDϵdV=∫V​δuTfdV+∫S​δuTtdS
离散形式:K=∫Ve​BTDBdV
F=∫Ve​NTfdV+∫Se​NTtdS

计算公式

1. 线性三角形单元(3节点):
Ke=AeBTDB
其中B为应变-位移矩阵,Ae为单元面积
2. 线性四面体单元(4节点):
Ke=VeBTDB
3. 等参四边形单元(4节点):
$K^e = \int{-1}^1 \int{-1}^1 B^T D B

应用场景

结构静/动力学分析,热传导,电磁场,声学,多物理场耦合

依赖条件

软件:ANSYS, ABAQUS, NASTRAN, OpenFOAM
硬件:HPC集群,内存需求随网格规模增加
数据:CAD模型,材料参数,边界条件,载荷工况

算法思想

将连续体离散为有限个单元的集合,在每个单元上用简单函数近似真实解,通过变分原理建立代数方程组求解

理论依据

变分原理,加权残值法,Sobolev空间理论

算法特性

几何适应性好,边界条件易处理,理论完善,有误差估计

时间复杂度

静态线性:O(n1.5−n2)
动态显式:O(n)每步
动态隐式:O(n1.5−n2)每步

空间复杂度

稀疏矩阵存储:O(n)~O(n1.5)
总内存:O(n)+O(nnz)

适用类型

复杂几何,材料非线性,接触问题,多物理场

优点

适应复杂形状,理论严谨,商用软件成熟,前后处理完善

缺点

网格生成复杂,大变形需重划网格,冲击问题精度受限

2. 有限体积法 (Finite Volume Method, FVM)

项目

详细说明

表示方法

积分形式守恒方程:
∂t∂​∫V​ρϕdV+∮S​ρϕv⋅dS=∮S​Γ∇ϕ⋅dS+∫V​Sϕ​dV
离散形式:dtd(ρϕV)P​​+∑f​Ff​ϕf​=∑f​Df​+Sϕ​VP​

构建方法

1. 控制体划分:将计算域划分为不重叠的控制体
2. 方程离散:对每个控制体积分守恒方程
3. 界面通量计算:采用迎风、中心、QUICK等格式
4. 代数方程组:AP​ϕP​=∑nb​Anb​ϕnb​+Su​
5. 求解线性系统:SIMPLE/PISO算法用于压力-速度耦合

算法名称

SIMPLE算法,PISO算法,压力修正法

数学方程式

连续性方程:∇⋅(ρv)=0
动量方程:∂t∂(ρv)​+∇⋅(ρvv)=−∇p+∇⋅(μ∇v)+ρg
能量方程:∂t∂(ρh)​+∇⋅(ρvh)=∇⋅(k∇T)+Sh​

计算公式

1. 质量通量:m˙f​=ρf​vf​⋅Sf​
2. 对流项离散(一阶迎风):
ϕf​={ϕP​ϕN​​if m˙f​≥0if m˙f​<0​
3. 扩散项离散:$D_f = \Gamma_f \frac{\phi_N - \phi_P}{

应用场景

计算流体力学(CFD),传热传质,燃烧,多相流,化学反应流

依赖条件

软件:OpenFOAM, FLUENT, STAR-CCM+, CFX
硬件:HPC集群,GPU加速
数据:几何模型,湍流模型,物性参数,边界条件

算法思想

在控制体上积分守恒方程,保证质量、动量、能量的严格守恒,通过界面插值计算通量

理论依据

控制体法,守恒定律,雷诺输运定理

算法特性

保证局部守恒性,适用于存在激波、间断的问题,可处理复杂流动

时间复杂度

稳态问题:O(n1.2−n1.5)
瞬态问题:O(Nt​⋅n1.2)
湍流模拟:O(5n−7n)

空间复杂度

存储网格和变量:O(7n)~O(10n)
湍流模型:额外O(2n−5n)

适用类型

可压缩/不可压缩流,层流/湍流,多相流,化学反应流

优点

严格守恒,鲁棒性好,适用于复杂流动,商业软件成熟

缺点

高阶精度实现复杂,非结构化网格精度受影响,内存需求大

3. 离散元法 (Discrete Element Method, DEM)

项目

详细说明

表示方法

颗粒运动方程:
mi​dtdvi​​=∑j​Fijc​+Fie​+mi​g
Ii​dtdωi​​=∑j​Mij​
接触力模型:Fc=Fn​+Ft​

构建方法

1. 颗粒生成:随机生成或按指定分布生成颗粒
2. 接触检测:空间分区法,邻居列表法
3. 力计算:法向力(赫兹模型),切向力(库仑摩擦)
4. 运动积分:显式Verlet或Velocity-Verlet算法
5. 边界处理:周期性边界,固定边界,运动边界

算法名称

软球模型,硬球模型,线性接触模型,赫兹-明德林模型

数学方程式

法向赫兹接触力:Fn​=34​E∗R∗​δn3/2​
其中E∗1​=E1​1−ν12​​+E2​1−ν22​​, R∗1​=R1​1​+R2​1​
法向阻尼力:Fnd​=−265​​βSn​m∗​vnrel​
切向力(库仑):Ft​=min(μFn​,kt​δt​+ct​vtrel​)

计算公式

1. 接触检测(邻居列表):
$\text{if }

应用场景

颗粒物料流动,岩土力学,制药工业,农业工程,地质力学

依赖条件

软件:EDEM, PFC, LIGGGHTS, Yade
硬件:多核CPU,GPU加速(百万颗粒级)
数据:颗粒物性参数(杨氏模量,泊松比,摩擦系数,恢复系数)

算法思想

将散体物料离散为独立颗粒,基于牛顿第二定律计算每个颗粒运动,通过接触模型计算颗粒间相互作用

理论依据

接触力学,牛顿第二定律,软球/硬球碰撞模型

算法特性

可模拟大位移、旋转、分离,可考虑复杂接触,计算量随颗粒数增加而急剧增加

时间复杂度

邻居搜索:O(NlogN)~O(N2)
力计算:O(Nc​),Nc​为接触对数
总复杂度:O(NlogN)+O(Nc​)

空间复杂度

存储颗粒信息:O(6N)~O(10N)
邻居列表:O(30N)~O(100N)

适用类型

颗粒系统,散体物料,岩土体,非连续介质

优点

可模拟颗粒尺度行为,可考虑复杂形状,可模拟大变形,物理直观

缺点

计算量大,参数标定困难,连续介质假设不适用,统计结果需平均

4. 扩展有限元法 (Extended FEM, XFEM)

项目

详细说明

表示方法

位移场近似:uh(x)=∑i∈I​Ni​(x)ui​+∑j∈J​Nj​(x)H(x)aj​+∑k∈K​Nk​(x)(∑α=14​Fα​(x)bkα​)
其中:
Ni​: 标准形函数
H(x): 跳跃函数
Fα​(x): 裂尖渐进函数

构建方法

1. 裂纹表征:水平集函数描述裂纹面/尖端
2. 富集策略:裂纹完全穿越单元→跳跃富集,裂尖附近→渐近富集
3. 数值积分:裂纹切割单元的子域积分
4. 求解:标准有限元程序修改形函数和积分方案

算法名称

单位分解富集法,水平集XFEM,相场-XFEM耦合

数学方程式

水平集函数:ϕ(x)=minxc​∈Γc​​∥x−xc​∥⋅sign(n⋅(x−xc​))
裂纹面:Γc​={x:ϕ(x)=0}
裂纹尖端:ϕ(x)=0且∇ϕ⋅t=0
富集函数:
Fα​(r,θ)=[r​sin2θ​,r​cos2θ​,r​sinθsin2θ​,r​sinθcos2θ​]

计算公式

1. 刚度矩阵计算:K=∫Ω​BTDBdΩ
其中B矩阵包含标准部分和富集部分导数
2. 子域积分:裂纹切割单元被分为若干子三角形/子四面体进行高斯积分
3. 应力强度因子计算:
KI​=2(1−ν2)E​r2π​​[uθ​(r,π)−uθ​(r,−π)]
相互作用积分法:J=∫A​(σij​ui,1​−Wδ1j​)q,j​dA

应用场景

裂纹扩展模拟,界面力学,材料界面,剪切带,多材料连接

依赖条件

软件:ABAQUS(XFEM模块),COMSOL,开源代码如XFEM++
硬件:标准有限元硬件配置,裂纹扩展需增量求解
数据:断裂韧性KIC​,Gc​,裂纹初始位置方向

算法思想

在标准有限元近似空间中加入特殊函数(跳跃函数,裂尖端渐近函数)以描述位移不连续性和奇异性,网格独立模拟裂纹扩展

理论依据

单位分解法,线弹性断裂力学,水平集方法

算法特性

裂纹扩展不依赖网格,可模拟复杂裂纹路径,裂尖端奇异性精确描述,但积分复杂,收敛性分析困难

时间复杂度

静态分析:O(n1.5−n2)
裂纹扩展:O(Nstep​⋅n1.5)
子域积分增加约30-100%计算成本

空间复杂度

标准FEM存储 + 富集自由度存储
额外O(nenr​),nenr​为富集节点数

适用类型

线弹性/弹塑性断裂,动态裂纹扩展,多裂纹相互作用,界面脱粘

优点

裂纹扩展不依赖网格重划分,可模拟任意路径裂纹,裂尖端处理精确

缺点

数值积分复杂,收敛性理论不完善,富集导致条件数变差,多裂纹相互作用复杂

5. 光滑粒子流体动力学 (Smoothed Particle Hydrodynamics, SPH)

项目

详细说明

表示方法

核近似:f(x)≈∫Ω​f(x′)W(x−x′,h)dx′
粒子近似:f(xi​)≈∑j​f(xj​)W(xi​−xj​,h)ρj​mj​​
其中W为光滑核函数,h为光滑长度

构建方法

1. 粒子初始化:按初始条件布置粒子
2. 邻居搜索:链表法,树形法
3. 密度计算:ρi​=∑j​mj​Wij​
4. 动量方程离散:dtdvi​​=−∑j​mj​(ρi2​Pi​​+ρj2​Pj​​+Πij​)∇i​Wij​
5. 能量方程离散:dtdei​​=21​∑j​mj​(ρi2​Pi​​+ρj2​Pj​​+Πij​)(vi​−vj​)⋅∇i​Wij​
6. 时间积分:蛙跳法,Runge-Kutta法

算法名称

弱可压SPH,不可压SPH,耗散粒子动力学

数学方程式

连续性方程:dtdρ​=−ρ∇⋅v
动量方程:dtdv​=−ρ1​∇P+ν∇2v+g
状态方程(弱可压):P=P0​[(ρ0​ρ​)γ−1]
人工粘度:Πij​={ρˉ​ij​−αcˉij​ϕij​+βϕij2​​0​vij​⋅rij​<0otherwise​
其中$\phi{ij} = \frac{h \mathbf{v}{ij}\cdot \mathbf{r}_{ij}}{

计算公式

1. 三次样条核函数:
W(q)=hdσ​⎩⎨⎧​1−23​q2+43​q341​(2−q)30​0≤q<11≤q<2q≥2​
d为维度,σ为归一化因子
2. 密度求和:$\rho_i = \sum_j m_j W(

应用场景

自由表面流动,流体-结构相互作用,爆炸与冲击,天体物理,生物力学

依赖条件

软件:DualSPHysics, GPUSPH, LAMMPS(SPH), ANSYS Autodyn
硬件:GPU并行计算(数百万粒子),显存需求大
数据:初始粒子分布,状态方程参数,粘度系数,表面张力系数

算法思想

用一组离散的具有质量的粒子表示连续介质,通过核函数近似场函数及其导数,求解控制方程

理论依据

核估计理论,插值理论,拉格朗日流体力学

算法特性

无网格,自适应,适合大变形自由表面,但边界处理复杂,精度受粒子分布影响

时间复杂度

邻居搜索:O(NlogN)~O(N2)
力计算:O(Nc​),Nc​为相互作用对数
总复杂度:O(NlogN)+O(Nc​)

空间复杂度

粒子数据:O(6N)~O(10N)
邻居列表:O(30N)~O(100N)

适用类型

大变形,自由表面,多相流,高速冲击,爆炸,天体物理

优点

无网格自适应,适合大变形,守恒性好,易处理自由表面,易并行

缺点

边界处理困难,拉伸不稳定,精度受粒子分布影响,计算成本高

6. 物质点法 (Material Point Method, MPM)

项目

详细说明

表示方法

双重描述:拉格朗日物质点+欧拉背景网格
物质点携带:质量mp​,位置xp​,速度vp​,应力σp​,变形梯度Fp​
背景网格节点:质量mi​,动量(mv)i​,力fi​

构建方法

1. 初始化:物质点分配质量、动量、应力
2. 粒子到网格(P2G):将物质点质量动量映射到网格节点
3. 网格求解:计算节点加速度、速度
4. 网格到粒子(G2P):更新物质点位置、速度、变形梯度
5. 应力更新:基于本构模型更新物质点应力
6. 网格重置:丢弃变形网格,使用规则网格开始下一步

算法名称

标准MPM,广义插值物质点法(GIMP),共轭物质点法(CPDI)

数学方程式

质量映射:mi​=∑p​mp​Ni​(xp​)
动量映射:(mv)i​=∑p​mp​vp​Ni​(xp​)
节点运动方程:mi​ai​=fiint​+fiext​
内力:fiint​=−∑p​Vp​σp​∇Ni​(xp​)
位置更新:xpn+1​=xpn​+Δtvpn+1/2​
速度更新:vpn+1​=vpn​+Δt∑i​ai​Ni​(xp​)

计算公式

1. 形函数(线性):Ni​(x)=∏d=1nd​​ϕ(Δxd​xd​−xi,d​​)
其中$\phi(\xi) = \begin{cases} 1-

应用场景

高速冲击,爆炸,侵彻,雪崩, landslides,金属成型,生物软组织

依赖条件

软件:MPM3D, Uintah, NairnMPM, 商业软件如LS-DYNA(MPP)
硬件:HPC集群,GPU加速
数据:物质点初始分布,本构模型参数,加载条件

算法思想

结合拉格朗日法和欧拉法优点,物质点携带材料历史变量,背景网格用于求解动量方程,避免网格畸变问题

理论依据

弱形式平衡方程,单位分解法,质点网格法

算法特性

无网格畸变,适合大变形,自然处理多材料相互作用,但数值耗散大,拉伸不稳定

时间复杂度

每步:O(Np​)+O(Ng​)
其中Np​为物质点数,Ng​为网格节点数
总复杂度:O(Nstep​⋅(Np​+Ng​))

空间复杂度

物质点存储:O(10Np​)~O(20Np​)
网格存储:O(Ng​)
总内存:O(Np​+Ng​)

适用类型

极端变形,多相相互作用,冲击侵彻,流体-固体耦合

优点

无网格畸变,适合大变形,自然处理多材料,质量动量严格守恒

缺点

数值耗散,cell-crossing误差,拉伸不稳定,计算成本高

7. 分子动力学 (Molecular Dynamics, MD)

项目

详细说明

表示方法

牛顿运动方程:mi​dt2d2ri​​=Fi​=−∇i​U(r1​,...,rN​)
势函数:U=Ubond​+Uangle​+Udihedral​+Unonbond​

构建方法

1. 初始化:设置初始位置、速度(麦克斯韦分布)
2. 邻居列表:Verlet列表,链表法,网格法
3. 力计算:对势(Lennard-Jones),多体势(EAM)
4. 运动积分:Verlet,Velocity-Verlet,Leapfrog
5. 控温控压:Berendsen,Nosé-Hoover,Parrinello-Rahman
6. 采样分析:计算热力学量,结构性质,动力学性质

算法名称

Verlet积分,Velocity-Verlet,Leapfrog,Nosé-Hoover热浴,Ewald求和

数学方程式

Lennard-Jones势:ULJ​(r)=4ϵ[(rσ​)12−(rσ​)6]
库仑势:UC​(r)=4πϵ0​1​rqi​qj​​
Verlet积分:r(t+Δt)=2r(t)−r(t−Δt)+mF(t)​Δt2
Velocity-Verlet:v(t+Δt/2)=v(t)+2mF(t)​Δt
r(t+Δt)=r(t)+v(t+Δt/2)Δt
v(t+Δt)=v(t+Δt/2)+2mF(t+Δt)​Δt

计算公式

1. 截断半径修正:Ucut​(r)={U(r)−U(rc​)−(r−rc​)U′(rc​)0​r≤rc​r>rc​​
2. 邻居列表更新:rskin​=0.2σ~0.3σ,更新频率10-20步
3. Ewald求和(长程力):
实空间:$U{\text{real}} = \frac{1}{2} \sum{\mathbf{n}}' \sum_{i,j} \frac{q_i q_j \text{erfc}(\alpha

应用场景

材料科学(相变,缺陷,扩散),生物物理(蛋白质折叠,分子对接),化学反应,纳米技术

依赖条件

软件:LAMMPS, GROMACS, NAMD, AMBER
硬件:超级计算机,GPU加速,专用MD硬件(Anton)
数据:力场参数,初始构型,边界条件,控温控压参数

算法思想

基于牛顿运动方程,数值积分原子运动轨迹,通过统计力学获得宏观性质,势函数描述原子间相互作用

理论依据

统计力学,经典力学,势能面理论

算法特性

原子尺度模拟,可观测动力学过程,但时间尺度受限(纳秒-微秒),空间尺度受限(纳米-微米)

时间复杂度

短程力:O(N)~O(NlogN)
长程力(Ewald):O(N3/2)~O(NlogN)
总复杂度:O(N)~O(N3/2)

空间复杂度

原子坐标速度:O(6N)
邻居列表:O(30N)~O(100N)
力场参数:O(Ntypes2​)

适用类型

原子/分子系统,液态/固态/气态,生物大分子,纳米材料

优点

提供原子尺度细节,可模拟非平衡过程,理论基础坚实,软件成熟

缺点

时间尺度短(纳秒级),空间尺度小,力场精度限制,计算成本高

8. 边界元法 (Boundary Element Method, BEM)

项目

详细说明

表示方法

控制方程:∇2u=0(以拉普拉斯方程为例)
边界积分方程:c(ξ)u(ξ)+∫Γ​u∂n∂G​dΓ=∫Γ​∂n∂u​GdΓ
其中G是基本解,c(ξ)是几何系数。

构建方法

1. 将控制方程转化为边界积分方程(BIE)
2. 离散边界为单元,单元上定义形函数
3. 将BIE离散为代数方程组:[H]{u}=[G]{q}
4. 代入边界条件,求解方程组得到未知边界值
5. 内部点的解通过BIE计算

算法名称

直接边界元法,间接边界元法,对偶边界元法

数学方程式

以位势问题为例,边界积分方程:
c(ξ)u(ξ)+∫Γ​u∂n∂G​dΓ=∫Γ​qGdΓ
其中q=∂n∂u​,G是基本解,例如二维拉普拉斯方程:G=2π1​ln(r1​)。
离散后:Hij​=∫Γj​​∂n∂G​Nj​dΓ,Gij​=∫Γj​​GNj​dΓ
方程组:∑j​Hij​uj​=∑j​Gij​qj​

计算公式

1. 系数矩阵计算:
Hii​=−∑j=i​Hij​+ci​
Hij​=∫Γj​​∂n∂G​Nj​dΓ
Gij​=∫Γj​​GNj​dΓ
2. 内部点计算:
uk​=∑j​Gkj​qj​−∑j​Hkj​uj​

应用场景

无限域问题(如声场、电磁散射)、断裂力学、腐蚀、接触问题、弹性力学、热传导等。

依赖条件

软件:BEM++,FastBEM,商用边界元软件
硬件:标准计算资源,但需要处理稠密矩阵
数据:边界几何,边界条件,材料参数

算法思想

将控制方程转化为边界积分方程,只在边界上离散,降低问题维数,自动满足无穷远边界条件。

理论依据

积分方程理论,基本解理论,格林公式

算法特性

仅需边界离散,适合无限域问题,精度高,但矩阵稠密,不对称,不适合非线性问题。

时间复杂度

生成矩阵:O(N2),直接求解:O(N3),快速多极加速:O(NlogN)

空间复杂度

存储稠密矩阵:O(N2),快速多极法:O(N)

适用类型

线性、均匀介质、无限域问题,边界光滑的问题。

优点

降维,仅需边界离散,适合无限域,精度高。

缺点

矩阵稠密不对称,非线性问题处理困难,不适用于非均匀介质。

9. 无网格法 (Meshfree Method)

项目

详细说明

表示方法

近似函数:uh(x)=∑i=1N​ϕi​(x)ui​
其中ϕi​(x)是无网格形函数,不依赖于网格,而是节点影响域的函数。

构建方法

1. 节点布置,定义影响域(支持域)
2. 基于节点构造形函数(如移动最小二乘MLS、重构核RKPM等)
3. 建立离散方程(配点法、伽辽金法)
4. 数值积分(背景网格或节点积分)
5. 求解代数方程组

算法名称

移动最小二乘法(MLS),重构核粒子法(RKPM),无单元伽辽金法(EFG),局部彼得罗夫-伽辽金法(MLPG)

数学方程式

MLS近似:uh(x)=∑j=1m​pj​(x)aj​(x)=pT(x)a(x)
其中a(x)由加权最小二乘得到:
a(x)=A−1(x)B(x)u
A(x)=∑i=1N​wi​(x)p(xi​)pT(xi​)
B(x)=[w1​(x)p(x1​),...,wN​(x)p(xN​)]
形函数:ϕi​(x)=pT(x)A−1(x)wi​(x)p(xi​)

计算公式

1. 影响域半径:dmi​=dmax​⋅di​,di​为节点间距
2. 权函数(如高斯函数):wi​(x)={exp(−(ri​/c)2)−exp(−(dmi​/c)2)0​ri​≤dmi​ri​>dmi​​
3. 数值积分:在背景网格或节点上积分,∫f(x)dΩ≈∑k=1ng​​f(xk​)wk​

应用场景

大变形问题,裂纹扩展,金属成型,流体-结构相互作用,自适应分析。

依赖条件

软件:EFG代码,MLPG代码,LS-DYNA(EFG)
硬件:标准计算资源,但计算成本高
数据:节点分布,权函数参数,积分方案

算法思想

基于节点构造近似函数,摆脱网格束缚,适合大变形和自适应分析。

理论依据

移动最小二乘,重构核近似,配点法,伽辽金法

算法特性

无网格,适合大变形,自适应容易,但形函数构造复杂,数值积分困难。

时间复杂度

形函数构造:O(N⋅nb​),nb​为影响域内节点数
矩阵装配:O(N⋅nb2​)
求解:同FEM

空间复杂度

存储节点信息和形函数:O(N⋅nb​)

适用类型

大变形,裂纹动态扩展,自适应分析,高梯度问题。

优点

无网格畸变,自适应容易,精度高,适合大变形。

缺点

形函数构造复杂,数值积分困难,计算成本高,边界条件处理复杂。

10. 等几何分析 (Isogeometric Analysis, IGA)

项目

详细说明

表示方法

使用CAD的样条函数(如NURBS)作为形函数:
u(ξ)=∑i=1n​Ri,p​(ξ)ui​
其中Ri,p​是NURBS基函数,p是次数,ui​是控制点变量。

构建方法

1. CAD几何导入(NURBS表示)
2. 定义分析合适的样条空间(h,p,k细化)
3. 建立离散方程(如伽辽金法)
4. 数值积分(高斯积分在参数域)
5. 求解代数方程组
6. 后处理(直接利用样条函数的高连续性)

算法名称

基于NURBS的等几何分析,T样条等几何分析,分层B样条等几何分析

数学方程式

NURBS基函数:Ri,p​(ξ)=∑j=1n​Nj,p​(ξ)wj​Ni,p​(ξ)wi​​
其中Ni,p​是B样条基函数,wi​是权因子。
离散方程:Ku=F
Kij​=∫Ω​∇Ri​⋅D⋅∇Rj​dΩ
Fi​=∫Ω​Ri​fdΩ+∫ΓN​​Ri​hdΓ

计算公式

1. B样条基函数递归公式:
Ni,0​(ξ)={10​ξi​≤ξ<ξi+1​otherwise​
Ni,p​(ξ)=ξi+p​−ξi​ξ−ξi​​Ni,p−1​(ξ)+ξi+p+1​−ξi+1​ξi+p+1​−ξ​Ni+1,p−1​(ξ)
2. 高斯积分在参数域:$ \int\Omega f(x) d\Omega = \int{\hat{\Omega}} f(x(\xi))

应用场景

结构振动,板壳分析,流体-结构相互作用,形状优化,几何精确的仿真。

依赖条件

软件:IGA开源代码(如GeoPDEs),商用软件(如Abaqus的IGA模块)
硬件:标准计算资源,高次基函数需要更高积分阶数
数据:CAD模型(NURBS),材料参数,边界条件

算法思想

使用CAD几何的样条基函数作为分析基函数,实现几何与分析的统一,消除几何离散误差。

理论依据

样条理论,等参概念,有限元法

算法特性

几何精确,高连续性,易于实现自适应h-p-k细化,但数值积分成本高,网格划分特殊。

时间复杂度

矩阵装配:O(pdn),其中p为次数,d为维度,n为控制点数
求解:同FEM,但矩阵带宽增大

空间复杂度

存储控制点和变量:O(n),矩阵存储:O(pdn)带宽

适用类型

高精度要求,光滑解问题,板壳结构,流体-结构相互作用,形状优化。

优点

几何精确,高连续性,自适应细化方便,可直接用于形状优化。

缺点

数值积分成本高,局部细化复杂(T样条可缓解),处理复杂几何需多个样条块。

11. 多尺度有限元法 (Multiscale FEM)

项目

详细说明

表示方法

宏观尺度:uM(x)=NM(x)uM
微观尺度:um(x,y)=Nm(y)um
多尺度展开:uϵ(x)=u0(x)+ϵu1(x,y)+...

构建方法

1. 微观代表性体积单元(RVE)定义
2. 在RVE上求解微观问题(均匀化)
3. 计算等效宏观材料性质
4. 在宏观尺度上求解问题
5. 如果需要,进行下行缩放(downscaling)获取微观细节

算法名称

均匀化方法,变分多尺度法(VMS),多尺度有限元法(MsFEM)

数学方程式

均匀化方法:∂xi​∂​(CijklH​∂xl​∂uk0​​)=fi​
其中等效刚度:$ C_{ijkl}^H = \frac{1}{

计算公式

1. 等效性质计算:$ C^H = \frac{1}{

应用场景

复合材料,多孔介质,混凝土,生物组织,多晶材料等具有微结构的材料。

依赖条件

软件:FE2代码,商用多尺度软件(如Digimat)
硬件:需要大量计算资源,特别是并行计算
数据:微观结构几何,组分材料属性,边界条件

算法思想

通过分离宏观和微观尺度,在宏观尺度使用等效性质,微观尺度求解局部问题,以考虑微观结构的影响。

理论依据

均匀化理论,多尺度渐近展开,变分多尺度法

算法特性

考虑微观结构,计算成本高,可获取微观应力分布,但尺度分离假设需满足。

时间复杂度

宏观求解:O(NM​),每个RVE求解:O(nm2​),总:O(NM​⋅nm2​)

空间复杂度

存储宏观和微观模型:O(NM​+NR​VE⋅nm​)

适用类型

具有周期性或随机微观结构的材料,特征尺度分离明显。

优点

考虑微观结构,可获取局部应力,避免宏观均匀假设。

缺点

计算成本高,尺度分离假设,微观模型简化可能不准确。

12. 相场法 (Phase Field Method)

项目

详细说明

表示方法

相场变量ϕ:ϕ=1表示一相,ϕ=0表示另一相,界面光滑过渡。
自由能泛函:$ F = \int_V [f(\phi) + \frac{\epsilon^2}{2}

构建方法

1. 定义自由能泛函(包括体自由能和梯度能)
2. 推导演化方程(Cahn-Hilliard或Allen-Cahn)
3. 离散求解(有限差分/有限元/谱方法)
4. 时间积分(显式/半隐式/隐式)
5. 后处理(界面提取,物理量计算)

算法名称

Cahn-Hilliard方程,Allen-Cahn方程,相场晶体模型(PFC)

数学方程式

Cahn-Hilliard方程:∂t∂ϕ​=∇⋅(M∇(f′(ϕ)−ϵ2∇2ϕ))
Allen-Cahn方程:∂t∂ϕ​=−M(f′(ϕ)−ϵ2∇2ϕ)
双阱势:f(ϕ)=41​(ϕ2−1)2
界面厚度:ξ=2​ϵ

计算公式

1. 半隐式格式:Δtϕn+1−ϕn​=M∇2(f′(ϕn)−ϵ2∇2ϕn+1)
2. 傅里叶谱方法:∂t∂ϕ^​​=−Mk2(f′(ϕ)​+ϵ2k2ϕ^​)
3. 界面能计算:γ=32​​ϵ

应用场景

相分离,晶粒生长,裂纹扩展,凝固,生物膜生长,肿瘤生长。

依赖条件

软件:MOOSE,FiPy,商业相场软件(如MICRESS)
硬件:需要较高计算资源,特别是三维问题
数据:自由能函数,迁移率,界面参数,初始条件

算法思想

通过引入连续相场变量描述界面,避免显式追踪界面,通过能量最小化推导演化方程。

理论依据

朗道相变理论,渐变界面模型,热力学第二定律

算法特性

界面自动演化,可处理复杂拓扑变化,但界面有一定厚度,计算精度受界面厚度影响。

时间复杂度

每步:O(NlogN)(谱方法)或O(N)(有限差分/有限元)
总:O(Nt​⋅NlogN)

空间复杂度

存储相场变量和辅助变量:O(N)

适用类型

涉及相变、界面演化的过程,特别是拓扑变化复杂的问题。

优点

避免界面追踪,自然处理拓扑变化,易于耦合多物理场。

缺点

界面厚度人为设定,计算量大,高分辨率需求,参数敏感。

13. 离散裂缝网络 (Discrete Fracture Network, DFN)

项目

详细说明

表示方法

裂缝用平面多边形(二维为线段)表示,每个裂缝有位置、大小、方向、开度等属性。
流动方程:∇⋅(k∇p)=0,其中k为渗透率张量。

构建方法

1. 裂缝网络生成(随机或确定)
2. 网格划分(裂缝和基质分别或统一划分)
3. 流动方程离散(有限元/有限体积/边界元)
4. 求解流动方程(线性或非线性)
5. 粒子追踪或输运模拟(可选)

算法名称

离散裂缝网络模型,裂缝-基质耦合流动模型

数学方程式

裂缝内流动(立方定律):q=−12μw3​∇p
其中w为裂缝开度,μ为粘度。
基质流动:q=−μk​∇p
耦合条件:在裂缝-基质界面压力连续,流量平衡。

计算公式

1. 裂缝渗透率:kf​=12w2​
2. 等效渗透率:keq​=km​+A1​∑i​kf,i​Af,i​
3. 流动方程离散:Tij​=μLij​kij​Aij​​,∑j​Tij​(pi​−pj​)=Qi​

应用场景

水文地质,油气开采,地热开发,核废料处置,岩石力学。

依赖条件

软件:FracMan,ConnectFlow,开源DFN代码(如dfnWorks)
硬件:需要较大内存,复杂网络需要并行计算
数据:裂缝统计参数(密度、大小、方向、开度),基质属性,边界条件

算法思想

显式表示裂缝网络,分别模拟裂缝和基质的流动,考虑裂缝的连通性和导流能力。

理论依据

裂隙介质渗流理论,网络理论,统计几何

算法特性

显式表示裂缝,考虑非均质性,但计算量大,网格生成复杂。

时间复杂度

网络生成:O(Nf​),网格划分:O(Nf2​),求解:O(N1.5)

空间复杂度

存储裂缝网络和网格:O(Nf​+N),N为网格节点数

适用类型

裂缝性介质,裂缝主导流动,非均质性强。

优点

显式表示裂缝,可考虑复杂网络,物理直观。

缺点

计算量大,网格生成困难,参数不确定性强。

14. 概率力学与随机有限元 (Stochastic FEM)

项目

详细说明

表示方法

随机场离散:a(x,θ)=∑i=0m​ai​(x)ξi​(θ)
伽辽金离散:u(x,θ)=∑i=1n​∑j=0p​uij​Ni​(x)ψj​(ξ)
其中ξ是随机变量,ψ是正交多项式。

构建方法

1. 随机输入建模(随机场离散)
2. 随机伽辽金法或配点法
3. 确定性有限元求解(多次)
4. 后处理获取统计量(均值、方差、概率分布)

算法名称

随机伽辽金法,随机配点法,摄动法,蒙特卡洛法

数学方程式

随机微分方程:∇⋅(a(x,θ)∇u(x,θ))=f(x,θ)
伽辽金投影:⟨R,ψk​⟩=0,其中残差R=∇⋅(a∇u)−f
离散后:∑j=0p​Kij​uj​=Fi​,其中Kij​=⟨ψi​ψj​K(θ)⟩,Fi​=⟨ψi​F(θ)⟩

计算公式

1. Karhunen-Loève展开:a(x,θ)=aˉ(x)+∑i=1m​λi​​ϕi​(x)ξi​(θ)
2. 多项式混沌展开:u(θ)=∑j=0p​uj​ψj​(ξ)
3. 随机配点:u(i)=FE(a(ξ(i))),uj​=∑i=1Q​u(i)ψj​(ξ(i))w(i)

应用场景

不确定性量化,可靠性分析,随机振动,参数识别,稳健设计。

依赖条件

软件:UQLab,Dakota,OpenTURNS,商用软件(如ANSYS Stochastic)
硬件:需要大量计算,特别是蒙特卡洛法
数据:随机变量分布,随机场相关函数,有限元模型

算法思想

将随机变量引入控制方程,用随机基函数(如多项式混沌)展开解,通过伽辽金投影或采样求解展开系数。

理论依据

随机过程理论,多项式混沌,蒙特卡洛方法,摄动理论

算法特性

量化不确定性,计算成本高(特别是高维随机变量),收敛速度依赖方法。

时间复杂度

蒙特卡洛:O(NMC​⋅TFE​),NMC​为样本数
随机伽辽金:O(P⋅TFE​),P为多项式项数
配点法:O(Q⋅TFE​),Q为配点数

空间复杂度

存储随机矩阵和向量:O(P2⋅N),N为有限元自由度

适用类型

输入参数不确定,需要量化输出不确定性的问题。

优点

系统量化不确定性,可进行可靠性分析,多项式混沌收敛快。

缺点

计算成本高,维数灾难(随机维数高时),实现复杂。

15. 拓扑优化 (Topology Optimization)

项目

详细说明

表示方法

设计变量:ρ(x)∈[0,1],表示材料密度。
优化问题:minρ​c(ρ)=FTU
约束:V(ρ)≤V0​,0≤ρ≤1
平衡方程:K(ρ)U=F

构建方法

1. 设计域离散,初始化设计变量
2. 有限元分析,计算目标函数和约束
3. 灵敏度分析(伴随变量法)
4. 更新设计变量(优化算法,如SIMP,水平集法)
5. 重复2-4直到收敛

算法名称

变密度法(SIMP),水平集法,进化结构优化(ESO),移动渐近线法(MMA)

数学方程式

SIMP模型:E(ρ)=Emin​+ρp(E0​−Emin​)
优化问题:
minρ​c=UTKU=∑e=1N​Ee​(ρe​)ueT​k0​ue​
s.t.V(ρ)=∑e=1N​ρe​ve​≤V0​
0≤ρ≤1
灵敏度:∂ρe​∂c​=−pρep−1​(E0​−Emin​)ueT​k0​ue​

计算公式

1. 敏度过滤:∂ρe​∂c​=max(γ,ρe​)∑i​Hi​1​∑i​Hi​ρi​∂ρi​∂c​
其中Hi​=max(0,R−dist(e,i))
2. 更新方案(OC):ρenew​=⎩⎨⎧​max(0,ρe​−m)min(1,ρe​+m)ρe​Beη​​if ρe​Beη​≤max(0,ρe​−m)if ρe​Beη​≥min(1,ρe​+m)otherwise​
其中Be​=−∂ρe​∂c​/(λ∂ρe​∂V​)

应用场景

结构轻量化,柔顺机构设计,材料设计,多物理场优化。

依赖条件

软件:SIMP代码,水平集代码,商用软件(如OptiStruct,COMSOL)
硬件:需要多次有限元分析,计算成本高
数据:设计域,载荷,边界条件,体积分数约束

算法思想

在给定设计域内优化材料分布,使结构在约束下性能最优,通过迭代更新设计变量。

理论依据

优化理论,变分法,均匀化理论,灵敏度分析

算法特性

可得到创新结构,但可能有多重局部最优,棋盘格现象,网格依赖性。

时间复杂度

每次迭代:O(N1.5)(有限元分析)+ O(N)(灵敏度及更新)
总:O(Niter​⋅N1.5)

空间复杂度

存储设计变量和敏度:O(N),有限元矩阵:O(N)

适用类型

静力学,动力学,热传导,流体,多物理场优化。

优点

创新设计,材料利用率高,可处理复杂约束。

缺点

计算成本高,棋盘格现象,局部最优,制造约束需后处理。

16. 边界元法 (Boundary Element Method, BEM)

项目

详细说明

表示方法

积分方程形式:c(P)u(P)+∫Γ​u(Q)∂nQ​∂G(P,Q)​dΓ(Q)=∫Γ​∂n∂u(Q)​G(P,Q)dΓ(Q)
其中G为基本解,P为场点,Q为源点,c(P)为几何系数

构建方法

1. 边界离散:将边界划分为单元
2. 单元插值:u=∑Ni​ui​, q=∑Ni​qi​
3. 形成系统矩阵:[H]{u}=[G]{q}
4. 代入边界条件求解
5. 内部点计算

算法名称

直接边界元法,间接边界元法,对偶边界元法,快速多极边界元法

数学方程式

二维位势问题基本解:G(P,Q)=2π1​ln(r1​)
三维弹性力学基本解(开尔文解):
Gij​(P,Q)=16πG(1−ν)r1​[(3−4ν)δij​+r,i​r,j​]
系统方程:∑j=1N​Hij​uj​=∑j=1N​Gij​qj​
Hij​=∫Γj​​∂n∂G​Nj​dΓ, Gij​=∫Γj​​GNj​dΓ

计算公式

奇异积分处理:
弱奇异:∫01​ln(t)dt=−1
强奇异:Cauchy主值积分
超奇异:有限部分积分
矩阵元素计算:Gij​=∑k=1ng​​wk​G(Pi​,Q(ξk​))Nj​(ξk​)J(ξk​)

应用场景

无限域问题,声学,断裂力学,势流,热传导,弹性力学

依赖条件

软件:BEM++, FastBEM, BEASY
硬件:处理稠密矩阵,大内存需求
数据:边界几何,边界条件,材料参数

算法思想

将控制方程转化为边界积分方程,仅在边界离散,降低问题维度,自动满足无穷远边界条件

理论依据

格林函数理论,积分方程,基本解方法

算法特性

降维处理,适合无限域,精度高,但形成稠密矩阵,不适合非线性问题

时间复杂度

矩阵生成:O(N2)
直接求解:O(N3)
快速多极:O(NlogN)

空间复杂度

存储稠密矩阵:O(N2)
快速多极:O(N)

适用类型

线性,均匀介质,无限域,边界光滑问题

优点

降维,仅需边界离散,适合无限域,精度高,后处理简单

缺点

矩阵稠密不对称,非线性问题处理困难,不适合非均匀介质

17. 无网格伽辽金法 (Element-Free Galerkin Method, EFG)

项目

详细说明

表示方法

移动最小二乘近似:uh(x)=∑i=1n​ϕi​(x)ui​
形函数:ϕi​(x)=pT(x)A−1(x)Bi​(x)
A(x)=∑i=1n​wi​(x)p(xi​)pT(xi​), Bi​(x)=wi​(x)p(xi​)

构建方法

1. 节点布置
2. 构造形函数(移动最小二乘)
3. 背景网格积分
4. 施加边界条件(拉格朗日乘子)
5. 求解系统方程

算法名称

移动最小二乘无网格法,重构核粒子法,hp云法

数学方程式

权函数:wi​(x)={1−e−(dmi​/c)2e−(ri​/c)2−e−(dmi​/c)2​0​ri​≤dmi​ri​>dmi​​
其中ri​=∥x−xi​∥, dmi​=dmax​ci​, ci​为节点间距
离散方程:KU=F, KIJ​=∫Ω​BIT​DBJ​dΩ

计算公式

形函数导数:
ϕi,j​=p,jT​A−1Bi​+pT(A,j−1​Bi​+A−1Bi,j​)
A,j−1​=−A−1A,j​A−1
背景积分:∫Ω​fdΩ=∑k=1nq​​wk​f(xk​)J(xk​)

应用场景

大变形,裂纹扩展,金属成型,自适应分析,高梯度问题

依赖条件

软件:EFG代码,MLPG代码
硬件:计算成本高,需要大量积分点
数据:节点分布,权函数参数,背景网格

算法思想

基于节点构造近似函数,摆脱网格束缚,适合大变形和自适应分析

理论依据

移动最小二乘理论,单位分解法,伽辽金法

算法特性

无网格畸变,自适应容易,精度高,但形函数构造复杂,积分困难

时间复杂度

形函数计算:O(nns2​)
矩阵装配:O(nns2​N)
求解:O(N1.5)

空间复杂度

存储节点和影响域:O(nns​N)
矩阵存储:O(N1.5)

适用类型

大变形,裂纹动态扩展,自适应分析,高梯度问题

优点

无网格畸变,自适应容易,精度高,适合大变形

缺点

形函数构造复杂,数值积分困难,计算成本高,边界条件处理复杂

18. 等几何分析 (Isogeometric Analysis, IGA)

项目

详细说明

表示方法

NURBS基函数:Ri,p​(ξ)=∑j=1n​Nj,p​(ξ)wj​Ni,p​(ξ)wi​​
几何映射:x(ξ)=∑i=1n​Ri,p​(ξ)Pi​
场近似:uh(ξ)=∑i=1n​Ri,p​(ξ)ui​

构建方法

1. CAD几何导入
2. 定义分析合适的样条空间
3. h/p/k细化
4. 数值积分
5. 求解系统方程

算法名称

基于NURBS的等几何分析,T样条等几何分析,分层B样条分析

数学方程式

B样条基函数递归:
Ni,0​(ξ)={10​ξi​≤ξ<ξi+1​其他​
Ni,p​(ξ)=ξi+p​−ξi​ξ−ξi​​Ni,p−1​(ξ)+ξi+p+1​−ξi+1​ξi+p+1​−ξ​Ni+1,p−1​(ξ)
刚度矩阵:Kij​=∫Ω​∇Ri​⋅D⋅∇Rj​dΩ

计算公式

雅可比变换:J=dξdx​=∑i=1n​dξdRi​​Pi​
基函数梯度:dxdRi​​=dξdRi​​J−1
高斯积分:$\int\Omega f(x) d\Omega = \int{\hat{\Omega}} f(x(\xi))

应用场景

CAD/CAE集成,板壳分析,流固耦合,形状优化,高阶连续问题

依赖条件

软件:GeoPDEs, IGAFEM, LS-DYNA(IGA), ABAQUS(IGA)
硬件:高次基函数需要更多积分点
数据:NURBS几何,材料参数,边界条件

算法思想

使用CAD几何的样条基函数作为分析基函数,实现几何与分析的统一,消除几何离散误差

理论依据

样条理论,等参概念,有限元法

算法特性

几何精确,高阶连续,自适应h-p-k细化方便,但数值积分成本高

时间复杂度

矩阵装配:O(pdng​N)
求解:O(N1.5)

空间复杂度

存储控制点和变量:O(N)
矩阵存储:O(pdN)带宽

适用类型

高阶连续需求,几何精确分析,板壳结构,流体-结构相互作用

优点

几何精确,高阶连续,自适应细化方便,CAD/CAE无缝集成

缺点

数值积分成本高,局部细化复杂,复杂几何需多个样条块

19. 多尺度有限元法 (Multiscale FEM)

项目

详细说明

表示方法

多尺度展开:uϵ(x)=u0​(x)+ϵu1​(x,x/ϵ)+ϵ2u2​(x,x/ϵ)+⋯
其中u1​满足单元问题:∫Y​aij​∂yj​∂u1​​∂yi​∂v​dY=−∫Y​aij​∂xj​∂u0​​∂yi​∂v​dY

构建方法

1. 微观RVE定义
2. 求解微观单元问题
3. 计算等效宏观性质
4. 宏观尺度求解
5. 下行缩放获取微观场

算法名称

均匀化方法,多尺度有限元法,变分多尺度法

数学方程式

等效刚度:$a^H_{ijkl} = \frac{1}{

计算公式

MsFEM基函数:在宏观单元K上求解:
∇⋅(aϵ(x)∇ϕi​)=0在K内
ϕi​=gi​在∂K上
宏观解:uM=∑i=1nk​​ϕi​uiM​

应用场景

复合材料,多孔介质,混凝土,生物组织,多晶材料

依赖条件

软件:FE²代码,商用多尺度软件
硬件:需要大量计算资源,特别是并行计算
数据:微观结构,组分材料属性,边界条件

算法思想

通过分离宏观和微观尺度,在宏观尺度使用等效性质,微观尺度求解局部问题,考虑微观结构影响

理论依据

均匀化理论,多尺度渐近展开,变分多尺度法

算法特性

考虑微观结构,计算成本高,可获取微观应力分布,但尺度分离假设需满足

时间复杂度

宏观求解:O(NM1.5​)
微观求解:O(nR​VE⋅NR​VE1.5)
总:O(NM1.5​+nR​VE⋅NR​VE1.5)

空间复杂度

存储宏观和微观模型:O(NM​+nR​VE⋅NR​VE)

适用类型

具有周期性或随机微观结构的材料,特征尺度分离明显

优点

考虑微观结构,可获取局部应力,避免宏观均匀假设

缺点

计算成本高,尺度分离假设,微观模型简化可能不准确

20. 相场法 (Phase Field Method)

项目

详细说明

表示方法

相场变量:ϕ∈[−1,1],ϕ=1相A,ϕ=−1相B
自由能:$F = \int_V [f(\phi) + \frac{\epsilon^2}{2}

构建方法

1. 定义自由能泛函
2. 推导演化方程(Allen-Cahn或Cahn-Hilliard)
3. 离散求解(有限差分/有限元)
4. 时间积分(显式/半隐式)
5. 后处理

算法名称

Allen-Cahn方程,Cahn-Hilliard方程,相场晶体模型

数学方程式

Allen-Cahn:∂t∂ϕ​=−MδϕδF​=M[ϵ2∇2ϕ−f′(ϕ)]
Cahn-Hilliard:∂t∂ϕ​=∇⋅(M∇μ), μ=δϕδF​
双阱势:f(ϕ)=41​(ϕ2−1)2

计算公式

半隐式格式:Δtϕn+1−ϕn​=M[ϵ2∇2ϕn+1−f′(ϕn)]
傅里叶谱方法:ϕ^​n+1=1+ΔtMϵ2k2ϕ^​n−ΔtMf′(ϕn)​​
界面能:γ=322​​ϵ,界面厚度:ξ=2​ϵ

应用场景

相分离,晶粒生长,裂纹扩展,凝固,生物膜生长,肿瘤生长

依赖条件

软件:MOOSE, FEniCS, COMSOL(相场模块)
硬件:高分辨率需要大内存,三维问题需要HPC
数据:自由能函数,迁移率,界面参数,初始条件

算法思想

通过引入连续相场变量描述界面,避免显式追踪界面,通过能量最小化推导演化方程

理论依据

朗道相变理论,渐变界面模型,热力学第二定律

算法特性

界面自动演化,可处理复杂拓扑变化,但界面有厚度,计算精度受界面厚度影响

时间复杂度

每步:O(NlogN)(谱方法)或O(N)(有限差分)
总:O(Nt​NlogN)

空间复杂度

存储相场变量和辅助变量:O(N)

适用类型

相变,界面演化,拓扑变化复杂问题

优点

避免界面追踪,自然处理拓扑变化,易于耦合多物理场

缺点

界面厚度人为设定,计算量大,高分辨率需求,参数敏感

21. 离散裂缝网络 (Discrete Fracture Network, DFN)

项目

详细说明

表示方法

裂缝表示为平面多边形(3D)或线段(2D)
流动方程:∇⋅(k∇p)=0
裂缝内流动:q=−12μw3​∇p

构建方法

1. 裂缝网络生成(随机/确定)
2. 网格划分(裂缝/基质)
3. 流动方程离散
4. 求解流动方程
5. 粒子追踪(可选)

算法名称

离散裂缝网络模型,裂缝-基质耦合流动模型

数学方程式

裂缝流动(立方定律):qf​=−12μwf3​​∇pf​
基质流动:qm​=−μkm​​∇pm​
耦合条件:pf​=pm​, qf​⋅n=qm​⋅n在界面

计算公式

裂缝渗透率:kf​=12wf2​​
等效渗透率张量:kijeq​=V1​∑f​wf​Af​(ti​tj​)f​
传导率:Tij​=μLij​kij​Aij​​

应用场景

水文地质,油气开采,地热开发,核废料处置,岩石力学

依赖条件

软件:FracMan, dfnWorks, ConnectFlow
硬件:大内存,复杂网络需要并行
数据:裂缝统计参数,基质属性,边界条件

算法思想

显式表示裂缝网络,分别模拟裂缝和基质的流动,考虑裂缝的连通性和导流能力

理论依据

裂隙介质渗流理论,网络理论,统计几何

算法特性

显式表示裂缝,考虑非均质性,但计算量大,网格生成复杂

时间复杂度

网络生成:O(Nf​)
网格划分:O(Nf2​)
求解:O(N1.5)

空间复杂度

存储裂缝网络和网格:O(Nf​+N)

适用类型

裂缝性介质,裂缝主导流动,非均质性强

优点

显式表示裂缝,可考虑复杂网络,物理直观

缺点

计算量大,网格生成困难,参数不确定性强

22. 随机有限元法 (Stochastic FEM)

项目

详细说明

表示方法

随机场展开:a(x,θ)=∑i=0m​ai​(x)ξi​(θ)
多项式混沌展开:u(x,θ)=∑j=0p​uj​(x)ψj​(ξ(θ))
伽辽金投影:⟨R,ψk​⟩=0

构建方法

1. 随机输入建模(KL展开)
2. 随机伽辽金离散
3. 求解耦合确定性系统
4. 后处理统计量

算法名称

随机伽辽金法,随机配点法,摄动随机有限元法

数学方程式

KL展开:a(x,θ)=aˉ(x)+∑i=1m​λi​​fi​(x)ξi​(θ)
多项式混沌:⟨ψi​,ψj​⟩=δij​⟨ψi2​⟩
耦合系统:∑j=0p​Kij​uj​=Fi​, Kij​=⟨ψi​ψj​K⟩

计算公式

随机刚度矩阵:Kij​=∫Ω​BTDij​BdΩ
Dij​=⟨ψi​ψj​D(θ)⟩
随机配点:u(k)=K−1(ξ(k))F(ξ(k))
uj​=∑k=1Q​u(k)ψj​(ξ(k))wk​

应用场景

不确定性量化,可靠性分析,随机振动,参数识别,稳健设计

依赖条件

软件:UQLab, Dakota, OpenTURNS
硬件:大量计算,高维需要降维
数据:随机变量分布,相关函数,有限元模型

算法思想

将随机变量引入控制方程,用随机基函数展开解,通过伽辽金投影或采样求解展开系数

理论依据

随机过程理论,多项式混沌,蒙特卡洛方法,摄动理论

算法特性

量化不确定性,计算成本高,收敛速度依赖方法

时间复杂度

蒙特卡洛:O(NMC​TFE​)
随机伽辽金:O(P2TFE​)
配点法:O(QTFE​)

空间复杂度

存储随机矩阵:O(P2N)
多项式混沌系数:O(PN)

适用类型

输入参数不确定,需要量化输出不确定性的问题

优点

系统量化不确定性,多项式混沌收敛快

缺点

计算成本高,维数灾难,实现复杂

23. 拓扑优化 (Topology Optimization)

项目

详细说明

表示方法

设计变量:ρ∈[0,1]
优化问题:minρ​c(ρ)=FTU(ρ)
约束:V(ρ)≤V0​, 0<ρmin​≤ρ≤1
平衡方程:K(ρ)U=F

构建方法

1. 设计域离散,初始化
2. 有限元分析
3. 灵敏度分析
4. 设计变量更新
5. 收敛判断

算法名称

SIMP法,水平集法,进化结构优化法,移动渐近线法

数学方程式

SIMP模型:E(ρ)=Emin​+ρp(E0​−Emin​)
灵敏度:∂ρe​∂c​=−pρep−1​(E0​−Emin​)ueT​k0​ue​
优化准则法:ρenew​=⎩⎨⎧​max(ρmin​,ρe​−m)min(1,ρe​+m)ρe​Beη​​if ρe​Beη​≤max(ρmin​,ρe​−m)if ρe​Beη​≥min(1,ρe​+m)otherwise​
其中Be​=∂ρe​∂c​/(λ∂ρe​∂V​)

计算公式

过滤敏度:∂ρe​∂c​=ρe​∑f​Hef​1​∑f​Hef​ρf​∂ρf​∂c​
Hef​=max(0,R−dist(e,f))
MMA更新:minρ​∑i=1n​(Ui​−ρi​p0i​​+ρi​−Li​q0i​​)
s.t. gj​(ρ)≤0

应用场景

结构轻量化,柔顺机构,材料设计,多物理场优化

依赖条件

软件:SIMP代码,水平集代码,商用软件(OptiStruct)
硬件:多次有限元分析,计算量大
数据:设计域,载荷,约束,制造约束

算法思想

在给定设计域内优化材料分布,使结构在约束下性能最优

理论依据

优化理论,变分法,均匀化理论,灵敏度分析

算法特性

可得到创新结构,但可能有多重局部最优,棋盘格现象

时间复杂度

每次迭代:O(N1.5)(FEA) + O(N)(更新)
总:O(Niter​N1.5)

空间复杂度

存储设计变量和敏度:O(N)
有限元矩阵:O(N1.5)

适用类型

静力学,动力学,热传导,流体,多物理场优化

优点

创新设计,材料利用率高,可处理复杂约束

缺点

计算成本高,棋盘格现象,局部最优,制造约束需后处理

24. 时间积分算法详细对比

项目

中心差分法(显式)

Newmark-β法(隐式)

HHT-α法(隐式)

广义α法(隐式)

公式

an​=M−1(Fnext​−Fnint​)
vn+1/2​=vn−1/2​+Δtan​
un+1​=un​+Δtvn+1/2​

un+1​=un​+Δtvn​+Δt2[(1/2−β)an​+βan+1​]
vn+1​=vn​+Δt[(1−γ)an​+γan+1​]
Man+1​+Cvn+1​+Kun+1​=Fn+1ext​

Man+1​+(1+α)Cvn+1​−αCvn​+(1+α)Kun+1​−αKun​=Fn+1+αext​
Fn+1+αext​=(1+α)Fn+1ext​−αFnext​

Man+1−αm​​+Cvn+1−αf​​+Kun+1−αf​​=Fn+1−αf​ext​
un+1−αf​​=(1−αf​)un+1​+αf​un​
vn+1−αf​​=(1−αf​)vn+1​+αf​vn​
an+1−αm​​=(1−αm​)an+1​+αm​an​

参数

无参数

γ≥1/2, β≥(1+γ)2/4无条件稳定

α∈[−1/3,0], β=(1−α)2/4, γ=1/2−α

αm​=ρ∞​+12ρ∞​−1​, αf​=ρ∞​+1ρ∞​​, β=41​(1−αf​+αm​)2, γ=1/2−αf​+αm​

稳定性

条件稳定:Δt≤Δtcrit​=2/ωmax​

无条件稳定(当γ≥1/2,β≥(1/2+γ)2/4)

无条件稳定(当α∈[−1/3,0])

无条件稳定(当αm​≤αf​≤1/2)

数值耗散

有(当γ>1/2)

可控,高频耗散

可控,高频耗散,低频保真

精度

二阶

二阶(当γ=1/2),一阶(当γ=1/2)

二阶(当γ=1/2−α)

二阶

计算成本

低(无需求解线性系统)

高(需迭代求解非线性系统)

高(类似Newmark)

高(类似Newmark)

适用场景

波动传播,冲击,高速动力学

结构动力学,低频振动

中高频振动,需要数值耗散

中高频振动,需要数值耗散可控

25. 接触算法

项目

罚函数法

拉格朗日乘子法

增广拉格朗日法

表示方法

Fn​={kn​g0​g<0g≥0​
Ft​=min(μFn​,kt​Δut​)

约束条件:g≥0
拉格朗日函数:L=Π+λg
KKT条件:g≥0, λ≥0, λg=0

L=Π+λg+21​ϵg2
更新:λk+1=λk+ϵgk

构建方法

1. 检测接触
2. 计算穿透量g
3. 计算罚力Fn​=kn​g
4. 加入系统方程

1. 检测接触
2. 引入拉格朗日乘子λ
3. 求解KKT条件
4. 求解混合系统

1. 检测接触
2. 初始化λ
3. 求解罚函数问题
4. 更新λ
5. 重复直至收敛

数学方程式

势能:Π=21​uTKu−uTF+21​kn​g2
刚度矩阵:Kc​=kn​nnT

混合系统:[KN​NT0​][uλ​]=[F0​]
其中Nij​=∂gi​/∂uj​

迭代格式:
Kuk+1=F−NTλk−ϵNTgk
λk+1=max(0,λk+ϵgk+1)

计算公式

接触刚度:kn​=αEA/h
其中α为罚因子,E为杨氏模量,A为接触面积,h为特征长度

接触矩阵:N=[n1T​,n2T​,...]T
其中ni​为接触点法向

更新乘子:λk+1=max(0,λk+ϵgk+1)
收敛准则:∥gk+1∥<tol

应用场景

一般接触问题,显式动力学

精确接触约束,无穿透

精确接触约束,数值稳定

算法特性

简单,数值稳定,但存在穿透,需选择合适罚因子

精确满足接触约束,但增加系统规模,可能病态

结合两者优点,但需迭代

优点

实现简单,不增加系统规模,数值稳定

精确满足约束,无参数选择

精确满足约束,数值稳定

缺点

存在穿透,罚因子影响精度和收敛性

增加系统规模,可能病态,主从面选择敏感

需迭代,计算成本较高

26. 非线性求解算法

项目

牛顿-拉弗森法

修正牛顿法

弧长法

表示方法

迭代格式:KT​(uk)Δu=Fext−Fint(uk)
uk+1=uk+Δu

KT​(u0)Δu=Fext−Fint(uk)
uk+1=uk+Δu

(KT​+λKG​)Δu=ΔλFref
约束方程:∥Δu∥2+ψ2(Δλ)2=Δl2

构建方法

1. 计算残差R=Fext−Fint
2. 计算切线刚度KT​
3. 求解线性系统KT​Δu=R
4. 更新位移u=u+Δu
5. 检查收敛

1. 计算残差R
2. 使用初始切线刚度KT​(u0)
3. 求解KT​(u0)Δu=R
4. 更新位移
5. 检查收敛

1. 预测步:沿切线方向预测
2. 修正步:求解增广系统
3. 更新位移和载荷因子
4. 检查收敛

收敛准则

∥R∥<ϵR​∥Fext∥
∥Δu∥<ϵu​∥u∥
$|\Delta E|< \epsilon_E

E

$

收敛速度

二阶收敛(局部)

一阶收敛

一阶/二阶

计算成本

高(每次迭代需重构KT​并求解)

中(只需一次分解KT​)

高(需求解增广系统)

存储需求

存储KT​和分解

存储KT​和分解

存储KT​和KG​

优点

收敛快,精度高

计算成本低,适合轻度非线性

可通过极值点,跟踪复杂路径

缺点

每次迭代需重构KT​,可能不收敛

收敛慢,可能不收敛

实现复杂,参数选择敏感

适用场景

强非线性问题

轻度非线性,计算资源有限

屈曲,后屈曲,软化行为

27. 并行计算策略

项目

域分解法

任务并行

数据并行

原理

将计算域划分为子域,各处理器负责一个子域,边界交换数据

将不同任务分配给不同处理器

将数据分布到各处理器,各处理器执行相同操作

通信模式

相邻子域边界通信,全局归约

任务间通信,主从模式

全局通信,规约操作

负载平衡

重要,需均衡各子域计算量

重要,任务分配均衡

重要,数据分布均匀

实现

MPI,OpenMP+MPI混合

OpenMP,MPI任务并行

MPI,CUDA,OpenCL

适用算法

有限元,有限体积,多重网格

参数扫描,优化,不确定性分析

矩阵运算,粒子方法,图像处理

优点

扩展性好,适合大规模计算

适合任务独立场景

简单,适合规则计算

缺点

通信开销大,负载平衡复杂

任务依赖复杂,通信可能成为瓶颈

数据依赖复杂,通信开销大

28. 机器学习辅助力学

项目

代理模型

模型降阶

数据驱动本构

原理

用机器学习模型替代昂贵仿真

用低维模型近似高维系统

从数据学习本构关系

方法

神经网络,高斯过程,支持向量机

本征正交分解,动态模态分解

神经网络本构,深度学习

训练数据

仿真或实验数据

高维仿真数据

实验或高保真仿真数据

在线计算

快速预测

快速求解

快速应力更新

精度

依赖训练数据和模型复杂度

依赖降维基和截断

依赖数据质量和模型结构

计算成本

离线训练昂贵,在线预测廉价

离线基构建昂贵,在线求解廉价

离线训练昂贵,在线评估廉价

适用场景

优化,不确定性量化,实时控制

参数化问题,实时仿真,控制

复杂材料行为,多尺度模拟

优点

快速预测,可处理高维非线性

大幅降维,快速求解

无需假设本构形式,可发现新关系

缺点

需要大量训练数据,外推不可靠

基函数依赖训练数据,非线性问题复杂

物理一致性难保证,泛化能力有限

我们继续补充更多的力学数值方法及其相关细节。由于力学数值方法众多,我们将继续以表格形式介绍其他重要方法。

29. 格子玻尔兹曼方法 (Lattice Boltzmann Method, LBM)

项目

详细说明

表示方法

离散玻尔兹曼方程:fi​(x+ci​Δt,t+Δt)−fi​(x,t)=Ωi​(f)
其中fi​为离散分布函数,ci​为离散速度,Ωi​为碰撞算子

构建方法

1. 离散速度模型选择(D2Q9, D3Q19等)
2. 初始化分布函数
3. 碰撞步:fipost​(x,t)=fi​(x,t)+Ωi​
4. 迁移步:fi​(x+ci​Δt,t+Δt)=fipost​(x,t)
5. 宏观量计算:ρ=∑i​fi​, ρu=∑i​ci​fi​

算法名称

单松弛时间模型(BGK),多松弛时间模型(MRT),隐式LBM,可压LBM

数学方程式

BGK碰撞:Ωi​=−τ1​(fi​−fieq​)
平衡分布函数:fieq​=wi​ρ[1+cs2​ci​⋅u​+2cs4​(ci​⋅u)2​−2cs2​u⋅u​]
宏观方程:通过Chapman-Enskog展开可恢复Navier-Stokes方程
粘度:ν=cs2​(τ−0.5)Δt

计算公式

D2Q9模型:
速度:ci​=⎩⎨⎧​(0,0)(±1,0)c,(0,±1)c(±1,±1)c​i=0i=1−4i=5−8​
权系数:w0​=4/9, w1−4​=1/9, w5−8​=1/36
声速:cs​=c/3​
宏观量:ρ=∑i=08​fi​, ρu=∑i=08​ci​fi​

应用场景

不可压流体,多孔介质流,多相流,微流动,血液流动,湍流模拟

依赖条件

软件:Palabos, OpenLB, D3Q, LBsoft
硬件:GPU并行效率高,适合大规模计算
数据:离散速度模型,松弛时间,边界条件

算法思想

基于动理论,模拟粒子分布函数的演化,通过碰撞和迁移步骤恢复宏观流动

理论依据

动理论,玻尔兹曼方程,Chapman-Enskog展开

算法特性

并行性好,边界处理简单,适合复杂几何,但高马赫数受限,压力计算需修正

时间复杂度

每个时间步:O(N),其中N为格子数
总复杂度:O(Nt​N)

空间复杂度

存储分布函数:O(bN),b为离散速度方向数(如D2Q9中b=9)

适用类型

不可压流动,多相流,复杂边界,微尺度流动

优点

并行性极好,边界处理简单,程序结构简单,适合复杂几何

缺点

高马赫数不准确,压力计算需状态方程,内存消耗较大

30. 光滑粒子流体动力学 (补充详细内容)

项目

详细说明

核函数类型

高斯核:W(r,h)=(πh2)d/21​exp(−h2r2​)
三次样条:W(q)=hdσ​⎩⎨⎧​1−23​q2+43​q341​(2−q)30​0≤q<11≤q<2q≥2​
五次样条:W(q)=hdσ​⎩⎨⎧​(2−q)3−4(1−q)3(2−q)30​0≤q<11≤q<2q≥2​

密度求解方法

求和密度:ρi​=∑j​mj​Wij​
连续性方程:dtdρi​​=∑j​mj​(vi​−vj​)⋅∇Wij​
状态方程:Pi​=P0​[(ρ0​ρi​​)γ−1](弱可压)
Tait方程:P=γc02​ρ0​​[(ρ0​ρ​)γ−1]

人工粘度

Monaghan型:Πij​={ρˉ​ij​−αcˉij​ϕij​+βϕij2​​0​vij​⋅rij​<0otherwise​
$\phi{ij} = \frac{h \mathbf{v}{ij} \cdot \mathbf{r}_{ij}}{

人工应力

用于抑制拉伸不稳定:
dtdvi​​=−∑j​mj​(ρi2​Pi​​+ρj2​Pj​​+Πij​+Rij​)∇i​Wij​
Rij​=0.01ρi​ρj​Pi​+Pj​​W(Δx)Wij​​

边界处理

虚粒子:在边界外布置粒子,赋予合适属性
排斥力:Fij​=D(rij​r0​​)nrij​rij​​
镜像粒子:边界对称位置生成镜像粒子

时间积分

蛙跳法:vn+1/2=vn−1/2+Δtan
rn+1=rn+Δtvn+1/2
预测-修正:预测步用显式欧拉,修正步用梯形规则

邻居搜索

链表法:网格大小2h,每个粒子搜索周围26个网格(3D)
树形法:KD树,八叉树,适合非均匀分布

应用场景补充

自由表面流动(水波、溃坝),流体-结构相互作用(水-船相互作用),天体物理(星体形成),爆炸与冲击,生物力学(血液流动)

最新发展

δ-SPH:密度扩散项抑制压力振荡
ISPH:不可压SPH,压力通过求解泊松方程得到
SPH-ALE:任意拉格朗日-欧拉框架,减少拉伸不稳定

31. 无网格伽辽金法 (补充详细内容)

项目

详细说明

形函数构造

移动最小二乘(MLS):uh(x)=pT(x)a(x)
其中a(x)由最小化加权误差得到:J=∑i=1n​wi​(x)[pT(xi​)a(x)−ui​]2
解得:a(x)=A−1(x)B(x)U
A(x)=∑i=1n​wi​(x)p(xi​)pT(xi​), B(x)=[w1​(x)p(x1​),...,wn​(x)p(xn​)]
形函数:ϕi​(x)=pT(x)A−1(x)Bi​(x)

权函数

高斯权:wi​(x)={1−exp(−(dmi​/c)2)exp(−(di​/c)2)−exp(−(dmi​/c)2)​0​di​≤dmi​di​>dmi​​
样条权:wi​(x)=1−6(dmi​di​​)2+8(dmi​di​​)3−3(dmi​di​​)4
其中di​=∥x−xi​∥, dmi​为影响域半径

数值积分

背景网格积分:在规则背景网格上高斯积分
节点积分:在节点上积分,无需背景网格
稳定节点积分:KIJ​=∫Ω​(LϕI​)TD(LϕJ​)dΩ+α∫Ω​(ϕI​−ϕI∗​)(ϕJ​−ϕJ∗​)dΩ

边界条件施加

拉格朗日乘子法:[KG​GT0​][uλ​]=[fq​]
GIj​=∫Γu​​Nj​ϕI​dΓ, qj​=∫Γu​​Nj​uˉdΓ
罚函数法:KIJ​=KIJ​+α∫Γu​​ϕI​ϕJ​dΓ, fI​=fI​+α∫Γu​​ϕI​uˉdΓ
修正变分原理:引入边界条件泛函

本质边界条件施加

配点法:在边界节点上直接施加ui​=uˉ(xi​)
变换法:将边界节点形函数修正为插值形函数
有限元耦合法:边界附近用有限元,内部用无网格

应用场景补充

大变形问题(金属成型,爆炸),裂纹扩展(动态裂纹,分枝裂纹),自适应分析(hp自适应),高梯度问题(边界层,冲击波)

最新发展

重构核粒子法(RKPM):引入重构核函数,提高稳定性
hp云法:允许形函数阶次变化,提高精度
无网格局部Petrov-Galerkin法(MLPG):局部弱形式,无需背景网格

32. 扩展有限元法 (补充裂纹处理)

项目

详细说明

裂纹描述

水平集函数:ϕ(x)=±minxc​∈Γc​​∥x−xc​∥
符号距离函数,正负表示裂纹两侧
裂纹尖端:由两个水平集函数描述
ϕ(x): 到裂纹面的距离
ψ(x): 到裂纹尖端的距离

富集函数

裂纹面富集(Heaviside函数):H(x)={1−1​ϕ(x)≥0ϕ(x)<0​
裂尖富集(二维):
{Fα​(r,θ)}=[r​sin2θ​,r​cos2θ​,r​sin2θ​sinθ,r​cos2θ​sinθ]
裂尖富集(三维):
{Fα​(r,θ,ϕ)}基于球谐函数

位移场近似

uh(x)=∑i∈I​Ni​(x)ui​+∑j∈J​Nj​(x)H(x)aj​+∑k∈K​Nk​(x)(∑α=1m​Fα​(x)bkα​)
I: 所有节点,J: 裂纹面完全切割的节点,K: 裂尖影响节点

数值积分

裂纹切割单元:分为子三角形/子四边形积分
裂尖单元:极坐标变换,径向高斯积分
积分方案:
1. 单元分解为子域
2. 每个子域映射到标准单元
3. 高斯积分

应力强度因子计算

相互作用积分:J=∫A​(σij​ui,1​−Wδ1j​)q,j​dA
KI​=2(1−ν2)E​J(1)(平面应变)
位移外推法:KI​=limr→0​2(1−ν2)E​r2π​​uθ​(r,π)

裂纹扩展

最大周向应力准则:θc​=2arctan(41​(KI​/KII​±(KI​/KII​)2+8​))
扩展条件:f(KI​,KII​)≥KIC​
水平集更新:ϕn+1=ϕn+Δa∥∇ϕn∥, ψn+1=ψn+Δa∥∇ψn∥

应用场景补充

静态裂纹,动态裂纹扩展,裂纹分叉,多裂纹相互作用,三维裂纹,界面裂纹,压电材料裂纹

最新发展

相场-XFEM耦合:用相场描述裂纹,避免裂纹追踪
自适应XFEM:h-p自适应提高裂尖精度
等几何XFEM:用NURBS描述几何和裂纹,提高精度

33. 边界元法 (补充快速算法)

项目

详细说明

快速算法

快速多极算法(FMM):
1. 分层划分:建立树结构(四叉树/八叉树)
2. 多极展开:G(xi​,yj​)=∑m=0p​∑n=−mm​Omn​(yc​)Imn​(xi​)
3. 转移:多极-多极,多极-局部,局部-局部
4. 计算:远场用展开,近场直接计算
复杂度:O(NlogN)或O(N)

预处理技术

对角预处理:P=diag(H)
块对角预处理:P=blockdiag(H)
不完全LU分解:H≈LU
稀疏近似逆:M≈H−1

迭代求解器

GMRES:适合非对称矩阵
Bi-CGSTAB:适合非对称矩阵,内存需求小
CG:适合对称正定矩阵
预处理:P−1Hx=P−1b

奇异积分处理

弱奇异(∼1/r):极坐标变换∫01​∫01​f(ξ,η)dξdη=∫01​∫01​f(rcosθ,rsinθ)rdrdθ
强奇异(∼1/r2):刚性运动法,解析积分
超奇异(∼1/r3):有限部分积分

对偶边界元法

裂纹问题:
位移边界积分方程(裂纹一侧):c(P)u(P)+∫Γ​T(P,Q)u(Q)dΓ(Q)=∫Γ​U(P,Q)t(Q)dΓ(Q)
位移边界积分方程(裂纹另一侧):−c(P)u(P)+∫Γ​T(P,Q)u(Q)dΓ(Q)=∫Γ​U(P,Q)t(Q)dΓ(Q)
相减得:∫Γ​T(P,Q)[[u(Q)]]dΓ(Q)=∫Γ​U(P,Q){t(Q)}dΓ(Q)

应用场景补充

声学(噪声分析,声散射),断裂力学(应力强度因子),势流(绕流,波浪),热传导(稳态/瞬态),弹性力学(接触,应力集中)

最新发展

等几何边界元法:用NURBS描述几何和场变量,提高精度
快速多极边界元法:处理大规模问题
自适应边界元法:h-p自适应提高精度

34. 等几何分析 (补充详细内容)

项目

详细说明

B样条/NURBS基础

节点矢量:Ξ={ξ1​,ξ2​,...,ξn+p+1​}
B样条基函数:
Ni,0​(ξ)={10​ξi​≤ξ<ξi+1​otherwise​
Ni,p​(ξ)=ξi+p​−ξi​ξ−ξi​​Ni,p−1​(ξ)+ξi+p+1​−ξi+1​ξi+p+1​−ξ​Ni+1,p−1​(ξ)
NURBS:Ri,p​(ξ)=∑j=1n​Nj,p​(ξ)wj​Ni,p​(ξ)wi​​
导数:dξd​Ri,p​(ξ)=wi​W2(ξ)Ni,p′​(ξ)W(ξ)−Ni,p​(ξ)W′(ξ)​

细化策略

节点插入(h-细化):增加节点不改变几何和参数化
阶次提升(p-细化):增加基函数阶次
节点细化(k-细化):先升阶再插入节点
T样条:允许局部细化,更灵活

数值积分

高斯积分:单元映射到参数空间
$\int\Omega f(x) d\Omega = \int{\hat{\Omega}} f(x(\xi))

边界条件施加

本质边界条件:
强加:直接施加在控制变量上(仅当边界与控制点重合)
弱加:拉格朗日乘子法,罚函数法,Nitsche法
自然边界条件:自动满足

应用场景补充

板壳分析:高阶连续,无剪切锁死
流体-结构相互作用:几何精确,高阶精度
形状优化:CAD集成,灵敏度分析方便
等几何边界元法:几何精确,降维

最新发展

分层B样条:局部细化能力强
T样条:允许T型节点,局部细化
LR B样条:局部细化,最小控制点增加
等几何与相场法耦合:精确描述界面演化

35. 多尺度有限元法 (补充FE²方法)

项目

详细说明

FE²框架

宏观尺度:平衡方程∇⋅σM=0
微观尺度:平衡方程∇⋅σm=0
尺度耦合:$\sigma^M = \frac{1}{

微观边界条件

周期性:ui​=εijM​xj​+vi​, vi​周期性
线性:ui​=εijM​xj​
均匀:ti​=σijM​nj​

均匀化过程

1. 求解微观问题:∫V​δεm:Cm:εmdV=0
2. 计算宏观应力:$\sigma^M = \frac{1}{

计算流程

1. 宏观尺度:每个积分点调用微观求解器
2. 微观尺度:给定宏观应变εM,求解微观平衡得到应力σm
3. 返回宏观应力和切线模量
4. 宏观尺度组装和求解

加速技术

模型降阶:POD,RBF,神经网络
数据库:预先计算,插值得到响应
并行计算:微观问题独立,可并行

应用场景补充

复合材料(纤维增强,颗粒增强),混凝土(骨料,砂浆),多孔介质,生物组织(骨,软组织),纺织复合材料

最新发展

非局部多尺度:考虑尺度间耦合
数据驱动多尺度:机器学习替代微观求解器
不确定性多尺度:考虑微观不确定性传递

36. 机器学习在力学中的应用

项目

详细说明

代理模型

高斯过程:f(x)∼GP(m(x),k(x,x′))
神经网络:f(x)=Wn​σ(Wn−1​...σ(W1​x+b1​)...+bn−1​)+bn​
支持向量机:min21​∥w∥2+C∑i=1n​ξi​, s.t. yi​(w⋅xi​+b)≥1−ξi​

模型降阶

本征正交分解(POD):u(x,t)=∑i=1r​ai​(t)ϕi​(x)
动态模态分解(DMD):X′≈AX, A=X′X+
自编码器:编码器z=fe​(x),解码器x^=fd​(z)

数据驱动本构

神经网络本构:σ=fNN​(ε,ε˙,T,...)
物理信息神经网络:损失函数=数据损失+物理约束(平衡方程,本构关系)
符号回归:从数据发现本构关系形式

强化学习控制

状态s,动作a,奖励r,策略π(a∥s)
目标:最大化累积奖励R=∑γtrt​
应用:主动流动控制,结构振动控制,机器人控制

异常检测

自编码器:重建误差识别异常
单类SVM:识别正常数据范围
应用:结构健康监测,故障诊断

生成模型

生成对抗网络(GAN):生成微结构,数据增强
变分自编码器(VAE):生成低维表示
应用:材料设计,微结构生成

物理信息机器学习

物理信息神经网络(PINN):
损失函数L=Ldata​+LPDE​+LBC​+LIC​
DeepONet:学习算子映射
Fourier神经算子:在傅里叶空间学习算子

应用场景补充

参数化模型快速预测,不确定性量化,反问题求解,材料设计,结构健康监测,流动控制

37. 高性能计算在力学中的应用

项目

详细说明

CPU并行

OpenMP:共享内存,指令级并行,循环并行化
MPI:分布式内存,消息传递,域分解
混合编程:OpenMP+MPI,节点内OpenMP,节点间MPI

GPU并行

CUDA:NVIDIA GPU,线程层次(grid, block, thread)
OpenCL:跨平台GPU/CPU/FPGA
OpenACC:指令制导,相对简单

众核架构

Intel Xeon Phi:众核x86,AVX-512指令集
ARM架构:能效高,适合超算

量子计算

量子比特:叠加态,纠缠
量子算法:Shor,Grover,HHL
应用:量子化学,优化问题,机器学习

云计算

弹性计算:按需分配资源
容器化:Docker,Singularity
无服务器计算:函数即服务

软件框架

PETSc:线性/非线性求解器库
Trilinos:求解器库,包含多个包
FEniCS:自动化有限元系统
Deal.II:有限元库,支持自适应

性能优化

算法优化:降低计算复杂度
并行优化:负载均衡,减少通信
内存优化:数据局部性,缓存友好
向量化:SIMD指令,数据并行

应用场景补充

大规模CFD(千万网格),分子动力学(百万原子),拓扑优化(百万设计变量),实时仿真(数字孪生)

38. 力学数值方法选择决策树

问题类型
├── 连续介质
│   ├── 固体力学
│   │   ├── 小变形
│   │   │   ├── 线性:线性FEM
│   │   │   └── 非线性:非线性FEM
│   │   ├── 大变形
│   │   │   ├── 网格畸变小:非线性FEM
│   │   │   ├── 网格畸变大:无网格(EFG, RKPM)
│   │   │   └── 极端变形:MPM, SPH
│   │   ├── 裂纹
│   │   │   ├── 静态裂纹:XFEM, BEM
│   │   │   ├── 动态裂纹:XFEM, 相场法
│   │   │   └── 多裂纹:相场法, DEM
│   │   ├── 接触
│   │   │   ├── 小滑移:FEM+接触
│   │   │   ├── 大滑移:FEM+接触, MPM
│   │   │   └── 多体接触:DEM
│   │   ├── 复合材料
│   │   │   ├── 均匀化:多尺度FEM
│   │   │   ├── 细观:FEM, VCFEM
│   │   │   └── 界面:内聚力模型, XFEM
│   │   └── 优化
│   │       ├── 拓扑优化:SIMP, 水平集
│   │       ├── 形状优化:FEM+灵敏度
│   │       └── 参数优化:代理模型, 机器学习
│   └── 流体力学
│       ├── 不可压
│       │   ├── 层流:FVM, FEM
│       │   ├── 湍流:RANS, LES, DNS
│       │   ├── 自由表面:VOF, SPH, MPS
│       │   └── 多相流:VOF, 水平集, 相场
│       ├── 可压
│       │   ├── 亚声速:FVM
│       │   ├── 跨声速:FVM+激波捕捉
│       │   ├── 超声速:FVM, FDM
│       │   └── 高超声速:FVM+真实气体
│       ├── 微流动
│       │   ├── 连续流:FVM, FEM
│       │   ├── 滑移流:FVM+滑移边界
│       │   └── 稀薄流:DSMC, 格子Boltzmann
│       └── 非牛顿
│           ├── 剪切稀化:FVM+本构
│           ├── 粘弹性:FVM+微分本构
│           └── 触变性:FVM+瞬态本构
├── 非连续介质
│   ├── 颗粒系统
│   │   ├── 密集颗粒:DEM
│   │   ├── 稀疏颗粒:DEM, CFD-DEM
│   │   └── 颗粒-流体:CFD-DEM
│   └── 散体物料
│       ├── 准静态:DEM, FEM
│       ├── 动态:DEM, MPM
│       └── 流动:DEM, 连续模型
├── 多尺度
│   ├── 均匀化:FE², 渐近均匀化
│   ├── 跨尺度:桥接尺度, 多尺度耦合
│   └── 并发:QC, CADD
├── 多物理场
│   ├── 流固耦合
│   │   ├── 弱耦合:分区求解
│   │   ├── 强耦合: monolithic
│   │   └── 移动网格:ALE, 浸入边界
│   ├── 热-力耦合
│   │   ├── 顺序耦合
│   │   └── 直接耦合
│   ├── 电-力耦合
│   │   ├── 压电:FEM
│   │   └── 压阻:FEM
│   └── 化学-力耦合
│       ├── 腐蚀:相场法
│       └── 氧化:FEM+扩散
└── 分子尺度
    ├── 平衡态:MD, MC
    ├── 非平衡态:NEMD
    └── 反应:ReaxFF, 从头算

39. 格子玻尔兹曼方法 (Lattice Boltzmann Method, LBM)

项目

详细说明

表示方法

离散玻尔兹曼方程:fi​(x+ci​Δt,t+Δt)=fi​(x,t)+Ωi​(x,t)
碰撞项:Ωi​=−τ1​[fi​−fieq​](BGK模型)

构建方法

1. 离散速度模型选择(D2Q9, D3Q19, D3Q27等)
2. 初始化分布函数
3. 碰撞步:fi∗​(x,t)=fi​(x,t)+Ωi​(x,t)
4. 迁移步:fi​(x+ci​Δt,t+Δt)=fi∗​(x,t)
5. 计算宏观量:ρ=∑i​fi​, ρu=∑i​ci​fi​

算法名称

BGK模型,MRT模型,TRT模型,浸入边界LBM,多相LBM

数学方程式

平衡分布函数(D2Q9):
fieq​=wi​ρ[1+cs2​ci​⋅u​+2cs4​(ci​⋅u)2​−2cs2​u⋅u​]
权重:w0​=4/9, w1−4​=1/9, w5−8​=1/36
声速:cs​=c/3​, c=Δx/Δt
粘度:ν=cs2​(τ−0.5)Δt

计算公式

MRT碰撞:m=Mf, m∗=m−S(m−meq)
其中M为变换矩阵,S为松弛矩阵
宏观量计算:
密度:ρ=∑i=0Q−1​fi​
动量:ρu=∑i=0Q−1​ci​fi​
应力:Παβ​=∑i=0Q−1​ciα​ciβ​fi​

应用场景

不可压缩流动,多孔介质流,多相流,微纳流动,血液流动,湍流模拟

依赖条件

软件:Palabos, OpenLB, D3Q, LBsoft
硬件:GPU并行效率高,适合大规模计算
数据:离散速度模型,松弛时间,边界条件

算法思想

基于动理论,模拟粒子分布函数的碰撞和迁移过程,通过Chapman-Enskog展开恢复宏观Navier-Stokes方程

理论依据

动理论,玻尔兹曼方程,Chapman-Enskog展开,格子气自动机

算法特性

高度并行,边界处理简单,适合复杂几何,压力可直接计算,但高马赫数受限

时间复杂度

每个时间步:O(N),N为格子数
总复杂度:O(Nt​N)

空间复杂度

存储分布函数:O(QN),Q为离散速度方向数(D2Q9中Q=9)

适用类型

不可压缩流,复杂边界流动,多孔介质,多相流,微尺度流动

优点

高度并行,边界处理简单,压力直接可得,程序结构简单

缺点

高马赫数不准确,压缩效应显著时不适用,内存消耗较大

40. 浸入边界法 (Immersed Boundary Method, IBM)

项目

详细说明

表示方法

流固耦合方程:
流体:ρ(∂t∂u​+u⋅∇u)=−∇p+μ∇2u+f
固体:F(s,t)=F[X(s,t)]
耦合:f(x,t)=∫F(s,t)δ(x−X(s,t))ds
∂t∂X​=∫u(x,t)δ(x−X(s,t))dx

构建方法

1. 背景欧拉网格(流体)
2. 拉格朗日网格(结构)
3. 力延拓:将结构力分布到流体网格
4. 速度插值:将流体速度插值到结构点
5. 结构运动:更新结构位置

算法名称

直接力法,虚拟边界法,反馈力法,浸入界面法

数学方程式

狄拉克函数近似:δh​(x)=hd1​ϕ(hx​)ϕ(hy​)ϕ(hz​)
常见核函数:$\phi(r) = \begin{cases} \frac{1}{8}(3 - 2

计算公式

反馈力法:F=α(Ud​−U)+β∫0t​(Ud​−U)dt
其中Ud​为期望速度(结构速度),U为插值得到的流体速度
直接力法:F=Δtρ​(Ud​−u∗)
其中u∗为中间速度

应用场景

流固耦合,生物流体(血液流动,心脏瓣膜),柔性结构,颗粒悬浮,鱼类游动

依赖条件

软件:IBAMR, OpenFOAM+IBM, Fluidity
硬件:需要处理非结构插值,计算量较大
数据:结构几何,材料属性,流体边界条件

算法思想

在固定的欧拉网格上求解流体方程,用拉格朗日点表示结构,通过狄拉克函数实现力与速度的交换

理论依据

分布函数理论,流固耦合理论,浸入边界概念

算法特性

无需动网格,适合大变形,可处理复杂结构,但精度受插值影响,质量不严格守恒

时间复杂度

每个时间步:O(Nf​)+O(Ns​)
插值操作:O(Ns​×nsupport​)
总复杂度:O(Nt​(Nf​+Ns​))

空间复杂度

流体变量:O(Nf​)
结构变量:O(Ns​)
插值权重:O(Ns​×nsupport​)

适用类型

流固耦合,大变形结构,多体相互作用,生物流体力学

优点

无需动网格,适合大变形,可处理复杂拓扑变化,实现相对简单

缺点

界面分辨率受流体网格限制,质量守恒不严格,刚度处理困难

41. 虚拟区域法 (Fictitious Domain Method, FDM)

项目

详细说明

表示方法

扩展域:Ω=Ωf​∪Ωs​
统一方程:ρ(∂t∂u​+u⋅∇u)=−∇p+μ∇2u+f+λ
约束:u=U+ω×r在Ωs​内
其中λ为拉格朗日乘子,施加无滑移条件

构建方法

1. 定义包含流体和固体的扩展域
2. 在扩展域上求解统一的流体方程
3. 通过拉格朗日乘子施加固体约束
4. 更新固体位置和速度

算法名称

分布式拉格朗日乘子法,虚拟区域有限元法,浸入有限元法

数学方程式

弱形式:
∫Ω​[ρ(∂t∂u​+u⋅∇u)⋅v+μ∇u:∇v−p∇⋅v]dΩ
+∫Ωs​​λ⋅(v−V−ω×r)dΩ=0
∫Ωs​​μ⋅(u−U−ω×r)dΩ=0

计算公式

离散系统:​ABC​BT00​CT00​​​upλ​​=​f0g​​
其中C为约束矩阵,λ为拉格朗日乘子
Uzawa算法:
1. 求解流体方程(无约束)
2. 更新乘子:λk+1=λk+ρ(uk+1−usk+1​)
3. 重复直到收敛

应用场景

颗粒悬浮,流化床,血液流动,沉降问题,搅拌槽

依赖条件

软件:FEEL++, GetFEM, 商业CFD软件定制
硬件:需要求解带约束的线性系统
数据:固体几何,材料属性,流体边界条件

算法思想

将流体和固体区域统一在一个扩展域中求解,通过拉格朗日乘子施加固体约束,避免动网格

理论依据

拉格朗日乘子法,变分原理,分布式优化

算法特性

统一求解流体固体,避免动网格,适合多体问题,但系统规模大,约束处理复杂

时间复杂度

每个时间步:O((Nf​+Ns​)1.5)
约束迭代:O(Niter​Ns​)
总复杂度:O(Nt​(Nf​+Ns​)1.5)

空间复杂度

流体变量:O(Nf​)
固体变量:O(Ns​)
约束矩阵:O(Ns​×Nf​)

适用类型

颗粒悬浮,多体运动,流固耦合,沉降问题

优点

避免动网格,统一求解,适合多体问题,质量守恒好

缺点

系统规模大,约束处理复杂,界面分辨率受网格限制

42. 任意拉格朗日-欧拉法 (Arbitrary Lagrangian-Eulerian, ALE)

项目

详细说明

表示方法

ALE描述:$\frac{\partial f}{\partial t} \bigg

构建方法

1. 拉格朗日步:在移动网格上求解
2. 重映射步:将解映射到新网格
3. 网格更新:根据边界运动更新内部网格

算法名称

ALE有限元,ALE有限体积,ALE-SPH,结构ALE

数学方程式

质量守恒:∂t∂ρ​+ρ∇⋅u+(u−w)⋅∇ρ=0
动量守恒:ρ(∂t∂u​+(u−w)⋅∇u)=−∇p+μ∇2u+f
几何守恒:dtd​∫Ω(t)​dΩ−∫∂Ω(t)​w⋅ndΓ=0

计算公式

网格速度:w=Δtxn+1−xn​
对流项离散:(u−w)⋅∇f≈∑f​ϕf​(ff​−fP​)
其中ϕf​=(uf​−wf​)⋅nf​Af​
网格更新:弹簧类比法Fij​=kij​(xj​−xi​)
Laplace平滑:∇2w=0

应用场景

流固耦合,自由表面流动,界面追踪,大变形问题,金属成型

依赖条件

软件:LS-DYNA, ABAQUS, ADINA, OpenFOAM(动网格)
硬件:网格运动需要额外计算
数据:边界运动规律,网格更新策略,重映射方法

算法思想

结合拉格朗日和欧拉描述优点,网格可任意运动,既避免网格畸变,又减少对流项误差

理论依据

移动坐标系,黎曼几何,任意参考系

算法特性

网格可动,适合移动边界,可精确追踪界面,但网格质量需维护,重映射可能耗散

时间复杂度

每个时间步:O(N1.5)+ 网格更新O(N)
重映射:O(NlogN)
总复杂度:O(Nt​N1.5)

空间复杂度

存储网格和变量:O(N)
重映射权重:O(N×nneighbor​)

适用类型

移动边界,自由表面,流固耦合,大变形但拓扑不变

优点

精确追踪界面,适合移动边界,对流项处理优于纯拉格朗日

缺点

网格可能畸变,重映射耗散,实现复杂,计算成本高

43. 水平集法 (Level Set Method, LSM)

项目

详细说明

表示方法

水平集函数:ϕ(x,t),界面为Γ(t)={x:ϕ(x,t)=0}
符号距离函数:$

构建方法

1. 初始化水平集函数(符号距离函数)
2. 求解水平集演化方程
3. 重新初始化保持符号距离性质
4. 提取界面ϕ=0

算法名称

水平集法,快速步进法,窄带法,稀疏场法

数学方程式

水平集方程:$\frac{\partial \phi}{\partial t} + F

计算公式

迎风格式:Δtϕijn+1​−ϕijn​​+max(Fij​,0)∇+ϕijn​+min(Fij​,0)∇−ϕijn​=0
其中∇+ϕ=[max(Dij−x​ϕ,0)2+min(Dij+x​ϕ,0)2+max(Dij−y​ϕ,0)2+min(Dij+y​ϕ,0)2]1/2
快速步进法:$

应用场景

界面追踪,多相流,晶体生长,图像分割,拓扑优化

依赖条件

软件:Level Set Toolbox, OpenFOAM(interFoam), COMSOL
硬件:需要高分辨率,计算量较大
数据:初始界面,速度场,重新初始化频率

算法思想

用高维函数的零等值面表示低维界面,通过求解演化方程更新界面,自然处理拓扑变化

理论依据

曲线演化理论,符号距离函数,双曲守恒律

算法特性

自然处理拓扑变化,可计算几何量,但需重新初始化,质量守恒不严格

时间复杂度

每个时间步:O(N)
重新初始化:O(N)
总复杂度:O(Nt​N)

空间复杂度

存储水平集函数:O(N)
窄带存储:O(Nband​)

适用类型

界面演化,多相流,拓扑优化,图像分割

优点

自然处理拓扑变化,几何量易得,高维表示简单

缺点

质量不守恒,需重新初始化,计算量大,精度依赖网格

44. 相场法 (Phase Field Method, PFM) 补充

项目

详细说明

自由能泛函

Ginzburg-Landau自由能:$F[\phi] = \int_V \left[ f(\phi) + \frac{\epsilon^2}{2}

演化方程

Allen-Cahn方程(非保守):∂t∂ϕ​=−Mμ=M(ϵ2∇2ϕ−f′(ϕ))
Cahn-Hilliard方程(保守):∂t∂ϕ​=∇⋅(M∇μ)
耦合力学:∂t∂ϕ​=−M(δϕδF​+δϕδEelast​​)

数值方法

凸分裂:f(ϕ)=fc​(ϕ)−fe​(ϕ),凸部分隐式,凹部分显式
时间离散:Δtϕn+1−ϕn​=M(ϵ2∇2ϕn+1−fc′​(ϕn+1)+fe′​(ϕn))
谱方法:ϕ^​n+1=1+ΔtM(ϵ2k2+fc′​(ϕn)​/ϕ^​n+1)ϕ^​n−ΔtMfe′​(ϕn)​​

裂纹相场

能量分解:$E = \int\Omega g(c) \psi^+(\epsilon) + \psi^-(\epsilon) d\Omega + G_c \int\Omega \left( \frac{1}{2l} c^2 + \frac{l}{2}

应用扩展

相变(凝固,固态相变),裂纹扩展,晶粒生长,生物膜,肿瘤生长,电化学相变

最新发展

自适应网格,高阶时间格式,多相场,多物理场耦合,数据驱动相场

优点补充

避免显式界面追踪,自然处理复杂拓扑,易于耦合多物理场,理论严谨

缺点补充

界面厚度人为设定,高分辨率需求,计算量大,参数敏感

45. 模型降阶方法 (Model Order Reduction, MOR)

项目

详细说明

表示方法

高维模型:dtdu​=f(u,t;μ), u∈RN
降维近似:u(t;μ)≈u0​+Φq(t;μ), q∈Rr, r≪N
其中Φ=[ϕ1​,ϕ2​,...,ϕr​]为降维基

构建方法

1. 采样:在高维参数空间采样
2. 求解:计算高维解(快照)
3. 压缩:提取主导模式(POD)
4. 投影:将方程投影到低维空间
5. 求解:求解低维方程

算法名称

本征正交分解(POD),动态模式分解(DMD),降基法(RB),平衡截断(BT)

数学方程式

POD:minΦ​∑i=1Ns​​∥ui​−ΦΦTui​∥2, s.t. ΦTΦ=I
解为协方差矩阵C=UUT的前r个特征向量
Galerkin投影:ΦTMΦdtdq​=ΦTf(u0​+Φq,t;μ)
POD-DEIM:f(u)≈Φf​(ΨTΦf​)−1ΨTf(u)

计算公式

POD基构造:
1. 快照矩阵U=[u1​,u2​,...,uNs​​]
2. 奇异值分解U=WΣVT
3. 取前r个左奇异向量Φ=W:,1:r​
误差估计:ϵPOD​=∑i=r+1Ns​​σi2​/∑i=1Ns​​σi2​​
DEIM插值点选择:
1. 取第一个最大基向量位置
2. 循环:$p = \arg \max

应用场景

参数化模型快速求解,优化设计,实时控制,不确定性量化,流场重构

依赖条件

软件:EZY, pyMOR, RBniCS, ITHACA-FV
硬件:离线阶段计算密集,在线阶段快速
数据:参数空间采样,高维解快照

算法思想

通过提取高维系统的主导模式,将方程投影到低维子空间,实现快速求解

理论依据

奇异值分解,Krylov子空间,平衡实现,压缩感知

算法特性

大幅降低计算成本,适合参数化问题,但离线阶段昂贵,非线性项处理困难

时间复杂度

离线阶段:O(Ns​N2)(POD)
在线阶段:O(r3)(线性),O(r3+N)(非线性)
总:O(Ns​N2)+O(Nonline​r3)

空间复杂度

存储基矩阵:O(Nr)
快照存储:O(Ns​N)

适用类型

参数化线性/非线性系统,时变系统,多查询场景

优点

在线计算快,适合实时应用,参数化分析高效

缺点

离线计算昂贵,非线性处理困难,外推不可靠,精度依赖基函数

46. 代理模型 (Surrogate Model)

项目

详细说明

表示方法

高维模型:y=f(x), x∈Rd, f昂贵
代理模型:y≈f^​(x;θ)
目标:minθ​∑i=1N​(yi​−f^​(xi​;θ))2

构建方法

1. 实验设计:采样参数空间
2. 仿真计算:获取训练数据
3. 模型选择:选择代理模型类型
4. 模型训练:拟合参数
5. 模型验证:验证代理模型精度

模型类型

多项式回归,Kriging,径向基函数,支持向量回归,神经网络,高斯过程

数学方程式

Kriging:f^​(x)=μ+∑i=1N​wi​ψ(∥x−xi​∥)
协方差函数:$\psi(h) = \exp(-\sum_{j=1}^d \theta_j

实验设计

全因子设计:md个点,m为水平数
拉丁超立方:每个维度均匀分层,随机组合
Sobol序列:低差异序列,xk​={2k​,4k​,8k​,...}
最优设计:D-最优,A-最优,最大熵设计

验证方法

交叉验证:k-fold,留一法
误差指标:R2=1−∑(yi​−yˉ​)2∑(yi​−y^​i​)2​
均方根误差:RMSE=N1​∑i=1N​(yi​−y^​i​)2​
最大绝对误差:$MAE = \max_i

应用场景

优化设计,不确定性量化,灵敏度分析,参数标定,实时仿真

依赖条件

软件:SMT, Dakota, OpenTURNS, scikit-learn
硬件:训练计算依赖样本点数量和质量
数据:样本点输入-输出对,可能需高维采样

算法思想

用廉价数学模型替代昂贵仿真模型,通过数据驱动方法构建近似模型

理论依据

统计学习,插值理论,贝叶斯推断,神经网络理论

算法特性

快速预测,适合优化和不确定性分析,但需要训练数据,外推不可靠

时间复杂度

训练:Kriging O(N3),RBF O(N3),神经网络 O(Nepoch​Nd)
预测:Kriging O(N),RBF O(N),神经网络 O(d)

空间复杂度

存储训练数据:O(Nd)
模型参数:Kriging O(N2),神经网络 O(W)

适用类型

黑箱函数近似,高维参数空间,多查询应用

优点

预测快速,可处理高维非线性,适合优化和不确定性分析

缺点

需要大量训练数据,外推不可靠,高维训练困难,过拟合风险

47. 数据驱动计算力学 (Data-Driven Computing)

项目

详细说明

基本思想

直接从数据学习材料行为,避免显式本构模型
数据驱动求解:mins∈S​minz∈D​d(s,z)
其中s为状态变量,z为数据点,d为距离函数

构建方法

1. 数据采集:实验或高保真仿真数据
2. 数据预处理:归一化,降维
3. 模型构建:神经网络,本征正交分解,字典学习
4. 模型集成:嵌入求解器
5. 验证验证

方法分类

1. 数据驱动求解:直接最小化与数据距离
2. 机器学习替代:代理模型替代物理模型
3. 物理信息机器学习:物理约束融入机器学习

数据驱动求解

最小化距离:mins∈S​minz∈D​∥s−z∥
交替求解:
局部步:∀x∈Ω,z(x)=argminz∈D​∥s(x)−z∥
全局步:mins∈S​∫Ω​∥s(x)−z(x)∥2dx

物理信息神经网络

损失函数:L=Ldata​+LPDE​+LBC​+LIC​
PDE损失:LPDE​=Nf​1​∑i=1Nf​​∥N[u(xi​)]−f(xi​)∥2
BC损失:LBC​=Nb​1​∑i=1Nb​​∥B[u(xi​)]−g(xi​)∥2
自动微分:∂x∂u​=∂x∂NN(x;θ)​

神经网络本构

输入:应变历史ε(t),温度T,内变量q
输出:应力σ(t),内变量更新Δq
架构:循环神经网络(RNN),长短期记忆(LSTM),Transformer
约束:材料对称性,热力学一致性,材料稳定性

应用场景

复杂材料本构,多尺度模拟,逆问题,实时仿真,材料设计

依赖条件

软件:TensorFlow, PyTorch, SciANN, DeepXDE
硬件:GPU加速训练,大内存存储数据
数据:高质量实验或仿真数据,覆盖状态空间

算法思想

从数据直接学习物理规律,避免显式建模假设,发现新本构关系

理论依据

统计学习,逼近理论,热力学,本构理论

算法特性

可处理复杂本构,数据驱动,但需要大量数据,物理一致性难保证

时间复杂度

训练:O(Nepoch​Ndata​d)
预测:O(d)
数据驱动求解:O(Niter​(Nglobal​+Nlocal​))

空间复杂度

存储数据:O(Ndata​d)
模型参数:O(W)

适用类型

复杂材料行为,多物理场耦合,数据丰富但模型未知问题

优点

避免建模假设,可发现新关系,处理复杂非线性,高维映射

缺点

需要大量数据,外推不可靠,物理一致性难保证,可解释性差

48. 实时仿真方法

项目

详细说明

加速策略

1. 模型降阶:POD,深度学习
2. 代理模型:Kriging,神经网络
3. 专用硬件:GPU,FPGA,ASIC
4. 多保真度模型:混合高-低保真模型
5. 自适应精度:误差控制,自适应细化

模型降阶实时

离线阶段:构建降阶基Φ
在线阶段:求解降阶方程ΦTKΦq=ΦTF
复杂度:离线O(N3),在线O(r3)

代理模型实时

训练阶段:采样,仿真,拟合
预测阶段:y^​=fSM​(x)
复杂度:训练O(N3),预测O(d)

专用硬件

GPU:大规模并行,适合FEM,SPH,LBM
FPGA:流水线,低延迟,适合固定算法
ASIC:专用电路,最高效率,适合特定应用

多保真度

控制方程简化:线性化,降维,简化物理
空间降维:粗网格,子模型
时间简化:大时间步,准静态假设

自适应精度

误差估计:∥u−uh​∥≤Chp
自适应:h→h/2如果误差 >阈值
实时控制:平衡精度和计算时间

应用场景

手术仿真,虚拟训练,数字孪生,实时控制,交互设计

性能指标

延迟:<100ms 实时交互,<10ms 硬实时
帧率:>30Hz 流畅,>100Hz 逼真
精度:满足应用需求

软件框架

SOFA(医学仿真),SIMULIA(数字孪生),Unity/Unreal+物理引擎,专用实时求解器

挑战

精度-速度权衡,模型简化验证,硬件依赖,通用性-专用性平衡

49. 量子计算在力学中的应用

项目

详细说明

量子算法

1. 量子线性系统算法(HHL):O(logN)求解线性系统
2. 量子本征值求解:量子相位估计
3. 量子优化:量子近似优化算法(QAOA)
4. 量子机器学习:量子神经网络

HHL算法

问题:Ax=b
步骤:1. 制备$

力学应用

1. 有限元线性系统:Ku=F
2. 本征值问题:Kϕ=λMϕ
3. 优化设计:拓扑优化,参数优化
4. 材料设计:分子模拟,量子化学

量子优势

指数加速(理论上),适合线性系统,本征值问题,优化问题

当前限制

量子比特数有限,噪声影响,量子态制备,结果读取,错误纠正

混合算法

量子-经典混合:经典主循环,量子子程序
变分量子本征值求解器(VQE):$E(\theta) = \langle \psi(\theta)

软件框架

Qiskit(IBM),Cirq(Google),Q#(Microsoft),Pennylane(Xanadu)

硬件平台

超导量子比特(IBM,Google),离子阱(IonQ),光子量子计算,中性原子

挑战

量子比特数,退相干时间,门错误率,量子经典接口,算法实现

50. 时间积分算法对比

项目

中心差分法(显式)

Newmark-β法(隐式)

广义α法

表示方法

an​=M−1(Fnext​−Fnint​)
vn+1/2​=vn−1/2​+Δtan​
un+1​=un​+Δtvn+1/2​

un+1​=un​+Δtvn​+Δt2[(1/2−β)an​+βan+1​]
vn+1​=vn​+Δt[(1−γ)an​+γan+1​]
Man+1​+Cvn+1​+Kun+1​=Fn+1ext​

Man+1−αm​​+Cvn+1−αf​​+Kun+1−αf​​=Fn+1−αf​ext​
un+1−αf​​=(1−αf​)un+1​+αf​un​
an+1−αm​​=(1−αm​)an+1​+αm​an​

稳定性

条件稳定:Δt≤Δtcrit​=ωmax​2​

无条件稳定(当γ≥1/2,β≥(1/2+γ)2/4)

无条件稳定(适当参数)

精度

二阶精度

二阶精度(当γ=1/2)

二阶精度,数值耗散可调

计算成本

低(无需求解线性系统)

高(需迭代求解非线性系统)

高(类似Newmark)

适用场景

波动传播,冲击,高速动力学

结构动力学,低频振动

中高频振动,需要数值耗散

优点

简单高效,适合并行,内存需求小

无条件稳定,适合长期积分,数值耗散小

数值耗散可控,高频衰减好

缺点

时间步长受限制,不适合刚性问题

需迭代求解,计算成本高,数值耗散不可控

参数选择复杂,实现复杂

51. 扩展有限元法 (Extended Finite Element Method, XFEM)

项目

详细说明

表示方法

位移场逼近:uh(x)=∑i∈I​Ni​(x)ui​+∑j∈J​Nj​(x)H(x)aj​+∑k∈K​Nk​(x)(∑α=14​Fα​(x)bkα​)
其中 H(x)是跳跃函数,Fα​(x)是裂尖渐进函数。

构建方法

1. 常规有限元网格生成,不要求网格与不连续面一致
2. 识别被不连续面切割的单元
3. 在这些单元中加入富集函数
4. 单元刚度矩阵计算(可能需要划分子单元进行积分)
5. 组装和求解总体方程

算法名称

XFEM,广义有限元法(GFEM)的一种特殊形式

数学方程式

富集函数:
1. 跳跃富集:H(x)=sign(ϕ(x))={1−1​ϕ(x)≥0ϕ(x)<0​
2. 裂尖富集(线弹性):Fα​(r,θ)={r​sin2θ​,r​cos2θ​,r​sin2θ​sinθ,r​cos2θ​sinθ}
其中 (r,θ)是以裂尖为原点的极坐标。

计算公式

刚度矩阵计算:Kij​=∫Ω​BiT​DBj​dΩ,其中 Bi​包含常规部分和富集部分的形函数导数。
对于被裂纹切割的单元,通常采用子三角形积分或等效积分点。

应用场景

裂纹扩展,材料界面,夹杂,孔洞,生物力学中的骨裂纹,复合材料分层

依赖条件

软件:Abaqus(XFEM模块),开源代码如XFEM,GETFEM等
硬件:需要较高的计算资源,特别是动态裂纹扩展
数据:裂纹路径,材料参数,富集函数选择

算法思想

在常规有限元近似空间中加入已知解特征的富集函数,从而在不调整网格的情况下模拟不连续和奇异性。

理论依据

单位分解法,广义有限元法,裂纹尖端渐近场理论

算法特性

网格与不连续面独立,裂纹扩展无需重划网格,但积分复杂,条件数可能较大。

时间复杂度

与常规FEM相当,但每个被切割单元需要更多的积分点,且系统矩阵可能更大(因额外自由度)。

空间复杂度

存储常规和富集自由度,以及裂纹几何信息。

适用类型

不连续问题,奇异场问题,裂纹扩展,多材料界面

优点

网格独立,裂纹扩展无需重划网格,可模拟复杂裂纹路径

缺点

积分复杂,条件数大,动态裂纹扩展的稳定性问题,富集函数选择困难

52. 无网格伽辽金法 (Element-Free Galerkin Method, EFGM)

项目

详细说明

表示方法

移动最小二乘近似:uh(x)=∑i=1n​pi​(x)ai​(x)=pT(x)a(x)
其中系数 a(x)通过最小化加权离散误差得到:J=∑i=1N​w(∥x−xi​∥)[pT(xi​)a(x)−ui​]2

构建方法

1. 布置节点(无需连接成单元)
2. 定义影响域(权重函数支持域)
3. 在每个积分点构造形函数
4. 基于伽辽金法建立离散系统
5. 求解得到节点参数(注意:节点参数不是真实位移,需用MLS得到位移)

算法名称

无网格伽辽金法,移动最小二乘法,扩散单元法

数学方程式

形函数:NI​(x)=pT(x)A−1(x)BI​(x)
其中 A(x)=∑i=1N​wi​(x)p(xi​)pT(xi​),BI​(x)=wI​(x)p(xI​)
权函数:例如高斯权函数 w(r)={exp(−(r/c)2)−exp(−(rm​/c)2)0​r≤rm​r>rm​​
或样条权函数。

计算公式

离散方程:Ku=F
其中 KIJ​=∫Ω​BIT​DBJ​dΩ,FI​=∫Ω​NI​fdΩ+∫Γt​​NI​tˉdΓ
注意:形函数不满足克罗内克δ性质,需用拉格朗日乘子或罚函数法施加本质边界条件。

应用场景

大变形,裂纹扩展,高速冲击,金属成型,自适应分析

依赖条件

软件:EFG代码,LS-DYNA中的EFG选项,MESHLESS代码
硬件:需要较高的内存和计算时间,因为形函数构造复杂
数据:节点分布,权函数参数,积分方案

算法思想

基于移动最小二乘构造形函数,仅依赖节点,不依赖网格,用背景网格积分。

理论依据

移动最小二乘,伽辽金法,单位分解法

算法特性

无需单元,自适应容易,可处理大变形,但计算成本高,边界处理复杂。

时间复杂度

形函数构造:O(nN),其中n是节点数,N是积分点数。求解与FEM类似。

空间复杂度

存储节点信息,形函数在积分点计算,不存储全局形函数。

适用类型

大变形,裂纹扩展,冲击,自适应分析

优点

无需网格,自适应简单,可处理大变形,精度高

缺点

计算成本高,边界条件处理复杂,数值积分困难,稳定性和一致性证明复杂

53. 离散元法 (Discrete Element Method, DEM)

项目

详细说明

表示方法

粒子运动方程:mi​x¨i​=∑j​Fij​+Fiext​
Ii​ω˙i​=∑j​Mij​
接触力:Fij​=Fn​+Ft​,包括法向和切向分量。

构建方法

1. 生成粒子系统(位置、速度、大小、形状)
2. 检测接触(邻居搜索)
3. 计算接触力(本构模型)
4. 积分运动方程(显式时间积分)
5. 更新粒子位置和速度
6. 循环直到结束

算法名称

离散元法,分子动力学(硬球,软球),接触动力学

数学方程式

线性弹簧阻尼模型:Fn​=kn​δn​−cn​vn​
其中 δn​是重叠量,vn​是相对法向速度。
切向力:Ft​=min(kt​δt​,μFn​),其中 δt​是切向位移,μ是摩擦系数。
滚动摩擦,扭转载荷等也可考虑。

计算公式

邻居搜索:网格法,Verlet列表,树形结构。
时间积分:Verlet,速度Verlet,蛙跳法。
速度Verlet:x(t+Δt)=x(t)+v(t)Δt+21​a(t)Δt2
v(t+Δt/2)=v(t)+21​a(t)Δt
计算力 F(t+Δt),然后 v(t+Δt)=v(t+Δt/2)+21​a(t+Δt)Δt

应用场景

颗粒流动,岩石力学,粉末加工,岩土工程,散体物料

依赖条件

软件:PFC,EDEM,LIGGGHTS,YADE
硬件:需要大量内存和计算资源,特别是粒子数多时
数据:粒子性质(大小,形状,密度,刚度,摩擦系数等),边界条件

算法思想

将材料视为离散粒子的集合,粒子间通过接触相互作用,通过求解每个粒子的运动方程来模拟系统行为。

理论依据

牛顿第二定律,接触力学,颗粒物质力学

算法特性

可模拟大变形,破裂,流动,但计算量大,参数标定困难。

时间复杂度

每个时间步:邻居搜索 O(N)或 O(NlogN),接触计算 O(Nc​),其中 Nc​是接触对数。
总复杂度:O(Nt​(N+Nc​))。

空间复杂度

存储粒子信息:O(N),邻居列表:O(Nc​)。

适用类型

颗粒系统,散体材料,岩石断裂,土壤-结构相互作用

优点

可模拟大变形,破裂,流动,物理直观,可考虑复杂接触

缺点

计算量大,参数多且难确定,结果统计波动,时间步长小

54. 物质点法 (Material Point Method, MPM)

项目

详细说明

表示方法

物质点携带质量、速度、应力等,背景网格用于计算空间梯度。
质量守恒:mp​=ρp​Vp​
动量守恒:mp​dtdvp​​=∇⋅σp​+bp​
能量守恒:mp​dtdep​​=σp​:Dp​+其他项

构建方法

1. 初始化物质点(质量,位置,速度,应力等)
2. 将物质点信息映射到背景网格(质量,动量)
3. 在背景网格上求解动量方程(更新网格速度)
4. 将网格速度增量映射回物质点,更新物质点速度和位置
5. 更新物质点应力(本构模型)
6. 重置背景网格,重复

算法名称

物质点法,广义插值物质点法(GIMP),对流粒子域插值(CPDI)

数学方程式

质量映射:mi​=∑p​Ni​(xp​)mp​
动量映射:(mv)i​=∑p​Ni​(xp​)mp​vp​
节点力:fi​=−∑p​Vp​σp​∇Ni​(xp​)+∑p​Ni​(xp​)bp​
节点动量更新:(mv)inew​=(mv)i​+fi​Δt
物质点更新:vpnew​=vp​+∑i​Ni​(xp​)mi​fi​​Δt
xpnew​=xp​+∑i​Ni​(xp​)mi​(mv)inew​​Δt

计算公式

形函数:通常使用线性形函数,但GIMP中采用改进的形函数以减少网格交叉误差。
时间积分:通常使用显式中心差分法或Newmark-β法。
本构模型:弹性,塑性,流体等。

应用场景

冲击,爆炸,金属成型,流固耦合,雪,泥土,泡沫等大变形问题

依赖条件

软件:MPM3D,MPMICE,商业化软件如LS-DYNA中的MPM模块
硬件:需要大量内存和计算资源,特别是三维问题
数据:物质点初始化,材料模型,背景网格

算法思想

结合拉格朗日点和欧拉网格的优点,物质点携带材料信息并在网格上求解动量方程,避免网格畸变。

理论依据

弱形式积分,插值理论,连续介质力学

算法特性

可处理大变形,材料界面清晰,但存在网格交叉误差,计算成本高。

时间复杂度

每个时间步:映射O(Np​),网格求解O(Ng​),更新O(Np​),其中Np​是物质点数,Ng​是网格节点数。
总复杂度:O(Nt​(Np​+Ng​))。

空间复杂度

存储物质点信息:O(Np​),背景网格变量:O(Ng​)。

适用类型

大变形,冲击,爆炸,流固耦合,多相流动

优点

可处理大变形,材料界面清晰,无网格缠结,守恒性好

缺点

网格交叉误差,计算量大,应力噪声,精度受物质点数量影响

55. 近场动力学 (Peridynamics, PD)

项目

详细说明

表示方法

积分-微分方程:ρu¨(x,t)=∫Hx​​f(u(x′,t)−u(x,t),x′−x)dVx′​+b(x,t)
其中 f是成对力函数,表示点 x′对 x的作用力,Hx​是 x的邻域(近场范围)。

构建方法

1. 离散物体为物质点(节点)
2. 为每个节点定义邻域(半径 δ)
3. 计算节点间的相对位移和力
4. 积分运动方程更新节点位置
5. 破坏通过键的断裂来模拟

算法名称

近场动力学,键基PD,态基PD,常规态基PD

数学方程式

键基PD:f(η,ξ)=cs∥η+ξ∥η+ξ​,其中 ξ=x′−x,η=u(x′)−u(x),s=∥ξ∥∥η+ξ∥−∥ξ∥​是伸长率,c是微模量常数。
破坏准则:当 s>s0​(临界伸长率)时,键断裂。
态基PD:f=T​[x,t]⟨x′−x⟩−T​[x′,t]⟨x−x′⟩,其中 T​是力矢量状态。

计算公式

离散化:ρi​u¨i​=∑j∈Hi​​f(uj​−ui​,xj​−xi​)Vj​+bi​
时间积分:通常用显式中心差分法。
微模量常数:对于均匀各向同性材料,c=πδ418k​(三维),c=πhδ312E​(二维平面应力),c=πhδ3(1−ν)12E​(二维平面应变),其中 h是厚度。

应用场景

裂纹扩展,动态断裂,复合材料破坏,冲击损伤,混凝土破坏

依赖条件

软件:Peridigm,LS-DYNA中的PD模块,开源PD代码
硬件:需要大量内存和计算资源,因为每个点与多个点相互作用
数据:离散化节点,近场范围,力函数,破坏准则

算法思想

用积分方程代替偏微分方程,避免了在裂缝尖端处的空间导数,自然模拟裂纹的萌生和扩展。

理论依据

非局部理论,积分方程,连续介质力学

算法特性

自然模拟裂纹,无需裂纹扩展准则,但计算成本高,边界条件处理复杂。

时间复杂度

每个时间步:O(N2)(朴素算法),通过邻居列表可降为O(N)。
总复杂度:O(Nt​N)。

空间复杂度

存储节点信息:O(N),邻居列表:O(N×Nneigh​)。

适用类型

断裂,损伤,破坏,多裂纹,复合材料

优点

自然模拟裂纹萌生和扩展,无需裂纹扩展准则,可处理复杂裂纹网络

缺点

计算量大,边界条件处理复杂,表面效应,材料参数标定困难

56. 等几何分析补充 (Isogeometric Analysis, IGA) 的高阶连续性应用

项目

详细说明

高阶连续性应用

1. 板壳分析:要求C1连续性,IGA自然满足
2. 流体力学:高阶连续性减少数值耗散
3. 结构优化:形状优化中几何精确
4. 耦合问题:流固耦合中几何一致

T样条和LR样条

T样条:允许局部细化,保持几何精确
LR样条:局部细化样条,更灵活的局部细化
两者都是IGA中用于局部细化的技术,克服NURBS不能局部细化的缺点。

自适应细化策略

h-细化:插入节点
p-细化:升阶
k-细化:同时升阶和插入节点(IGA特有)
r-细化:重新参数化,节点重新分布
局部细化:T样条,LR样条,层次B样条

耦合问题

流固耦合:IGA提供几何精确的流体-结构界面
接触问题:高阶连续接触算法
多物理场:同一几何模型用于多场分析

计算成本

数值积分:高阶基函数需要更多积分点
矩阵带宽:高阶连续性增加矩阵带宽
预处理:需要专门预处理技术

软件实现

GeoPDEs,IGATools,GetFEM,LS-DYNA,ABAQUS

57. 多尺度有限元法补充 (Multiscale FEM) 的最新发展

项目

详细说明

多尺度方法分类

1. 均匀化方法:周期性或随机均匀化
2. 变分多尺度法:解析尺度与子尺度
3. 多尺度有限元法:通过局部基函数捕捉细观特征
4. 异质多尺度法:耦合宏观和微观模型

计算均匀化

FE²:宏观每个积分点调用微观RVE计算本构响应
在线计算:每个宏观积分点求解微观问题,计算量大
离线计算:建立数据库或代理模型

多尺度损伤

微观损伤演化,宏观失效预测
耦合多尺度断裂力学

多尺度优化

微观结构设计,宏观性能优化
拓扑优化与多尺度结合

机器学习辅助

用神经网络替代微观求解器
降阶模型加速微观计算

58. 机器学习在力学中的应用补充

项目

详细说明

物理信息神经网络

PINN:将物理方程作为损失项
损失函数:L=Ldata​+λPDE​LPDE​+λBC​LBC​+λIC​LIC​
应用:方程求解,参数反演,数据同化

神经网络替代模型

代理模型:用神经网络替代昂贵仿真
循环神经网络:替代时间推进
图神经网络:处理非结构网格,粒子系统

强化学习

优化控制:流体控制,结构控制
优化设计:拓扑优化,形状优化
材料设计:微观结构设计

生成模型

生成对抗网络:生成微观结构,优化材料设计
变分自编码器:降维,生成新材料设计

不确定性量化

贝叶斯神经网络:预测不确定性
随机过程:量化模型不确定性

59. 高性能计算在力学中的应用

项目

详细说明

并行计算

MPI:分布式内存,消息传递
OpenMP:共享内存,多线程
CUDA/OpenCL:GPU并行
混合编程:MPI+OpenMP,MPI+CUDA

大规模线性求解器

直接法:MUMPS,SuperLU,PARDISO
迭代法:Krylov子空间方法(CG,GMRES,BiCGSTAB)
预处理:不完全LU,多重网格,域分解,稀疏近似逆

多重网格法

几何多重网格:粗网格由细网格生成
代数多重网格:基于矩阵构造粗网格
并行多重网格:并行平滑,粗网格求解

负载平衡

图划分:METIS,ParMETIS
动态负载平衡:根据计算量重新分配

大规模可视化

并行可视化:ParaView,VisIt
原位可视化:仿真中实时可视化
流线化:大数据处理

60. 开源软件汇总

软件名称

主要功能

编程语言

许可证

FEniCS

自动化有限元求解

Python/C++

LGPL

Deal.II

有限元库,支持自适应

C++

LGPL

OpenFOAM

计算流体力学

C++

GPL

MFEM

有限元库,支持高阶

C++

BSD

MOOSE

多物理场有限元框架

C++

LGPL

CalculiX

有限元分析,类似Abaqus

Fortran/C

GPL

Code_Aster

结构力学有限元

Python/Fortran

GPL

GetFEM

通用有限元库

C++/Python

LGPL

SU2

计算流体力学与优化

C++/Python

LGPL

PETSc

科学计算求解器库

C

BSD

Trilinos

并行求解器与工具

C++

BSD

MFront

材料行为生成器

C++

GPL

Akantu

固体与结构力学

C++

LGPL

PreCICE

多物理场耦合库

C++

LGPL

DuMux

多孔介质流动与传输

C++

GPL

61. 边界积分方程法/边界元法 (Boundary Integral Equation Method / Boundary Element Method, BEM)

项目

详细说明

表示方法

边界积分方程:c(P)u(P)=∫Γ​[G(P,Q)q(Q)−H(P,Q)u(Q)]dΓ(Q)
其中G是基本解,H=∂G/∂n,c(P)是几何系数

构建方法

1. 将控制方程转化为边界积分方程
2. 离散边界为单元
3. 插值边界变量(位移、面力)
4. 建立线性系统Hu=Gq
5. 求解边界变量,内部点后处理

算法名称

直接边界元法,间接边界元法,对偶边界元法,快速多极边界元法

数学方程式

弹性静力学:cij​(P)uj​(P)=∫Γ​[Uij​(P,Q)tj​(Q)−Tij​(P,Q)uj​(Q)]dΓ(Q)
基本解(3D弹性):Uij​=16πG(1−ν)r1​[(3−4ν)δij​+r,i​r,j​]
Tij​=−8π(1−ν)r21​[∂n∂r​((1−2ν)δij​+3r,i​r,j​)−(1−2ν)(ni​r,j​−nj​r,i​)]

计算公式

离散化:Hij​=∫Γj​​T(P,Q)Nj​(Q)dΓ
Gij​=∫Γj​​U(P,Q)Nj​(Q)dΓ
奇异积分处理:Hii​=−∑j=i​Hij​+c(Pi​)
快速多极:Gq≈∑m=0p​m!1​DmG(xc​)Mm​,其中Mm​=∑j​qj​(yj​−yc​)m

应用场景

无限域问题,断裂力学,声学,势流,弹性接触,腐蚀防护

依赖条件

软件:BEAST,BEM++,FastBEM,开源BEM库
硬件:需要高效线性求解器,内存需求大
数据:边界离散,边界条件,材料参数

算法思想

将域内微分方程转化为边界积分方程,只需离散边界,降低问题维数

理论依据

格林函数,势理论,积分方程,基本解理论

算法特性

仅需离散边界,自动满足无穷远条件,精度高,但矩阵满秩,非线性问题复杂

时间复杂度

常规BEM:装配O(N2),求解O(N3)
快速多极BEM:O(NlogN)装配,O(N)求解

空间复杂度

存储满矩阵:O(N2)
快速多极:O(N)

适用类型

线性问题,无限域,边界为主问题,断裂力学

优点

仅需边界离散,自动处理无限域,精度高,后处理简单

缺点

满阵存储求解,非线性问题复杂,多介质问题处理困难

62. 无网格伽辽金法 (Meshfree Galerkin Methods)

项目

详细说明

表示方法

移动最小二乘(MLS)近似:uh(x)=∑j=1m​pj​(x)aj​(x)=pT(x)a(x)
其中a(x)通过最小化加权误差:J=∑i=1n​wi​(x)[pT(xi​)a(x)−ui​]2

构建方法

1. 节点布置(无网格连接)
2. 定义影响域和权函数
3. 构造形函数(MLS, RKPM, PUM等)
4. 基于伽辽金法离散控制方程
5. 数值积分(背景网格或点积分)

算法名称

无网格伽辽金法(EFG),再生核粒子法(RKPM),单位分解法(PUM),hp云法

数学方程式

MLS形函数:ϕi​(x)=pT(x)A−1(x)Bi​(x)
其中A(x)=∑i=1n​wi​(x)p(xi​)pT(xi​),Bi​(x)=wi​(x)p(xi​)
权函数:wi​(x)=w(∥x−xi​∥/ri​),如样条权函数:w(s)={1−6s2+8s3−3s40​s≤1s>1​

计算公式

离散方程:Kd=f
刚度矩阵:KIJ​=∫Ω​BIT​DBJ​dΩ
其中BI​=[ϕI,x​,ϕI,y​,ϕI,z​]T
本质边界条件施加:拉格朗日乘子法:[KG​GT0​][dλ​]=[fq​]
罚函数法:(K+αKp​)d=f+αfp​

应用场景

大变形,裂纹扩展,冲击,金属成型,自适应分析,无网格CFD

依赖条件

软件:EFG代码,RKPM代码,MLPG代码,商业软件中的无网格选项
硬件:形函数计算复杂,需要较多计算资源
数据:节点分布,权函数参数,积分方案

算法思想

基于节点近似,不依赖网格连接,通过权函数定义节点影响域,构造形函数

理论依据

移动最小二乘,再生核,单位分解,伽辽金法

算法特性

无需网格,自适应简单,可处理大变形,但计算成本高,边界条件处理复杂

时间复杂度

形函数计算:O(nN),其中n为节点数,N为积分点数
矩阵装配:O(Nn2)
求解:O(N1.5)

空间复杂度

存储节点和形函数信息:O(n)
矩阵存储:O(n2)(带状性差)

适用类型

大变形,裂纹扩展,自适应分析,难以生成网格的问题

优点

无需网格,自适应简单,可处理大变形,高阶连续容易

缺点

计算成本高,本质边界条件处理复杂,数值积分困难,稳定性问题

63. 光滑粒子流体动力学 (Smoothed Particle Hydrodynamics, SPH) 补充

项目

详细说明

核近似改进

核修正:⟨f(x)⟩=∫f(x′)W(x−x′,h)dx′
粒子近似:⟨f(xi​)⟩=∑j=1N​ρj​mj​​f(xj​)Wij​
核梯度修正:∇Wijcorrected​=Li​∇Wij​,其中Li​=[∑j​ρj​mj​​(xj​−xi​)⊗∇Wij​]−1

耗散项

人工粘度:\Pi_{ij} = \begin{cases} -\alpha \bar{c}_{ij} \phi_{ij} + \beta \phi_{ij}^2}{\bar{\rho}_{ij}} & v_{ij} \cdot r_{ij} < 0 \\ 0 & \text{其他} \end{cases}
其中ϕij​=∥rij​∥2+0.01h2hvij​⋅rij​​,cˉij​=(ci​+cj​)/2,ρˉ​ij​=(ρi​+ρj​)/2
人工应力:防止粒子聚集

固壁边界

虚粒子:在边界外布置虚粒子
排斥力:f=D[(rr0​​)n1​−(rr0​​)n2​]r2r​
边界力粒子:边界上分布力粒子

湍流模型

大涡模拟(LES):vij​=2(cs​Δ)2∥Sij​∥,其中Sij​是应变率张量
亚粒子尺度模型:νt​=(Cs​l)2∥S∥

可压缩流

状态方程:p=B[(ρ0​ρ​)γ−1],其中B=γρ0​c02​​
Tait方程:p=γc02​ρ0​​[(ρ0​ρ​)γ−1]

应用扩展

多相流:不同相用不同粒子,表面张力模型
流固耦合:SPH与FEM耦合,SPH与DEM耦合
生物力学:血液流动,软组织变形
天体物理:星系形成,行星碰撞

64. 离散元法 (Discrete Element Method, DEM) 补充

项目

详细说明

接触力模型

Hertz-Mindlin模型(弹性):
法向力:Fn​=34​E∗R∗​δn3/2​
切向力:Ft​=8G∗R∗δn​​δt​
滚动摩擦:Mr​=−μr​R∗Fn​ω
其中1/E∗=(1−νi2​)/Ei​+(1−νj2​)/Ej​,1/R∗=1/Ri​+1/Rj​

粘附力模型

JKR模型:Fadh​=3πγR
DMT模型:Fadh​=2πγR
液桥力:Fcap​=2πRγcosθ+πR2Δp

阻尼模型

粘性阻尼:Fdamp​=−cv
临界阻尼:c=2mk​
非线性能量耗散:$F_{damp} = -\alpha

时间积分

Verlet算法:x(t+Δt)=2x(t)−x(t−Δt)+a(t)Δt2
速度Verlet:v(t+Δt/2)=v(t)+a(t)Δt/2
x(t+Δt)=x(t)+v(t+Δt/2)Δt
v(t+Δt)=v(t+Δt/2)+a(t+Δt)Δt/2
蛙跳法:v(t+Δt/2)=v(t−Δt/2)+a(t)Δt
x(t+Δt)=x(t)+v(t+Δt/2)Δt

邻居搜索

网格法:将计算域划分为网格,每个粒子只与同网格及相邻网格内粒子作用
Verlet列表:rlist​=rc​+rskin​,当粒子移动距离超过rskin​/2时更新列表
树形结构:四叉树(2D),八叉树(3D),适合非均匀分布

并行计算

区域分解:将计算域划分为子域,每个处理器负责一个子域
粒子分解:将粒子分配到不同处理器
动态负载平衡:根据粒子数重新分配

与CFD耦合

CFD-DEM:流体用CFD,颗粒用DEM
耦合方式:流体对颗粒的拖曳力Fd​=21​Cd​ρf​Ap​∥uf​−up​∥(uf​−up​)
体积分数:αf​=1−∑p​Vp​/Vcell​
动量交换:Sp​=∑Finteraction​/Vcell​

65. 物质点法 (Material Point Method, MPM) 补充

项目

详细说明

广义插值物质点法(GIMP)

改进的形函数:Sip​=Vp​1​∫Ωp​​Ni​(x)dx
梯度权重:∇Sip​=Vp​1​∫Ωp​​∇Ni​(x)dx
减少网格穿越误差,提高精度

接触算法

背景网格检测接触:在网格上检测不同材料粒子的接触
罚函数法:Fc​=kδ+cv
拉格朗日乘子法:施加无穿透约束

本构模型

弹性:σ=C:ϵ
塑性:J2塑性,Drucker-Prager,Mohr-Coulomb
流体:牛顿流体,非牛顿流体
土壤:临界状态模型,Cam-clay模型

多物理场耦合

热-力耦合:ρCv​T˙=∇⋅(k∇T)+σ:ϵ˙p
孔隙流体耦合:Biot理论,两相物质点法
化学-力耦合:扩散,反应,膨胀

自适应

粒子自适应:分裂/合并粒子
网格自适应:自适应网格细化(AMR)
时间步自适应:CFL条件,Δt≤min(Δx/c,ρΔx2/E​)

并行计算

区域分解:背景网格分区,粒子跟随网格
粒子到网格映射的通信:相邻子域交换边界粒子信息
动态负载平衡:根据粒子分布重新分区

软件实现

MPM3D,Uintah,Nairn-MPM,商业化软件集成

66. 近场动力学 (Peridynamics, PD) 补充

项目

详细说明

常规态基近场动力学

运动方程:ρu¨(x,t)=∫Hx​​{T​[x,t]⟨x′−x⟩−T​[x′,t]⟨x−x′⟩}dVx′​+b(x,t)
力矢量状态:$\underline{T} = \omega(

微弹塑性模型

线弹性:f=c(η+ξ)∥η+ξ∥η+ξ​
弹塑性:f=cs∥η+ξ∥η+ξ​,其中s依赖于历史变量
粘弹性:f=c(s+βs˙)∥η+ξ∥η+ξ​

动态断裂

损伤变量:φ(x,t)=1−∫Hx​​dVx′​∫Hx​​μ(x,t)dVx′​​
其中μ是历史相关函数,当键断裂时为0,否则为1
断裂准则:临界伸长率s0​,或基于能量释放率G0​
自适应网格:裂纹尖端区域细化

多尺度近场动力学

耦合局部/非局部模型:近场区域用PD,远场区域用经典连续介质力学
力混合:f=α(x)fPD​+(1−α(x))fCM​
其中α是混合函数

热传导

非局部热传导:ρcv​T˙(x,t)=∫Hx​​κ∥x′−x∥T(x′,t)−T(x,t)​dVx′​+r(x,t)

软件实现

Peridigm,EMU,开源PD代码,商业软件插件

67. 等几何边界元法 (Isogeometric Boundary Element Method, IGABEM)

项目

详细说明

表示方法

边界积分方程:c(P)u(P)=∫Γ​[G(P,Q)q(Q)−H(P,Q)u(Q)]dΓ(Q)
边界几何和变量用NURBS表示:x(ξ)=∑i=1n​Ri​(ξ)Pi​
u(ξ)=∑i=1n​Ri​(ξ)ui​,q(ξ)=∑i=1n​Ri​(ξ)qi​

构建方法

1. 用NURBS表示几何
2. 离散边界积分方程
3. 数值积分(正则积分,奇异积分)
4. 建立线性系统Hu=Gq
5. 求解边界变量

数学方程式

离散方程:Hij​=∫Γ​T(Pi​,Q)Rj​(Q)dΓ(Q)
Gij​=∫Γ​U(Pi​,Q)Rj​(Q)dΓ(Q)
奇异积分处理:解析积分,子段划分,Telles变换

计算公式

Telles变换:ξ=η+αtan(βt),dξ=αβsec2(βt)dt
将奇异点映射到积分区间外
半解析积分:对于常数单元,Hii​=−∑j=i​Hij​

应用场景

声学,电磁学,断裂力学,无限域问题,CAD/CAE集成

优点

几何精确,高阶连续,减少离散误差,CAD/CAE无缝集成

缺点

奇异积分复杂,满阵存储求解,非线性问题困难

68. 虚拟元法 (Virtual Element Method, VEM)

项目

详细说明

表示方法

局部空间:$V_h^k(K) = {v \in H^1(K) : \Delta v = 0, v

构建方法

1. 任意多边形网格划分
2. 定义局部虚拟空间
3. 构造投影算子Π∇:Vhk​(K)→Pk​(K)
4. 基于投影构造离散格式
5. 组装全局系统

数学方程式

双线性形式:ah​(uh​,vh​)=∑K​ahK​(uh​,vh​)
其中ahK​(uh​,vh​)=aK(Π∇uh​,Π∇vh​)+SK(uh​−Π∇uh​,vh​−Π∇vh​)
稳定项:SK(u,v)=∑i=1NK​​dofi​(u)dofi​(v)

计算公式

投影计算:∫K​∇p⋅∇(v−Π∇v)dx=0,∀p∈Pk​(K)
∫K​(v−Π∇v)dx=0
自由度:顶点值,边积分矩,内部积分矩

应用场景

任意多边形网格,自适应分析,断裂力学,板壳,斯托克斯流

优点

任意多边形网格,高阶精度,稳定,可处理非凸单元

缺点

构造复杂,计算成本较高,理论分析复杂

69. 杂交有限元法 (Hybrid Finite Element Method)

项目

详细说明

基本思想

独立假设位移场和应力场,通过拉格朗日乘子引入协调条件
广义变分原理:ΠH​=∫Ω​[W(σ)−σ:ϵ(u)]dΩ+Πext​

构建方法

1. 单元内假设应力场σ
2. 单元边界假设位移场λ(拉格朗日乘子)
3. 通过杂交变分原理建立离散方程
4. 静力凝聚消除内部自由度

数学方程式

杂交变分原理:δΠH​=0
其中ΠH​=∑e​[∫Ωe​​W(σ)dΩ−∫∂Ωe​​λ⋅(σ⋅n)dΓ]−Πext​
离散形式:[ABT​B0​][βλ​]=[0f​]
其中β是应力参数,λ是边界位移

计算公式

应力假设:σ=Pβ
协调条件:u=Nλ在单元边界上
静力凝聚:Ke​=BTA−1B
其中A=∫Ωe​​PTD−1PdΩ,B=∫∂Ωe​​NTPn​dΓ

应用场景

不可压缩材料,接触问题,复合材料,板壳,锁死问题

优点

应力精度高,避免锁死,满足单元间协调,适合复合材料

缺点

计算成本高,构造复杂,矩阵可能奇异

70. 混合有限元法 (Mixed Finite Element Method)

项目

详细说明

基本思想

同时独立逼近多个变量(如位移和应力,速度和压力)
鞍点问题:[AB​BT0​][up​]=[fg​]

构建方法

1. 选择位移空间Vh​和应力空间Σh​(或速度空间Vh​和压力空间Qh​)
2. 满足LBB条件:infqh​∈Qh​​supvh​∈Vh​​∥vh​∥1​∥qh​∥0​(qh​,∇⋅vh​)​≥β>0
3. 建立离散系统并求解

数学方程式

弹性力学混合格式:
∫Ω​σ:τdΩ+∫Ω​∇⋅τ⋅udΩ=0
∫Ω​∇⋅σ⋅vdΩ=∫Ω​f⋅vdΩ
斯托克斯问题:
∫Ω​∇u:∇vdΩ−∫Ω​p∇⋅vdΩ=∫Ω​f⋅vdΩ
−∫Ω​q∇⋅udΩ=0

有限元对

弹性:PEERS,BDM,BDFM,Arnold-Winther
斯托克斯:Taylor-Hood(P2-P1),MINI(P1b-P1),Crouzeix-Raviart(P2-P1)
达西流:RT,BDM,BDFM

应用场景

不可压缩流动,多孔介质流,弹性力学,电磁学,优化控制

优点

同时得到高精度位移和应力,避免锁死,满足物理守恒律

缺点

需满足LBB条件,系统规模大,求解困难,可能振荡

71. 间断伽辽金法 (Discontinuous Galerkin Method, DGM) 补充

项目

详细说明

数值通量

对流通量:Lax-Friedrichs:F∗=21​[F(u+)+F(u−)−λ(u+−u−)]
Roe:$F^* = \frac{1}{2}[F(u^+) + F(u^-) -

稳定项

内罚:hα​∫Γh​​[[u]]⋅[[v]]dΓ
冲击捕捉:∫Ω​δh​∇u⋅∇vdΩ
其中$\delta_h = C h^2

时间离散

龙格-库塔:u(0)=un
u(i)=∑k=0i−1​(αik​u(k)+Δtβik​L(u(k)))
un+1=u(s)
隐式DGM:Δtun+1−un​=L(un+1)

自适应

误差估计:残差型ηK2​=hK2​∥R(uh​)∥L2(K)2​+hK​∥r(uh​)∥L2(∂K)2​
hp自适应:基于误差估计调整h和p

软件实现

deal.II,FEniCS,Nektar++,OpenDG,商业软件中的DG模块

72. 谱元法 (Spectral Element Method, SEM) 补充

项目

详细说明

基函数

勒让德多项式:Pn​(x)=2nn!1​dxndn​(x2−1)n
切比雪夫多项式:Tn​(x)=cos(ncos−1x)
拉格朗日插值多项式:li​(ξ)=∏j=0,j=iN​ξi​−ξj​ξ−ξj​​
节点:Gauss-Lobatto-Legendre节点:ξi​是(1−ξ2)PN′​(ξ)=0的根

数值积分

Gauss-Lobatto求积:∫−11​f(ξ)dξ≈∑i=0N​wi​f(ξi​)
权重:wi​=N(N+1)[PN​(ξi​)]22​
微分矩阵:Dij​=lj′​(ξi​)

预处理

对角预处理:P=diag(K)
低阶有限元预处理:在低阶网格上求解
区域分解预处理:Schwarz方法,FETI

并行计算

区域分解:每个处理器负责一个或几个单元
通信:单元边界节点值交换
负载平衡:根据单元阶数和大小分配

应用扩展

流体力学:不可压缩Navier-Stokes,湍流模拟
波动方程:地震波传播,声学
电磁学:麦克斯韦方程
优化:谱元伴随方法

73. 高阶有限元法 (High-Order FEM) 补充

项目

详细说明

基函数类型

模态基:Pp​(ξ)=2pp!1​dξpdp​(ξ2−1)p
节点基:拉格朗日插值多项式在Gauss-Lobatto节点上
混合基:边界用节点基,内部用模态基

单元类型

单纯形单元(三角形,四面体):Dubiner基,Koornwinder基
超立方体单元(四边形,六面体):张量积基
棱柱单元:三角形×一维张量积
金字塔单元:特殊基函数

p型自适应

误差估计:ηK​=∥u−uh​∥H1(K)​
细化策略:基于误差分布调整单元阶数p
hp自适应:同时调整h和p

矩阵性质

条件数:κ(K)=O(p2d)
预处理:对角线预处理,低阶有限元预处理,多重网格
静态凝聚:消除内部自由度,得到边界系统

数值积分

完全积分:(p+1)d个积分点
降阶积分:pd个积分点,避免剪切锁死
选择性减缩积分:不同项用不同积分

软件实现

deal.II,Nektar++,MFEM,FEniCS,GetFEM

74. 并行计算策略详细补充

项目

详细说明

区域分解

重叠型:Schwarz方法,uik+1​=Solve(Ai​,fi​−∑j=i​Aij​ujk​)
非重叠型:子结构法,有限元撕裂与互联(FETI),K=[Kbb​Kib​​Kbi​Kii​​]
静态凝聚:Kbb∗​=Kbb​−Kbi​Kii−1​Kib​

多重网格

几何多重网格:粗网格由细网格生成
代数多重网格(AMG):基于矩阵构造粗网格
平滑:Gauss-Seidel,Jacobi,ILU
循环:V循环,W循环,F循环

并行求解器

直接法:MUMPS,SuperLU_Dist,PaStiX
迭代法:Krylov子空间方法(CG,GMRES,BiCGSTAB)
预处理:域分解,多重网格,稀疏近似逆

负载平衡

图划分:METIS,ParMETIS,Jostle
几何划分:递归坐标平分,递归惯性平分
动态负载平衡:根据计算量重新分区

混合并行

MPI+OpenMP:MPI进程间通信,OpenMP线程内并行
MPI+GPU:MPI进程间通信,GPU线程块并行
MPI+OpenMP+GPU:三层并行

通信优化

非阻塞通信:计算与通信重叠
通信合并:小消息合并为大消息
拓扑优化:减少通信距离

性能分析

加速比:Sp​=T1​/Tp​
效率:Ep​=Sp​/p
可扩展性:强可扩展性(固定问题规模),弱可扩展性(固定每进程问题规模)

75. 不确定性量化详细补充

项目

详细说明

方法分类

非嵌入法:蒙特卡洛,拉丁超立方,重要性采样,代理模型
嵌入法:随机伽辽金,随机配点,扰动法, Neumann展开

蒙特卡洛

简单抽样:E[u]≈N1​∑i=1N​u(ξi​)
方差:Var[u^]=Var[u]/N
收敛速度:O(1/N​),与维度无关

拉丁超立方

抽样策略:每个维度均匀分层,随机组合
方差:Var[u^]≤N1​Var[u]
改进:正交阵列,对称拉丁超立方

重要性采样

抽样分布:E[u]=∫u(x)f(x)dx=∫g(x)u(x)f(x)​g(x)dx≈N1​∑i=1N​g(xi​)u(xi​)f(xi​)​
最优分布:$g^*(x) \propto

多项式混沌展开

广义多项式混沌:u(ξ)=∑i=0∞​ui​Ψi​(ξ)
正交多项式:Hermite(高斯),Legendre(均匀),Laguerre(指数),Jacobi(贝塔)
Wiener-Askey方案:随机变量类型与正交多项式对应

随机伽辽金

投影:ui​=⟨Ψi2​⟩⟨u,Ψi​⟩​
离散系统:∑j=0P​Kij​uj​=Fi​,其中Kij​=⟨Ψi​Ψj​K⟩
稀疏网格:减少配点数,N=O(2lld−1)

随机配点

配点法:u(k)=K−1(ξ(k))F(ξ(k))
回归法:minui​​∑k=1Q​(u(ξ(k))−∑i=0P​ui​Ψi​(ξ(k)))2
稀疏网格:Smolyak算法,Q=O(2lld−1)

灵敏度分析

局部灵敏度:导数∂u/∂ξi​
全局灵敏度:Sobol指标$S_i = Var[E[u

可靠性分析

失效概率:Pf​=∫g(x)<0​f(x)dx
一次可靠度法(FORM):β=min∥u∥s.t. g(T(u))<0
二次可靠度法(SORM):在FORM基础上考虑曲率

软件工具

UQLab,Dakota,OpenTURNS,ChaosPy,UQ Toolkit

总结与展望

力学数值方法的发展呈现出以下趋势:

  1. 多尺度与多物理场耦合:从微观到宏观,从物理到化学-生物-力学耦合

  2. 数据驱动与物理模型融合:机器学习增强传统方法,物理信息神经网络

  3. 高保真与高效率平衡:模型降阶,自适应方法,多保真度建模

  4. 智能算法与优化设计:拓扑优化,形状优化,材料设计,生成设计

  5. 高性能与量子计算:大规模并行,GPU加速,量子算法探索

  6. 开源生态与社区发展:开源软件,开放科学,协作开发

  7. 数字孪生与实时仿真:工业4.0,数字孪生,实时决策支持

  8. 人工智能辅助科学发现:AI for Science,自动建模,自动求解

选择数值方法时需综合考虑:

  • 问题类型与物理特性

  • 精度要求与计算资源

  • 软件可用性与开发成本

  • 未来扩展与维护需求

  • 与其他工具的集成能力

选择算法时需考虑:

  • 问题类型(固体、流体、多场耦合)

  • 尺度(宏观、微观、多尺度)

  • 非线性程度(几何、材料、

求解器算法对比

项目

直接求解器(稀疏LU)

共轭梯度法(CG)

代数多重网格(AMG)

原理

矩阵三角分解A=LU,前代回代求解

Krylov子空间方法,A对称正定

多重网格法,粗网格修正细网格误差

复杂度

分解:O(n1.5−n2)
求解:O(nlogn)

每次迭代:O(nnz)
总迭代:O(κ1/2log(1/ϵ))

设置:O(nnz)
每次V循环:O(nnz)
总迭代:O(1)

内存需求

高:O(nlogn)~O(n1.5)

低:O(n)

中:O(2n)~O(5n)

并行性

中等(多波前法)

好(矩阵-向量乘并行)

好(平滑和限制可并行)

适用矩阵

一般稀疏矩阵

对称正定矩阵

椭圆型问题矩阵(M矩阵)

优点

鲁棒性强,适合多右端项

内存效率高,适合大规模问题

最优复杂度,适合各向异性问题

缺点

内存占用大,不适合极大规模型

需预条件,收敛依赖条件数

设置复杂,对非椭圆问题效果差

力学算法选择指南

问题类型

推荐算法

原因

注意事项

静力学小变形

有限元法(线性)

成熟,精度高,商业软件支持好

网格质量重要,奇异性需处理

静力学大变形

有限元法(几何非线性)

可处理大位移大转动

需增量求解,可能不收敛

接触问题

有限元法+接触算法

成熟接触算法(Lagrange乘子,罚函数)

接触刚度选择,收敛性

裂纹扩展

扩展有限元法(XFEM)

网格独立,裂尖端处理精确

积分复杂,收敛性理论不完善

颗粒材料

离散元法(DEM)

自然描述颗粒相互作用

计算量大,参数标定难

流体力学

有限体积法(FVM)

守恒性好,商业软件成熟

网格质量要求高,湍流模型选择

自由表面流

SPH/MPM

无网格,适合大变形自由表面

边界处理复杂,精度受影响

高速冲击

物质点法(MPM)

无网格畸变,适合极端变形

数值耗散,cell-crossing误差

多尺度模拟

多尺度有限元/CADA

连接不同尺度

尺度耦合复杂,计算成本高

分子尺度

分子动力学(MD)

原子尺度细节,可模拟非平衡

时间尺度短,力场精度限制

发展趋势

  1. 多尺度耦合:连接量子/原子/连续介质尺度

  2. 数据驱动:机器学习加速力场开发,模型降阶

  3. 异构计算:GPU/FPGA/量子计算加速

  4. 数字孪生:实时仿真与物理系统交互

  5. 开源生态:开源软件(OpenFOAM, CalculiX, Code_Aster)普及

牛顿力学数值算法综合表

1. 质点运动数值积分算法

项目

详细说明

表示方法

质点状态:s=[x,y,z,vx​,vy​,vz​]T
牛顿第二定律:mdt2d2r​=F(r,v,t)
一阶形式:dtd​[rv​]=[vF/m​]

构建方法

1. 定义质点状态向量s(t)
2. 定义力函数F(s,t)
3. 建立一阶ODE系统:s˙=f(s,t)
4. 选择数值积分方法
5. 循环更新状态

显式欧拉法

公式:sn+1​=sn​+hf(sn​,tn​)
位置-速度形式:rn+1​=rn​+hvn​,vn+1​=vn​+hFn​/m
矩阵形式:sn+1​=sn​+hAsn​+hB,其中A为系统矩阵

隐式欧拉法

公式:sn+1​=sn​+hf(sn+1​,tn+1​)
位置-速度形式:rn+1​=rn​+hvn+1​,vn+1​=vn​+hFn+1​/m
需迭代求解非线性方程

应用场景

弹道计算,粒子系统,游戏物理,分子动力学(简单情况)

依赖条件

软件:数值计算库(SciPy, MATLAB),游戏引擎
硬件:CPU/GPU,内存O(n)
数据:质量m,初始状态s0​,力函数F

算法思想

用差分近似微分,逐步推进时间,计算质点轨迹

理论依据

牛顿第二定律,常微分方程数值解法

算法特性

显式欧拉:简单但精度低,稳定性差
隐式欧拉:无条件稳定但需迭代

时间复杂度

单步:O(1)每质点
总:O(Nt​n),Nt​为时间步数,n为质点数

空间复杂度

存储状态:O(6n)(三维,位置+速度)

优点

简单直观,易于实现,计算成本低

缺点

精度低,稳定性差(显式),能量不守恒,可能发散

2. 质点系统多步积分算法

项目

详细说明

表示方法

多步法:sn+1​=∑i=0k−1​ai​sn−i​+h∑i=−1k−1​bi​f(sn−i​,tn−i​)
Adams-Bashforth:显式,b−1​=0
Adams-Moulton:隐式,b−1​=0

构建方法

1. 选择多步法格式和阶数k
2. 用单步法(如RK)计算前k步启动值
3. 应用多步公式推进
4. 预测-校正(对隐式格式)

二阶Adams-Bashforth

公式:sn+1​=sn​+2h​[3f(sn​,tn​)−f(sn−1​,tn−1​)]
位置-速度形式:vn+1​=vn​+2h​[3Fn​/m−Fn−1​/m]
rn+1​=rn​+2h​[3vn​−vn−1​]

四阶Adams-Bashforth

公式:sn+1​=sn​+24h​[55f(sn​,tn​)−59f(sn−1​,tn−1​)+37f(sn−2​,tn−2​)−9f(sn−3​,tn−3​)]

四阶Adams-Moulton

公式:sn+1​=sn​+24h​[9f(sn+1​,tn+1​)+19f(sn​,tn​)−5f(sn−1​,tn−1​)+f(sn−2​,tn−2​)]
预测-校正:用Adams-Bashforth预测,Adams-Moulton校正

应用场景

平滑力场中的质点轨迹,天体轨道计算,需要高精度和效率的场合

依赖条件

软件:ODE求解器库(ODEPACK, LSODE),自定义实现
硬件:CPU,内存O(kn)
数据:力函数,初始k步值

算法思想

利用多个历史点信息提高精度,减少函数计算次数

理论依据

多项式插值,数值积分理论

算法特性

精度高,效率高(每步一次函数计算),但需启动过程,变步长复杂

时间复杂度

单步:O(1)函数计算
总:O(Nt​)函数计算

空间复杂度

存储历史点:O(kn)

优点

高精度,效率高(相比高阶RK),适合平滑问题

缺点

需启动过程,变步长复杂,对非光滑问题可能不稳定

适用类型

光滑力场,非刚性问题,高精度轨道计算

3. Verlet积分算法家族

项目

详细说明

基本Verlet

位置更新:rn+1​=2rn​−rn−1​+h2an​
速度计算:vn​=(rn+1​−rn−1​)/(2h)
启动:需r0​和r1​=r0​+hv0​+2h2​a0​

速度Verlet

步骤:
1. vn+1/2​=vn​+2h​an​
2. rn+1​=rn​+hvn+1/2​
3. 计算an+1​=F(rn+1​)/m
4. vn+1​=vn+1/2​+2h​an+1​
等价于:rn+1​=rn​+hvn​+2h2​an​
vn+1​=vn​+2h​(an​+an+1​)

蛙跳法(Leapfrog)

速度在半整数步:
vn+1/2​=vn−1/2​+han​
rn+1​=rn​+hvn+1/2​
同步速度:vn​=21​(vn−1/2​+vn+1/2​)

应用场景

分子动力学,天体力学,保守系统,需要长时间稳定的模拟

依赖条件

软件:分子动力学包(LAMMPS, GROMACS),自定义实现
硬件:CPU/GPU,内存O(n)
数据:质量m,力函数F(r),初始位置速度

算法思想

对称的时间中心差分,保持时间反演对称性,适合保守系统

理论依据

中心差分公式,时间反演对称性

算法特性

时间可逆,保面积,能量漂移小,但位置速度不同步

时间复杂度

单步:O(1)每质点
总:O(Nt​n)

空间复杂度

存储位置、速度、加速度:O(9n)(三维)

优点

简单,时间可逆,长期稳定性好,能量守恒性好

缺点

位置速度不同步(基本Verlet和蛙跳法),启动需特殊处理

适用类型

保守系统,分子动力学,N体问题,轨道计算

4. 辛积分算法(保守系统)

项目

详细说明

表示方法

哈密顿系统:q˙​=∂p∂H​,p˙​=−∂q∂H​
可分离哈密顿量:H(q,p)=T(p)+V(q)
辛条件:更新映射的雅可比矩阵J满足JTΩJ=Ω,其中Ω=[0−I​I0​]

构建方法

1. 将系统写成哈密顿形式
2. 设计保持辛结构的离散格式
3. 数值积分

辛欧拉法

格式1:pn+1​=pn​−h∂q∂V​(qn​)
qn+1​=qn​+h∂p∂T​(pn+1​)
格式2:qn+1​=qn​+h∂p∂T​(pn​)
pn+1​=pn​−h∂q∂V​(qn+1​)

二阶辛积分

蛙跳格式:pn+1/2​=pn​−2h​∂q∂V​(qn​)
qn+1​=qn​+h∂p∂T​(pn+1/2​)
pn+1​=pn+1/2​−2h​∂q∂V​(qn+1​)

应用场景

天体力学,分子动力学,保守系统长时间模拟

依赖条件

软件:辛积分器库,自定义实现
硬件:CPU,内存O(2n)
数据:哈密顿量H(q,p),初始(q0​,p0​)

算法思想

保持相空间面积,维持哈密顿系统的辛结构

理论依据

辛几何,哈密顿力学

算法特性

保持辛结构,相空间体积守恒,长期稳定性好

时间复杂度

单步:O(1)每自由度(可分离系统)
总:O(Nt​n)

空间复杂度

存储(q,p):O(2n)

优点

长期稳定性,能量误差有界,适合长时间模拟

缺点

可能不严格保能量,可分离系统才显式

适用类型

保守系统,可分离哈密顿量,长时间轨迹计算

5. 自适应步长控制算法

项目

详细说明

表示方法

局部误差估计:ϵn​=∥yn​−y~​n​∥
其中yn​为高阶解,y~​n​为低阶解
步长控制:hnew​=hold​⋅min(fmax​,max(fmin​,α(τ/ϵ)1/(p+1)))

构建方法

1. 选择主方法和嵌入方法(如RK4(5))
2. 每步计算两个不同阶数的解
3. 估计局部截断误差
4. 根据误差调整步长
5. 如果误差可接受则接受步,否则重算

Runge-Kutta-Fehlberg (RKF45)

主方法4阶,嵌入方法5阶,6个函数计算
Butcher表:
\begin{array}{c\|cccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ 1/4 & 1/4 & 0 & 0 & 0 & 0 \\ 3/8 & 3/32 & 9/32 & 0 & 0 & 0 \\ 12/13 & 1932/2197 & -7200/2197 & 7296/2197 & 0 & 0 \\ 1 & 439/216 & -8 & 3680/513 & -845/4104 & 0 \\ 1/2 & -8/27 & 2 & -3544/2565 & 1859/4104 & -11/40 \\ \hline & 16/135 & 0 & 6656/12825 & 28561/56430 & -9/50 & 2/55 \\ & 25/216 & 0 & 1408/2565 & 2197/4104 & -1/5 & 0 \end{array}
误差估计:ϵ=∥y5​−y4​∥

Dormand-Prince (RK45)

主方法5阶,嵌入方法4阶,7个函数计算
误差估计:ϵ=∥y5​−y4​∥
常用在MATLAB的ode45

应用场景

变刚度问题,轨迹精度要求变化,效率优先的模拟

依赖条件

软件:ODE求解器(ode45, dopri5),自定义实现
硬件:CPU,内存O(sn),s为级数
数据:误差容差τ,安全因子α,最大最小步长因子

算法思想

通过误差估计自动调整步长,平衡精度和效率

理论依据

局部截断误差估计,步长控制理论

算法特性

自动步长调整,效率高,但每步需多次函数计算

时间复杂度

单步:O(s)函数计算,s为级数(RKF45:6)
总:O(Neff​s),Neff​为有效步数

空间复杂度

存储中间k值:O(sn)

优点

自动步长控制,效率高,精度有保证

缺点

每步计算量大,步长变化可能剧烈

适用类型

变刚度问题,精度要求变化,通用ODE求解

6. 多体问题快速算法

项目

详细说明

直接求和

朴素方法:ai​=G∑j=i​mj​∥rj​−ri​∥3rj​−ri​​
力计算:O(n2),适合小规模

Barnes-Hut树算法

思想:远处粒子组近似为单一粒子
树结构:八叉树(三维)或四叉树(二维)
判断准则:θ=s/d<θcrit​,其中s为节点尺寸,d为距离
近似力:F≈Gr2mcell​M​r^

快速多极法(FMM)

思想:将势展开为多极展开和局部展开
步骤:1. 树构建 2. 向上传递(多极展开) 3. 向下传递(局部展开) 4. 直接计算(近场)
力计算:O(n)

粒子-网格法(PM)

思想:在网格上求解泊松方程,用网格力插值到粒子
步骤:1. 分配质量到网格 2. 求解∇2ϕ=4πGρ3. 计算网格力F=−∇ϕ4. 插值力到粒子
FFT加速:O(NlogN),N为网格数

应用场景

天体物理N体模拟,分子动力学,等离子体,颗粒流

依赖条件

软件:N体模拟包(Gadget, PKDGRAV),FMM库
硬件:CPU/GPU,内存O(n)或O(NlogN)
数据:粒子质量、位置、速度,精度参数

算法思想

利用近似和层次结构降低计算复杂度

理论依据

多极展开,树形数据结构,快速泊松求解

算法特性

近似但可控精度,O(n)或O(nlogn)复杂度

时间复杂度

直接:O(n2)
Barnes-Hut:O(nlogn)
FMM:O(n)
PM:O(NlogN),N为网格数

空间复杂度

直接:O(n)
树方法:O(n)或O(nlogn)
PM:O(N),N为网格数

优点

大幅降低计算成本,可模拟大规模系统

缺点

近似有误差,实现复杂,参数需调优

适用类型

大规模N体问题,引力/静电力计算,长程力

7. 约束动力学算法

项目

详细说明

表示方法

约束:g(r1​,r2​,...,t)=0或 g(r1​,r2​,...,t)≥0
约束力:Fc​=λ∇g
运动方程:mi​r¨i​=Fi​+∑c​λc​∇i​gc​

构建方法

1. 建立约束方程g(r,t)=0
2. 计算约束力方向∇g
3. 求解约束力大小λ
4. 加入约束力积分运动

罚函数法

思想:用弹簧力近似约束力
力:Fc​=−kg∇g−γg˙​∇g
其中k为刚度,γ为阻尼
运动方程:mr¨=Fext​+Fc​

拉格朗日乘子法

约束力:Fc​=λ∇g
方程:mr¨=Fext​+λ∇g
与约束方程g=0联立求解r和λ

投影法

步骤:
1. 无约束积分:r~n+1​=rn​+hvn​+2h2​an​
2. 投影到约束流形:min∥rn+1​−r~n+1​∥2s.t. g(rn+1​)=0
3. 更新速度满足g˙​=0

SHAKE算法

对约束g(r)=0,迭代求解:
1. 预测:r~i​=rin​+hvin​+mi​h2​Fin​
2. 校正:rin+1​=r~i​+mi​h2​λ∇i​g
3. 求解λ使g(rn+1)=0
4. 更新速度:vin+1​=(rin+1​−rin​)/h

RATTLE算法

SHAKE的推广,同时约束位置和速度:
位置约束:g(rn+1)=0
速度约束:g˙​(rn+1,vn+1)=0
速度更新:vin+1/2​=vin​+2mi​h​Fin​
vin+1​=vin+1/2​+2mi​h​λ∇i​g(rn+1)

应用场景

分子动力学(键长键角约束),多体系统,机器人,带约束的粒子系统

依赖条件

软件:分子动力学包,物理引擎,自定义实现
硬件:CPU,内存O(n+m),m为约束数
数据:约束方程g,刚度k,阻尼γ

算法思想

通过约束力或投影使系统满足约束条件

理论依据

约束力学,达朗贝尔原理,拉格朗日乘子法

算法特性

罚函数法:简单但刚度大,需小步长
拉格朗日乘子:精确但需求解方程
投影法:几何直观,但可能不保能量

时间复杂度

罚函数法:O(nm)
SHAKE:O(km),k为迭代次数
拉格朗日乘子:O((n+m)3)直接求解

空间复杂度

存储约束梯度:O(mn)
存储乘子:O(m)

优点

可处理复杂约束,保持几何约束

缺点

计算量大,可能数值不稳定,约束违约

适用类型

完整约束系统,分子动力学,机器人,机械系统

8. 碰撞检测与响应算法

项目

详细说明

碰撞检测

宽阶段:空间划分(网格,四叉树/八叉树,BVH)
窄阶段:精确检测(GJK,SAT,射线检测)
接触信息:穿透深度,接触点,法向,切向

GJK算法

思想:计算闵可夫斯基差,判断是否包含原点
支持函数:sA​(d)=argmaxp∈A​p⋅d
单纯形:点、线段、三角形、四面体
距离计算:迭代更新单纯形逼近最近点
EPA:从GJK得到的单纯形扩展得到穿透深度和方向

分离轴定理(SAT)

思想:如果存在一个轴使得两凸体投影不重叠,则不相交
测试轴:每个面的法向,每个边的叉积
投影:proja​(B)=[minb∈B​b⋅a,maxb∈B​b⋅a]
重叠:overlap=min(pmax​,qmax​)−max(pmin​,qmin​)

碰撞响应

冲量法:J=n⋅n(1/mA​+1/mB​)+[(IA−1​(rA​×n))×rA​+(IB−1​(rB​×n))×rB​]⋅n−(1+e)(vrel​⋅n)​
速度更新:vA+​=vA−​+J/mA​,vB+​=vB−​−J/mB​
角速度更新:ωA+​=ωA−​+IA−1​(rA​×J),ωB+​=ωB−​−IB−1​(rB​×J)

连续碰撞检测(CCD)

思想:检测时间区间内的最早碰撞
方法:扫掠体积,间隔算术,保守推进
计算最早碰撞时间:求解f(t)=dist(A(t),B(t))=0

应用场景

物理引擎,游戏,机器人,虚拟现实,多体动力学

依赖条件

软件:物理引擎(Bullet, Box2D, ODE),几何库
硬件:CPU/GPU,内存依赖场景复杂度
数据:几何形状,位置,速度,恢复系数e,摩擦系数μ

算法思想

检测几何相交,计算接触信息,应用冲量改变运动状态

理论依据

凸分析,计算几何,碰撞理论,冲量动量定理

算法特性

GJK:高效处理凸体,可计算距离
SAT:简单直观,适合简单几何
CCD:避免隧穿,计算量大

时间复杂度

宽阶段:O(nlogn)或O(n)
GJK:O(1)平均,O(n)最坏
SAT:O(nA​+nB​),n为面/边数

空间复杂度

空间划分结构:O(n)
临时存储:O(1)

优点

实时检测,物理合理,可处理复杂形状

缺点

计算复杂,数值稳定性问题,参数敏感

适用类型

刚体碰撞,实时模拟,游戏物理,机器人导航

9. 刚体旋转数值积分

项目

详细说明

表示方法

姿态表示:旋转矩阵R,四元数q,欧拉角(ϕ,θ,ψ)
运动方程:Iω˙+ω×Iω=τ
姿态更新:R˙=R[ω]×​或 q˙​=21​q⊗[0,ω]T

构建方法

1. 选择姿态表示(四元数推荐)
2. 计算力矩τ
3. 积分角速度方程
4. 更新姿态
5. 重新正交化/归一化(如需要)

四元数更新

角速度积分:ωn+1​=ωn​+hI−1(τn​−ωn​×Iωn​)
四元数更新:qn+1​=qn​⊗exp(2h​[0,ωn​]T)
其中exp(ϕ)=[cos(∥ϕ∥/2),sin(∥ϕ∥/2)ϕ/∥ϕ∥]
归一化:q←q/∥q∥

旋转矩阵更新

角速度积分:同上
矩阵更新:Rn+1​=Rn​exp(h[ωn​]×​)
其中exp([ω]×​)=I+∥ω∥sin∥ω∥​[ω]×​+∥ω∥21−cos∥ω∥​[ω]×2​
正交化:R←(RRT)−1/2R

李群积分

在SO(3)上直接积分:Rn+1​=Rn​exp(h[ωn​]×​)
保持旋转矩阵在SO(3)上,无需重新正交化

应用场景

航天器姿态控制,机器人,刚体动力学,游戏物理

依赖条件

软件:数学库(Eigen),物理引擎,自定义
硬件:CPU,内存O(1)每刚体
数据:惯性张量I,初始姿态q0​/R0​,角速度ω0​,力矩τ

算法思想

在流形上积分,保持旋转矩阵的正交性或四元数的单位性

理论依据

刚体动力学,旋转群SO(3),四元数代数

算法特性

四元数:无奇异性,计算高效,需归一化
旋转矩阵:直观,但需正交化
李群:几何精确,但计算复杂

时间复杂度

四元数:O(1)
旋转矩阵:O(1)但指数映射O(27)乘法
正交化:O(27)

空间复杂度

四元数:O(4)
旋转矩阵:O(9)

优点

四元数:无万向锁,插值方便,计算高效
旋转矩阵:直观,变换向量直接

缺点

四元数:需归一化,不直观
旋转矩阵:存储大,有万向锁,需正交化

适用类型

刚体转动,姿态动力学,需要精确旋转的模拟

10. 接触力模型与摩擦

项目

详细说明

接触力模型

法向力:fn​=kδ+cδ˙,δ为穿透深度
切向力(库仑摩擦):ft​=min(μfn​,kt​δt​+ct​δ˙t​)
恢复系数:vn,after​=−evn,before​
冲量形式:Jn​=−(1+e)vn,rel​/(1/mA​+1/mB​)

构建方法

1. 检测碰撞,计算穿透深度δ和相对速度vrel​
2. 计算法向力fn​
3. 计算切向位移δt​和速度δ˙t​
4. 计算切向力ft​,满足库仑摩擦
5. 应用力/冲量到物体

弹簧-阻尼模型

法向:fn​=max(0,kδ+cδ˙)
切向:ft​=−min(μ∥fn​∥,∥kt​δt​+ct​δ˙t​∥)t^
其中t^为切向单位向量

冲量模型

法向冲量:Jn​=−(1+e)vn,rel​/(1/mA​+1/mB​+(rA​×n)TIA−1​(rA​×n)+(rB​×n)TIB−1​(rB​×n))
切向冲量(静摩擦):Jt​=0如果 ∥vt,rel​∥很小
切向冲量(动摩擦):Jt​=−μJn​v^t​
速度更新:v+=v−+J/m,ω+=ω−+I−1(r×J)

应用场景

物理引擎,多体接触,颗粒材料,机器人抓取

依赖条件

软件:物理引擎,碰撞检测库
硬件:CPU/GPU,内存O(c),c为接触数
数据:刚度k,阻尼c,摩擦系数μ,恢复系数e

算法思想

用弹簧阻尼模拟接触力,用冲量模拟碰撞,摩擦满足库仑定律

理论依据

接触力学,赫兹接触理论,库仑摩擦定律

算法特性

弹簧阻尼:连续力,但需小步长避免振荡
冲量:瞬时,适合离散碰撞,但可能需多次迭代

时间复杂度

每个接触:O(1)
总:O(c),c为接触数

空间复杂度

存储接触信息:O(c)

优点

物理合理,可模拟复杂接触,稳定(适当参数)

缺点

参数敏感,刚度大时需小步长,摩擦处理复杂

适用类型

多接触系统,需要连续力的模拟,实时物理

11. 稀疏线性系统求解(用于隐式积分)

项目

详细说明

问题形式

隐式积分产生的线性系统:Ax=b
A通常稀疏、对称正定(或至少对称)
例如:(I−h2M−1K)x=b来自隐式欧拉

构建方法

1. 从隐式积分公式得到线性系统
2. 组装矩阵A和右端项b
3. 选择求解器
4. 求解x
5. 更新状态

直接法

稀疏Cholesky:A=LLT,前代回代
稀疏LU:A=LU,前代回代
填充约化:最小度排序,嵌套剖分
实现:SuiteSparse,MUMPS,PARDISO

迭代法

共轭梯度(CG):xk+1​=xk​+αk​pk​,rk+1​=rk​−αk​Apk​
pk+1​=rk+1​+βk​pk​
预条件:雅可比,SSOR,不完全Cholesky,代数多重网格

应用场景

隐式积分,有限元,约束优化,物理模拟

依赖条件

软件:线性代数库(Eigen, PETSc, Trilinos),直接求解器
硬件:CPU,内存依赖稀疏模式
数据:矩阵A,右端项b,预条件器

算法思想

直接法:分解矩阵,高效求解多个右端项
迭代法:逐步逼近解,适合大规模稀疏系统

理论依据

线性代数,数值分析,最优化理论

算法特性

直接法:精确(忽略舍入),但填充可能大
迭代法:近似,但内存效率高,可并行

时间复杂度

稀疏Cholesky:O(n3/2)2D,O(n2)3D
CG:O(nκ​),κ为条件数
预条件CG:O(nκeff​​)

空间复杂度

稀疏Cholesky:O(nlogn)2D,O(n4/3)3D
CG:O(n)

优点

直接法:鲁棒,可重用分解
迭代法:内存效率高,可并行,适合大系统

缺点

直接法:填充增加,不适合超大系统
迭代法:收敛依赖条件数,需好预条件

适用类型

隐式积分中的线性系统,刚度矩阵求解

12. 并行计算策略

项目

详细说明

域分解

思想:将计算域划分为子域,每个处理器负责一个子域
通信:边界数据交换
负载平衡:均匀划分或加权划分
实现:MPI,OpenMP,CUDA

空间划分

均匀网格:简单但负载可能不平衡
八叉树/四叉树:自适应细化,负载平衡复杂
KD树:适合非均匀分布
用于邻居搜索,力计算

邻居搜索

链接网格法:将空间划分为网格,粒子只与相邻网格内粒子作用
Verlet列表:列表包含所有可能相互作用的粒子,定期更新
组合:链接网格建立Verlet列表

力分解

粒子分解:每个处理器负责固定粒子集的所有力计算
空间分解:每个处理器负责空间区域的所有粒子
复制数据:每个处理器有所有粒子数据,计算局部力,然后规约

并行求和

树求和:处理器组织成树,局部和向上传递
蝶形求和:适合FFT
MPI_Allreduce:全局规约

应用场景

大规模N体模拟,分子动力学,计算流体力学

依赖条件

软件:MPI,OpenMP,CUDA,并行库
硬件:多核CPU,GPU,分布式内存
数据:划分策略,通信模式,负载平衡

算法思想

将计算和数据分布到多个处理器,通过通信协调

理论依据

并行计算,分布式算法,负载平衡

算法特性

可扩展性:强扩展(固定问题规模),弱扩展(固定每处理器规模)
通信开销:可能成为瓶颈
负载平衡:关键性能因素

时间复杂度

理想加速:O(n/p),p为处理器数
实际:O(n/p+Tcomm​),Tcomm​为通信时间

空间复杂度

每个处理器:O(n/p+B),B为边界数据

优点

可处理大规模问题,加速计算

缺点

编程复杂,通信开销,负载不平衡,调试困难

适用类型

大规模模拟,计算密集型问题,有并行硬件

13. 多体系统动力学算法(多刚体系统)

项目

详细说明

表示方法

广义坐标:q∈Rn,n为自由度
约束方程:g(q,t)=0(完整约束),A(q)q˙​=0(非完整约束)
运动方程:M(q)q¨​+C(q,q˙​)=τ+G(q)Tλ
其中M为质量矩阵,C为科里奥利和离心力项,τ为广义力,G=∂g/∂q,λ为拉格朗日乘子

构建方法

1. 建立广义坐标和约束方程
2. 计算动能和势能,得到拉格朗日函数或直接应用牛顿-欧拉方程
3. 导出运动方程
4. 数值求解微分代数方程(DAE)或带约束的ODE

牛顿-欧拉方程

递推形式:
向前递推(速度加速度):
ωi+1​=RiT​ωi​+θ˙i+1​zi+1​
ω˙i+1​=RiT​ω˙i​+RiT​ωi​×θ˙i+1​zi+1​+θ¨i+1​zi+1​
p¨​i+1​=RiT​(p¨​i​+ω˙i​×ri​+ωi​×(ωi​×ri​))
向后递推(力):
fi​=Ri+1​fi+1​+mi​p¨​i​
τi​=Ri+1​τi+1​−fi​×ri​+Ii​ω˙i​+ωi​×(Ii​ωi​)

带约束的积分

指标-3 DAE:g(q)=0
指标-2 DAE:g(q)=0,G(q)q˙​=0
指标-1 DAE:g(q)=0,G(q)q˙​=0,G(q)q¨​+∂q∂​(Gq˙​)q˙​=0
常用方法:Baumgarte稳定,投影法,广义-alpha方法

应用场景

机器人动力学,机械系统仿真,虚拟样机,生物力学

依赖条件

软件:多体动力学软件(ADAMS, Dymola),机器人库(Robotics Toolbox)
硬件:CPU,内存O(n2)(稠密矩阵)或O(n)(稀疏)
数据:质量、惯性、几何参数,约束方程,初始条件

算法思想

用递推公式高效计算运动方程,或直接处理带约束的动力学系统

理论依据

刚体动力学,拉格朗日力学,牛顿-欧拉方程

算法特性

牛顿-欧拉:O(n)复杂度,高效
约束系统:DAE,指标降阶,数值稳定性挑战

时间复杂度

牛顿-欧拉递推:O(n)
约束系统:O(n3)(稠密矩阵)或O(n)(稀疏,树状结构)

空间复杂度

存储矩阵:O(n2)稠密,O(n)稀疏
存储状态:O(n)

优点

可处理复杂多体系统,有现成软件,高效递推算法

缺点

约束系统数值处理困难,DAE求解复杂,可能出现违约

适用类型

树状或闭链多体系统,机器人,机械系统

14. 有限元方法(固体力学)

项目

详细说明

表示方法

位移场:u(x)=∑Ni​(x)ui​,Ni​为形函数
应变:ϵ=Bu,B为应变-位移矩阵
应力:σ=Dϵ,D为弹性矩阵
运动方程:Mu¨+Cu˙+Ku=f
其中M为质量矩阵,C为阻尼矩阵,K为刚度矩阵,f为载荷向量

构建方法

1. 离散化:将连续体划分为有限元网格
2. 选择形函数(线性,二次等)
3. 计算单元矩阵Me​,Ke​,fe​
4. 组装全局矩阵M,K,f
5. 施加边界条件
6. 求解代数方程或ODE

静态分析

方程:Ku=f
求解:直接法(稀疏LU,Cholesky)或迭代法(CG,GMRES)
预处理:不完全分解,代数多重网格

动态分析

方程:Mu¨+Cu˙+Ku=f
时间积分:Newmark-β,HHT-α,广义-alpha
模态分析:(−ω2M+K)ϕ=0,求解特征值问题

显式动力学

中心差分法:
u˙n​=(un+1​−un−1​)/(2Δt)
u¨n​=(un+1​−2un​+un−1​)/Δt2
更新:un+1​=Δt2M−1(fn​−Cu˙n​−Kun​)+2un​−un−1​
条件稳定:Δt≤2/ωmax​

隐式动力学

Newmark-β:
un+1​=un​+Δtu˙n​+Δt2[(1/2−β)u¨n​+βu¨n+1​]
u˙n+1​=u˙n​+Δt[(1−γ)u¨n​+γu¨n+1​]
求解:(M+γΔtC+βΔt2K)u¨n+1​=fn+1​−Cu˙n+1∗​−Kun+1∗​
无条件稳定(适当参数)

应用场景

结构分析,固体力学,热传导,电磁场,多物理场

依赖条件

软件:有限元软件(Abaqus, ANSYS, FEniCS),数值库
硬件:CPU/GPU,内存O(n1.5)2D,O(n1.33)3D(稀疏矩阵)
数据:网格,材料参数,边界条件,载荷

算法思想

将连续体离散为有限个单元,用节点未知量近似连续场

理论依据

变分原理,加权残量法,插值理论

算法特性

适应复杂几何,各种边界条件,成熟软件,但网格依赖

时间复杂度

矩阵组装:O(n)
求解:O(n1.5)2D,O(n1.33)3D(最优)
显式积分:O(n)每步,但需小步长

空间复杂度

存储矩阵:O(nlogn)2D,O(n1.33)3D(稀疏)

优点

通用,适应复杂几何和边界条件,有成熟商业软件

缺点

网格生成复杂,计算量大,精度依赖网格,不擅长大变形

适用类型

连续体力学,结构分析,多物理场

15. 分子动力学模拟算法

项目

详细说明

表示方法

位置:ri​,速度:vi​,加速度:ai​=Fi​/mi​
力:Fi​=−∇i​V(r1​,...,rN​)
势能:Lennard-Jones,库仑,键合项等
运动方程:mi​r¨i​=Fi​

构建方法

1. 初始化位置和速度(Maxwell-Boltzmann分布)
2. 计算力(邻居列表,库仑求和)
3. 数值积分(Verlet,Velocity Verlet)
4. 控温控压(Berendsen,Nose-Hoover)
5. 采样和分析

力计算优化

邻居列表:Verlet列表,单元格列表
长程力:Ewald求和,PME,PPPM
短程力:截断,平滑
并行:域分解,复制数据

积分算法

Velocity Verlet:
r(t+Δt)=r(t)+Δtv(t)+2Δt2​a(t)
v(t+Δt/2)=v(t)+2Δt​a(t)
a(t+Δt)=F(r(t+Δt))/m
v(t+Δt)=v(t+Δt/2)+2Δt​a(t+Δt)

热浴

Berendsen:v˙=(T0​/T−1)v/τ
Nose-Hoover:引入虚拟变量,扩展系统
Langevin:mr¨=F−γmr˙+2γmkB​T​R(t),R为白噪声

压浴

Berendsen:Pinst​=3V1​(2Ekin​+W),W为维里
缩放体积或晶格向量

应用场景

材料科学,生物分子,药物设计,纳米技术

依赖条件

软件:分子动力学软件(LAMMPS, GROMACS, NAMD)
硬件:CPU/GPU集群,高速网络
数据:力场参数,初始结构,模拟参数(T, P, 步长,步数)

算法思想

数值求解牛顿方程,模拟原子运动,统计平均得宏观性质

理论依据

统计力学,牛顿力学,分子力场

算法特性

原子尺度,时间步长小(飞秒),模拟规模有限,计算密集

时间复杂度

力计算:O(N2)朴素,O(NlogN)或O(N)快速方法
积分:O(N)每步
总:O(Nsteps​N)或 O(Nsteps​NlogN)

空间复杂度

存储原子信息:O(N)
邻居列表:O(N)

优点

原子细节,可研究动力学过程,第一性原理力场可高精度

缺点

计算量大,时间尺度短(微秒以下),力场精度限制

适用类型

原子、分子系统,平衡和非平衡性质,相变,输运过程

16. 光滑粒子流体动力学(SPH)

项目

详细说明

表示方法

场近似:A(r)≈∑j​mj​ρj​Aj​​W(∥r−rj​∥,h)
其中W为光滑核函数,h为光滑长度
密度:ρi​=∑j​mj​Wij​
运动方程:dtdvi​​=−∑j​mj​(ρi2​Pi​​+ρj2​Pj​​+Πij​)∇i​Wij​+g

构建方法

1. 初始化粒子位置、质量、密度等
2. 邻居搜索(网格,树)
3. 计算密度ρi​
4. 计算压力Pi​=P(ρi​)(状态方程)
5. 计算力(压力梯度,粘性,表面张力等)
6. 数值积分(Leapfrog,Symplectic)
7. 更新光滑长度(如需要)

核函数

高斯:W(r,h)=hdπd/21​e−(r/h)2
三次样条:W(q)=hdC​⎩⎨⎧​1−1.5q2+0.75q3,0.25(2−q)3,0,​0≤q≤11≤q≤2q>2​
其中q=r/h,C为归一化常数

邻居搜索

链接网格:划分网格,粒子只与相邻网格内粒子作用
树结构:四叉树/八叉树,适合非均匀分布
Verlet列表:定期更新

时间积分

Leapfrog:
vin+1/2​=vin−1/2​+Δtain​
rin+1​=rin​+Δtvin+1/2​
Predict-Correct:预测步用显式,校正步用隐式

应用场景

流体模拟,天体物理,固体断裂,多相流,计算机图形学

依赖条件

软件:SPH代码(DualSPHysics, GPUSPH),自定义实现
硬件:CPU/GPU,内存O(N)
数据:粒子质量,初始位置速度,状态方程,核函数,光滑长度

算法思想

用粒子离散连续介质,通过核函数近似场函数及其导数

理论依据

积分插值,流体力学,拉格朗日描述

算法特性

无网格,自适应,适合大变形,但边界处理复杂,精度低

时间复杂度

邻居搜索:O(NlogN)或 O(N)
力计算:O(N⋅Nneigh​)
总:O(Nsteps​N⋅Nneigh​)

空间复杂度

存储粒子数据:O(N)
邻居列表:O(N⋅Nneigh​)

优点

无网格,自适应,适合大变形和自由表面,拉格朗日框架

缺点

边界处理复杂,精度低,计算量大,张力不稳定

适用类型

自由表面流,大变形,多相流,天体物理

17. 无网格伽辽金法(EFG)

项目

详细说明

表示方法

移动最小二乘近似:uh(x)=∑i=1n​pi​(x)ai​(x)=pT(x)a(x)
其中p(x)为基函数,a(x)由最小二乘确定
最小化:J=∑i=1n​w(∥x−xi​∥)[pT(xi​)a(x)−ui​]2
得到:uh(x)=∑i=1n​ϕi​(x)ui​,ϕi​为形函数

构建方法

1. 布置节点(无网格)
2. 定义权函数(紧支性)
3. 移动最小二乘构造形函数
4. 形成离散方程(伽辽金法)
5. 数值积分(背景网格)
6. 施加边界条件(拉格朗日乘子,罚函数)
7. 求解代数方程

形函数构造

基函数:线性 pT=[1,x,y],二次 pT=[1,x,y,x2,xy,y2]
权函数:高斯,三次样条,四次样条
形函数:ϕi​(x)=pT(x)A−1(x)Bi​(x)
其中A(x)=∑wi​p(xi​)pT(xi​),Bi​(x)=wi​p(xi​)

离散方程

弱形式:∫Ω​∇v:σdΩ=∫Γt​​v⋅tˉdΓ+∫Ω​v⋅bdΩ
代入近似:Ku=f
KIJ​=∫Ω​BIT​DBJ​dΩ,fI​=∫Γt​​ϕI​tˉdΓ+∫Ω​ϕI​bdΩ

数值积分

背景网格:规则网格,每个单元格高斯积分
节点积分:在节点处积分
稳定节点积分:修正积分权重

应用场景

裂纹扩展,大变形,金属成型,冲击模拟,自适应分析

依赖条件

软件:无网格代码(EFG, MLPG),自定义实现
硬件:CPU,内存O(n2)稠密或O(n)稀疏
数据:节点坐标,权函数参数,积分方案,边界条件

算法思想

用移动最小二乘构造形函数,无需网格连接关系,基于点的近似

理论依据

移动最小二乘,伽辽金法,无网格近似

算法特性

无网格,适合大变形和裂纹扩展,但计算量大,边界条件施加复杂

时间复杂度

形函数构造:O(n⋅nsupport​),nsupport​为支撑域内节点数
矩阵组装:O(n⋅nsupport​⋅ngauss​)
求解:O(n3)直接,O(n1.5)迭代(稀疏)

空间复杂度

存储矩阵:O(n2)稠密,O(n⋅nsupport​)稀疏
存储形函数:O(n⋅nsupport​)

优点

无网格,适应大变形,高精度,裂纹扩展自然

缺点

计算量大,边界条件处理复杂,数值积分困难,可能不稳定

适用类型

大变形,裂纹扩展,高速冲击,自适应分析

18. 离散元法(DEM)

项目

详细说明

表示方法

粒子运动:mi​r¨i​=∑j​Fijc​+Fig​
Ii​ω˙i​=∑j​Mij​
接触力:法向Fn​=kn​δn​+cn​δ˙n​,切向Ft​=kt​δt​+ct​δ˙t​(弹性部分)
库仑摩擦:$

构建方法

1. 生成粒子(随机,规则)
2. 邻居搜索(网格,Verlet列表)
3. 接触检测(重叠判断)
4. 计算接触力(弹簧-阻尼-滑块)
5. 数值积分(Verlet,Velocity Verlet)
6. 更新位置和速度
7. 周期边界,墙体处理

接触模型

线性弹簧-阻尼:Fn​=kn​δn​+cn​δ˙n​
Hertz-Mindlin:Fn​=34​E∗R∗​δn3/2​+cn​δ˙n​
其中1/E∗=(1−ν12​)/E1​+(1−ν22​)/E2​,1/R∗=1/R1​+1/R2​
切向:Ft​=kt​δt​+ct​δ˙t​,kt​=8G∗R∗δn​​

邻居搜索

单元格法:划分网格,粒子只与同格及相邻格粒子检测
Verlet列表:rlist​=rcut​+rbuffer​,定期更新列表
树结构:四叉树/八叉树,适合非均匀分布

时间积分

Velocity Verlet:
r(t+Δt)=r(t)+Δtv(t)+2Δt2​a(t)
v(t+Δt/2)=v(t)+2Δt​a(t)
计算力a(t+Δt)
v(t+Δt)=v(t+Δt/2)+2Δt​a(t+Δt)

应用场景

颗粒材料,岩土工程,制药,农业,化工过程

依赖条件

软件:DEM软件(LIGGGHTS, EDEM, YADE)
硬件:CPU/GPU,内存O(N)
数据:粒子几何和材料属性,接触参数,边界条件

算法思想

将散体材料离散为刚性粒子,通过接触力相互作用,显式积分

理论依据

接触力学,软球模型,库仑摩擦

算法特性

显式,条件稳定,计算量大,可并行

时间复杂度

邻居搜索:O(N)或 O(NlogN)
接触检测:O(N⋅Nneigh​)
积分:O(N)
总:O(Nsteps​N⋅Nneigh​)

空间复杂度

存储粒子:O(N)
邻居列表:O(N⋅Nneigh​)

优点

可处理大变形,直观,可模拟复杂颗粒形状,可并行

缺点

计算量大,时间步长小,参数多且难确定,接触模型简化

适用类型

颗粒流,散体材料,装填,输送,混合

19. 物质点法(MPM)

项目

详细说明

表示方法

双重离散:物质点(拉格朗日)携带质量、速度、应力等;背景网格(欧拉)用于计算空间导数
质量守恒:mp​=ρp​Vp​
动量方程:ρv˙=∇⋅σ+ρb
变形梯度:F=∇X​x,更新:Fpn+1​=(I+∇vp​Δt)Fpn​

构建方法

1. 初始化物质点(质量,位置,速度,应力等)
2. 将物质点信息映射到背景网格(P2G)
3. 在背景网格上求解动量方程(更新网格速度)
4. 将网格信息映射回物质点(G2P)
5. 更新物质点位置和状态变量
6. 重置背景网格(可选)

映射函数

形函数:NI​(xp​),通常用线性或二次B样条
质量:mI​=∑p​NI​(xp​)mp​
动量:pI​=∑p​NI​(xp​)mp​vp​
速度:vI​=pI​/mI​
力:fI​=−∑p​Vp​σp​∇NI​(xp​)+∑p​NI​(xp​)mp​b

网格更新

动量方程:mI​vIn+1​=mI​vIn​+ΔtfI​
边界条件:在网格上施加
接触:在网格上检测和处理

物质点更新

速度:vpn+1​=∑I​NI​(xp​)vIn+1​
位置:xpn+1​=xpn​+Δt∑I​NI​(xp​)vIn+1​
变形梯度:Fpn+1​=(I+Δt∑I​vIn+1​∇NI​(xp​))Fpn​
应力更新:本构模型,如σpn+1​=C(ϵpn+1​),其中ϵ=21​(FTF−I)

应用场景

冲击,爆炸,金属成型,土壤机械相互作用,流体-结构耦合

依赖条件

软件:MPM代码(Uintah, AMPLE, MPM3D),自定义实现
硬件:CPU/GPU,内存O(Np​+Ng​)
数据:物质点初始状态,背景网格,本构模型,边界条件

算法思想

结合拉格朗日点和欧拉网格的优点,避免网格畸变,适合大变形

理论依据

连续介质力学,插值理论,粒子-网格方法

算法特性

无网格畸变,适合大变形,可处理多材料,但数值扩散,计算量大

时间复杂度

映射:O(Np​⋅Nneigh​)
网格求解:O(Ng​)
总:O(Nsteps​(Np​⋅Nneigh​+Ng​))

空间复杂度

存储物质点:O(Np​)
存储网格:O(Ng​)

优点

无网格畸变,适合大变形和冲击,自然处理多材料耦合

缺点

数值扩散,计算量大,精度低,压力振荡

适用类型

极端变形,冲击,多材料相互作用,流体-固体耦合

20. 等几何分析(IGA)

项目

详细说明

表示方法

几何和场用相同B样条/NURBS基函数:
x(ξ)=∑i=1n​Ri​(ξ)Pi​
uh(ξ)=∑i=1n​Ri​(ξ)ui​
其中Ri​为NURBS基函数,Pi​为控制点,ui​为自由度
参数域ξ,物理域x

构建方法

1. 用NURBS表示几何(CAD)
2. 定义参数域和网格(节点向量)
3. 选择基函数阶数p
4. 建立离散方程(伽辽金法)
5. 数值积分(高斯积分在参数域)
6. 施加边界条件(控制点约束)
7. 求解代数方程

B样条基函数

递归定义:
Ni,0​(ξ)={10​ξi​≤ξ<ξi+1​otherwise​
Ni,p​(ξ)=ξi+p​−ξi​ξ−ξi​​Ni,p−1​(ξ)+ξi+p+1​−ξi+1​ξi+p+1​−ξ​Ni+1,p−1​(ξ)
节点向量:Ξ={ξ1​,ξ2​,...,ξn+p+1​}

NURBS基函数

Rip​(ξ)=∑j=1n​Nj,p​(ξ)wj​Ni,p​(ξ)wi​​
权重wi​,可精确表示圆锥曲线

离散方程

刚度矩阵:Kij​=∫Ω​BiT​DBj​dΩ
力向量:fi​=∫Ω​Ri​bdΩ+∫Γt​​Ri​tˉdΓ
其中Bi​=∇Ri​,注意从参数域到物理域的映射雅可比

数值积分

高斯积分在参数域:$\int\Omega f(x) d\Omega = \int{\hat{\Omega}} f(x(\xi))

应用场景

结构分析,流体力学,形状优化,CAD/CAE一体化

依赖条件

软件:IGA代码(GeoPDEs, igakit),CAD软件,有限元库
硬件:CPU,内存O(n2)稠密或O(n)稀疏
数据:NURBS几何,阶数,节点向量,边界条件

算法思想

用CAD的几何描述(NURBS)作为分析基函数,实现几何精确和分析精度

理论依据

等参概念,B样条/NURBS理论,有限元法

算法特性

几何精确,高连续性,简化网格,但矩阵稠密,实现复杂

时间复杂度

矩阵组装:O(n⋅pd⋅ngauss​),d为维度
求解:O(n3)直接,O(n1.5)迭代(稀疏化后)

空间复杂度

存储矩阵:O(n2)稠密,O(npd)稀疏(带带宽)

优点

几何精确,高连续性,简化网格生成,适合形状优化

缺点

矩阵稠密,实现复杂,局部细化困难(T样条可解决)

适用类型

精确几何分析,高阶问题,流固耦合,形状优化

21. 等几何分析扩展与先进方法

项目

详细说明

局部细化技术

T样条:允许T型节点,实现局部细化而不影响整体连续性
LR B样条:通过插入网格线实现局部细化,保持分区性
PHT样条:多项式样条,允许局部加细,C1连续
Hierarchical B样条:层次化B样条,支持局部细化

高阶连续性应用

基函数Cp−1连续,p为阶数
板壳分析:Kirchhoff-Love壳理论需要C1连续性,IGA天然满足
流固耦合:高连续性减少流体边界层数值振荡
梯度材料:平滑材料分布需要高连续性形状函数

CAD/CAE一体化

直接从CAD模型进行分析,无需网格生成,避免几何近似误差
等几何边界元法:将IGA与边界元结合,降低维度
等几何形状优化:设计变量为控制点坐标,灵敏度分析连续

并行计算策略

域分解:将参数域分解为子域,每个处理器负责一个子域
矩阵组装并行:每个单元或节点独立计算,然后组装
求解器并行:并行直接求解器(MUMPS, SuperLU)或迭代求解器(PETSc)

误差估计与自适应

基于残差的误差估计:计算残差和跳跃项
基于恢复的误差估计:Zienkiewicz-Zhu误差估计
自适应细化:根据误差估计局部加细控制网格
hp自适应:同时调整单元大小h和阶数p

多物理场耦合

热-力耦合:温度场和位移场使用相同NURBS基函数
流-固耦合:流体和固体共享界面,几何精确匹配
压电耦合:电势和位移场耦合,高连续性有益

与机器学习结合

物理信息神经网络:将NURBS基函数与神经网络结合
代理模型:用IGA高保真模拟训练降阶模型或代理模型
参数化优化:控制点作为设计变量,神经网络加速优化

计算瓶颈

矩阵稠密:传统B样条导致全局支撑,矩阵稠密
数值积分成本:有理函数积分需要更多高斯点
条件数大:高阶基函数导致矩阵条件数大,需预处理
局部细化复杂:传统B样条全局细化,T样条等可局部细化但算法复杂

实际应用领域

汽车/航空航天:薄壁结构分析,形状优化
生物医学:血管支架,骨骼植入物设计
海洋工程:船体流体分析,水弹性
微机电系统:微传感器/执行器设计

22. 数据驱动的力学建模方法

项目

详细说明

物理信息神经网络

PINN架构:神经网络u(x;θ)近似解,损失函数包含PDE残差和边界条件
损失函数:L=LPDE​+LBC​+LIC​+LData​
其中LPDE​=∥N[u]−f∥2,LBC​=∥B[u]−g∥2
自动微分计算PDE中的导数

本构模型的数据驱动

数据驱动本构:直接从实验数据学习应力-应变关系,无需假设本构形式
神经网络本构:σ=NN(ϵ,ϵ˙,T,...;θ)
训练数据:实验或高保真模拟数据
物理约束:满足热力学一致性,材料对称性等

降阶模型

本征正交分解:提取主导模态,构建低维空间
POD-Galerkin:在低维空间求解PDE
非线性降阶:自编码器,流形学习
实时仿真,参数化研究,优化设计

代理模型

高斯过程回归:提供预测和不确定性量化
径向基函数:插值/拟合高维数据
深度神经网络:复杂非线性映射
替代昂贵高保真模型,用于优化,不确定性量化

强化学习控制

状态:力学系统状态(位置,速度,应力等)
动作:控制输入(力,位移,温度等)
奖励:目标函数(稳定性,效率,损伤最小等)
训练智能体学习控制策略,适应未知扰动

生成模型

生成对抗网络:生成微观结构,材料设计
变分自编码器:学习潜在空间,生成新设计
扩散模型:生成复杂微结构,多物理场数据

符号回归

从数据中发现物理定律的数学表达式
遗传编程,稀疏回归
发现新材料本构,简化复杂模型

23. 哈密顿蒙特卡洛方法(HMC)

项目

详细说明

表示方法

目标:从概率分布 p(q)∝exp(−U(q))中采样,其中 U(q)为势能。
扩展相空间:引入动量变量 p,构造哈密顿量 H(q,p)=U(q)+K(p),其中 K(p)=pTM−1p/2。
分布:π(q,p)∝exp(−H(q,p))=exp(−U(q))exp(−K(p)),即 q和 p独立,p服从高斯分布。

构建方法

1. 初始化 q0​。
2. 对每个样本:
a. 从正态分布采样动量:p∼N(0,M)。
b. 从当前状态 (q,p)出发,沿哈密顿动力学轨迹演化 L步,步长 ϵ,得到候选状态 (q∗,p∗)。数值积分常用蛙跳法。
c. 以概率 min(1,exp(−H(q∗,p∗)+H(q,p)))接受候选状态。
d. 如果接受,qnew​=q∗;否则 qnew​=q。

数值积分

蛙跳法保持辛结构:
p(t+ϵ/2)=p(t)−(ϵ/2)∇q​U(q(t))
q(t+ϵ)=q(t)+ϵM−1p(t+ϵ/2)
p(t+ϵ)=p(t+ϵ/2)−(ϵ/2)∇q​U(q(t+ϵ))
注意:p和 q交替更新,需要梯度 ∇q​U(q)。

调参

步长 ϵ:影响接受率,通常调整使接受率在65%左右。
轨迹长度 L:控制每次模拟的步数,与自相关相关。
质量矩阵 M:通常取为单位阵,也可自适应调整。

应用场景

贝叶斯统计,统计物理,机器学习(贝叶斯神经网络,采样后验分布)

依赖条件

软件:概率编程库(Stan, PyMC3),自定义实现
硬件:CPU/GPU,需要梯度计算
数据:目标分布的对数密度及其梯度

算法思想

利用哈密顿动力学在相空间中探索,动量变量帮助跨越能垒,提高采样效率。

理论依据

哈密顿力学,马尔可夫链蒙特卡洛,细致平衡条件。

算法特性

利用梯度信息,避免随机游走,有效采样高维空间,但需计算梯度,步长和步数需调节。

时间复杂度

每次迭代:O(L⋅梯度计算),梯度计算通常为 O(n)或更高。

空间复杂度

存储位置和动量:O(n),梯度计算可能需要额外存储。

优点

比传统MCMC效率高,尤其在高维空间;避免随机游走,相关度低。

缺点

需要梯度,对步长敏感,需调节参数,可能遇到能垒。

适用类型

连续变量,可微目标分布,高维采样。

24. 随机微分方程数值方法

项目

详细说明

表示方法

伊藤型SDE:dXt​=a(Xt​,t)dt+b(Xt​,t)dWt​,其中 Wt​是维纳过程。
斯特拉诺维奇型:dXt​=a(Xt​,t)dt+b(Xt​,t)∘dWt​。
离散时间:Xtn+1​​=Xtn​​+∫tn​tn+1​​a(Xs​,s)ds+∫tn​tn+1​​b(Xs​,s)dWs​。

构建方法

1. 选择数值格式(欧拉-丸山,米尔斯坦等)。
2. 生成布朗运动增量 ΔWn​∼N(0,Δt)。
3. 迭代计算 Xn+1​。

欧拉-丸山

Xn+1​=Xn​+a(Xn​,tn​)Δt+b(Xn​,tn​)ΔWn​。
强收敛阶0.5,弱收敛阶1。简单但精度低。

米尔斯坦

Xn+1​=Xn​+an​Δt+bn​ΔWn​+21​bn​bn′​(ΔWn2​−Δt),其中 bn′​=∂x∂b​(Xn​,tn​)。
强收敛阶1.0,弱收敛阶1。需要导数。

龙格-库塔型

例如二阶龙格-库塔:
Xn+1​=Xn​+an​Δt+bn​ΔWn​+2Δt​1​(b(Yn​)−bn​)(ΔWn2​−Δt),
其中 Yn​=Xn​+an​Δt+bn​Δt​。
避免计算导数。

应用场景

金融工程,随机控制,物理中的涨落,生物系统中的噪声。

依赖条件

软件:SDE求解器,随机数生成库
硬件:CPU,内存 O(n)
数据:漂移系数 a,扩散系数 b,初始条件,噪声强度。

算法思想

用离散时间近似连续随机过程,需要处理随机积分的近似。

理论依据

伊藤积分,随机分析,数值分析。

算法特性

强收敛和弱收敛,数值稳定性,可能产生负值(如金融中价格)。

时间复杂度

每步:O(1)每变量,但需要生成随机数。

空间复杂度

存储状态:O(n),可能存储多个随机路径。

优点

简单实现,扩展了确定性ODE方法。

缺点

收敛阶低,可能不稳定,需要小心处理。

适用类型

带有随机噪声的动力学系统。

25. 不可压缩流体Navier-Stokes方程求解

项目

详细说明

表示方法

Navier-Stokes方程:
∂t∂u​+(u⋅∇)u=−ρ1​∇p+ν∇2u+f
连续性方程:∇⋅u=0
边界条件:无滑移,滑移,入口,出口,自由面等。

构建方法

空间离散:有限差分,有限体积,有限元,谱方法。
时间离散:投影法,SIMPLE,PISO,分数步法。
压力泊松方程:∇2p=Δtρ​∇⋅u∗,其中 u∗是中间速度。

投影法

1. 计算中间速度(忽略压力梯度):Δtu∗−un​=−(un⋅∇)un+ν∇2un+f。
2. 求解压力泊松方程:∇2pn+1=Δtρ​∇⋅u∗。
3. 投影速度:un+1=u∗−ρΔt​∇pn+1。

SIMPLE算法

用于稳态问题,迭代求解:
1. 假设压力场,求解动量方程得速度估计。
2. 求解压力修正方程,使速度满足连续性。
3. 更新压力和速度。
4. 重复直到收敛。

有限体积法

控制体积分,守恒性好。对流项离散:一阶迎风,二阶中心,QUICK等。扩散项离散:中心差分。压力-速度耦合:交错网格(避免棋盘压力场)。

应用场景

计算流体力学,空气动力学,水动力学,生物流体,微流体。

依赖条件

软件:CFD软件(OpenFOAM, ANSYS Fluent, COMSOL),自定义求解器。
硬件:CPU/GPU集群,内存大。
数据:几何,网格,边界条件,物性参数。

算法思想

质量守恒,动量守恒,压力作为拉格朗日乘子强制不可压缩条件。

理论依据

流体力学,偏微分方程,数值分析。

算法特性

非线性,耦合,压力-速度耦合是难点,对流项可能导致数值不稳定。

时间复杂度

每步:O(n)到 O(nlogn)(如果使用快速泊松求解器)。
总:O(Nsteps​⋅n)。

空间复杂度

存储速度,压力,临时变量:O(n)。

优点

物理守恒性好,多种离散格式,成熟软件。

缺点

压力-速度耦合复杂,对流项处理困难,高雷诺数需要湍流模型。

适用类型

不可压缩流体,层流和湍流,多相流。

26. 可压缩流体Euler/N-S方程求解

项目

详细说明

表示方法

守恒形式:∂t∂U​+∇⋅F(U)=0,其中 U=[ρ,ρu,ρv,ρw,E]T。
通量:F=[ρu,ρu2+p,ρuv,ρuw,u(E+p)]T等。
状态方程:p=(γ−1)(E−21​ρu2)。

构建方法

空间离散:有限体积法,通量差分分裂,通量向量分裂,有限差分WENO。
时间离散:显式(Runge-Kutta),隐式(LU-SGS,GMRES)。
通量计算:Roe,van Leer,AUSM,HLLC等近似黎曼解算器。

有限体积法

对控制体 i:dtdUi​​=−Vi​1​∑faces​Fface​⋅Aface​。
通量 Fface​通过界面左右状态 UL​,UR​计算。

近似黎曼解算器

Roe平均:U^=U^(UL​,UR​),使 FR​−FL​=A^(UR​−UL​)。
通量:$\mathbf{F} = \frac{1}{2}[\mathbf{F}L + \mathbf{F}R -

时间积分

显式:多步Runge-Kutta,如三阶TVD RK3:
U(1)=Un+ΔtL(Un)
U(2)=43​Un+41​U(1)+41​ΔtL(U(1))
Un+1=31​Un+32​U(2)+32​ΔtL(U(2))
隐式:求解非线性系统,牛顿迭代,近似因式分解。

应用场景

空气动力学,航天,涡轮机械,高超声速,激波捕捉。

依赖条件

软件:CFD软件(SU2, OpenFOAM, ANSYS Fluent),自定义代码。
硬件:CPU/GPU集群,内存大。
数据:几何,网格,边界条件,初始条件,气体参数。

算法思想

守恒型离散,通量计算是关键,激波捕捉需高分辨率格式。

理论依据

气体动力学,双曲守恒律,黎曼问题,数值格式(TVD, ENO, WENO)。

算法特性

非线性强,可能出现激波,接触间断,膨胀波,需格式稳定且高分辨率。

时间复杂度

每步:O(n),通量计算和限制器可能昂贵。
总:O(Nsteps​⋅n)。

空间复杂度

存储守恒变量,通量,梯度等:O(n)。

优点

守恒性好,可捕捉激波,多种格式可选。

缺点

计算量大,高分辨率格式复杂,湍流模拟需模型。

适用类型

可压缩流动,亚声速到高超声速,激波,膨胀波。

27. 边界元法

项目

详细说明

表示方法

对控制方程(如拉普拉斯方程,弹性力学)建立边界积分方程。
例如位势问题:c(p)u(p)=∫Γ​u(q)∂n∂G(p,q)​dΓ−∫Γ​∂n∂u(q)​G(p,q)dΓ,其中 G是基本解,c(p)是几何系数。

构建方法

1. 将边界离散为单元(常数,线性,二次等)。
2. 在单元上插值边界变量(u和 ∂u/∂n)。
3. 将积分方程离散为线性系统 Hu=Gq,其中 q=∂u/∂n。
4. 施加边界条件(已知 u或 q),求解得到未知边界值。
5. 内部点值通过积分方程计算。

基本解

拉普拉斯方程(2D):G=2π1​ln(r1​)
拉普拉斯方程(3D):G=4πr1​
弹性力学(2D):Kelvin解
弹性力学(3D):Kelvin解

数值积分

奇异积分:当 p在积分单元上时,G或 ∂G/∂n奇异,需特殊处理(极坐标变换,奇异积分公式)。
近奇异积分:当 p接近积分单元但不重合,需细分单元或高精度积分。

快速多极法

加速矩阵向量乘,将 O(n2)降为 O(n)或 O(nlogn)。
基本思想:将基本解多极展开,远场相互作用通过展开系数计算。

应用场景

位势问题,弹性力学,声学,电磁学,断裂力学。

依赖条件

软件:边界元库(BEM++, FastBEM),自定义代码。
硬件:CPU,内存 O(n2)稠密矩阵,快速多极法可降内存。
数据:边界网格,边界条件,基本解。

算法思想

将问题从域降至边界,只需边界离散,适合无限域问题。

理论依据

积分方程,基本解,边界积分方程。

算法特性

降维,精度高,适合无限域,但矩阵稠密,非线性问题处理复杂。

时间复杂度

传统:矩阵组装 O(n2),求解 O(n3)。
快速多极:组装和求解 O(n)或 O(nlogn)。

空间复杂度

传统:存储稠密矩阵 O(n2)。
快速多极:O(n)。

优点

只需边界离散,适合无限域,精度高,后处理简单。

缺点

矩阵稠密,不对称,非线性问题不便,基本解需已知。

适用类型

线性问题,无限域,位势,弹性,声学,断裂。

28. 虚拟区域法(浸入边界法)

项目

详细说明

表示方法

流体在欧拉网格上求解,固体用拉格朗日点表示,通过狄拉克函数耦合。
流体方程:ρ(∂t∂u​+u⋅∇u)=−∇p+μ∇2u+f,∇⋅u=0。
力:f(x,t)=∫Γ​F(s,t)δ(x−X(s,t))ds,其中 F是固体对流体的力。
固体运动:∂t∂X​=∫Ω​u(x,t)δ(x−X(s,t))dx。

构建方法

1. 求解流体方程(投影法,有限体积等),得到预测速度。
2. 从固体构形计算力密度 F(s,t)(如弹簧力,固体应力)。
3. 将力从拉格朗日点分布到流体网格:f(x,t)=∑s​F(s,t)δh​(x−X(s,t))Δs。
4. 用分布后的力修正流体速度。
5. 更新固体位置:Xn+1=Xn+Δt∑x​u(x,t)δh​(x−Xn)Δx。

狄拉克函数近似

连续:δ(x)=∏i=1d​ϕ(xi​),其中 ϕ满足性质。
常用:$\phi(r) = \begin{cases} \frac{1}{4}(1 + \cos(\frac{\pi r}{2})), &

力计算

弹性力:F=∂s∂​(Tτ),T张力,τ切向。
弹簧力:F=k(X−X0​)。
固体应力:从固体本构计算。

应用场景

生物流体(心脏瓣膜,血液流动),纤维悬浮,颗粒流,流固耦合。

依赖条件

软件:浸入边界代码(IBAMR, immerseFoam),自定义。
硬件:CPU/GPU,内存 O(Nf​+Ns​)。
数据:流体网格,固体点,固体力模型,流体和固体参数。

算法思想

流体在欧拉网格,固体用拉格朗日点,通过光滑的狄拉克函数交换信息。

理论依据

流体-结构相互作用,分布力,光滑函数近似。

算法特性

无需贴体网格,固体大变形容易,但力分布和插值引入数值扩散,边界层分辨率低。

时间复杂度

每步:O(Nf​logNf​)(如果流体用快速泊松求解器) + O(Ns​)。
总:O(Nsteps​(Nf​logNf​+Ns​))。

空间复杂度

存储流体变量:O(Nf​),固体点:O(Ns​)。

优点

无需网格重构,处理大变形和复杂运动,实现相对简单。

缺点

边界层分辨率低,力分布和插值光滑,时间步长受限。

适用类型

流固耦合,大变形,复杂运动,生物流体。

29. 光滑粒子流体动力学(SPH)的高级专题

项目

详细说明

核函数改进

高阶核函数:提高精度,但计算量大。
Wendland核:紧支,正定,常用于粒子方法。
核函数归一化:校正核函数使其满足归一化和导数性质。

密度估计

求和密度:ρi​=∑j​mj​Wij​,但边界处低估。
连续密度:ρi​=mi​∑j​Wij​,但边界处高估。
密度扩散:添加密度扩散项,如dtdρi​​=∑j​mj​(uj​−ui​)⋅∇Wij​。

压力计算

状态方程:P=P0​[(ρ/ρ0​)γ−1],其中γ=7常用于水。
不可压缩:使用投影法,求解压力泊松方程。

人工粘度

引入耗散抑制震荡:
\Pi_{ij} = \begin{cases} -\alpha \bar{c}_{ij} \mu_{ij} + \beta \mu_{ij}^2}{\bar{\rho}_{ij}} & \mathbf{v}_{ij} \cdot \mathbf{r}_{ij} < 0 \\ 0 & \text{otherwise} \end{cases}
其中μij​=hvij​⋅rij​/(rij2​+0.01h2),cˉij​是平均声速,ρˉ​ij​是平均密度。

表面张力

CSF模型:fs​=σκnδs​,其中σ是表面张力系数,κ是曲率,n是法向,δs​是表面狄拉克函数。
SPH实现:fi​=−σ∑j​ρj​mj​​κj​∇Wij​,其中κi​=−∑j​ρj​mj​​nj​⋅∇Wij​,ni​=∑j​ρj​mj​​∇Wij​。

边界处理

虚粒子:在边界外布置虚粒子,对内部粒子施加排斥力。
边界力:Lennard-Jones力,或边界粒子参与求和。
镜像粒子:内部粒子在边界外生成镜像,用于密度和压力计算。

时间积分

预测-校正:预测步用显式,校正步用隐式压力求解。
辛格式:保持能量守恒,如Leapfrog。
自适应时间步长:根据CFL条件,力,粘性,表面张力限制。

并行计算

域分解:空间划分,每个处理器负责子域,边界交换粒子。
GPU加速:粒子方法适合GPU,邻居搜索用空间网格。

应用场景

自由表面流,水波,破碎波,多相流,天体物理,金属成型。

30. 计算固体力学中的非线性问题

项目

详细说明

几何非线性

大变形,大转动,应变度量:格林-拉格朗日应变 E=21​(FTF−I)。
应力度量:第二类Piola-Kirchhoff应力 S,与材料本构相关。
平衡方程:参考构型下 ∇X​⋅(FS)+b0​=0。
数值:总拉格朗日格式,更新拉格朗日格式。

材料非线性

弹塑性:屈服条件(von Mises, Tresca),流动法则(关联,非关联),硬化规律(各向同性,随动)。
超弹性:应变能函数(Neo-Hookean, Mooney-Rivlin, Ogden)。
粘弹性:应力松弛,蠕变。

接触非线性

两个或多个物体接触,接触条件:不可穿透,库仑摩擦。
数学规划,拉格朗日乘子,罚函数。
数值:主动集法,内点法,罚函数法。

求解方法

牛顿-拉弗森迭代:KT(i)​Δu(i)=fext​−fint(i)​,u(i+1)=u(i)+Δu(i)。
修正的牛顿法:KT​不每步更新,收敛慢但每步便宜。
弧长法:跟踪平衡路径,越过极值点。

单元技术

大变形单元:避免剪切锁定,体积锁定。
减缩积分,杂交元,非协调元。
实体壳单元,连续壳单元。

应用场景

金属成型,橡胶部件,生物软组织,接触问题,断裂。

31. 多物理场耦合方法

项目

详细说明

强耦合

所有物理场同时求解,单一系统:[A11​A21​​A12​A22​​][x1​x2​​]=[b1​b2​​]。
优点:耦合好,收敛快。
缺点:系统大,不同物理场尺度不同,实现复杂。

弱耦合

分别求解各物理场,传递边界条件,迭代直到收敛。
优点:模块化,可用现有求解器。
缺点:可能收敛慢,不稳定。

分区耦合

将域分解为子域,分别求解,在界面匹配条件。
Dirichlet-Neumann:一个子域给位移,另一个给力。
Neumann-Neumann,Robin-Robin。
并行计算。

流固耦合

流体:Navier-Stokes方程,固体:弹性方程。
界面条件:位移连续,应力连续,速度连续。
方法:任意拉格朗日-欧拉(ALE),浸入边界,虚拟区域。

热-力耦合

温度场影响位移(热膨胀),变形影响温度(热耗散)。
能量方程和动量方程耦合。
顺序耦合:先解温度,再解应力;或迭代。

压电耦合

电场和机械场耦合。
本构:σ=Cϵ−eTE,D=eϵ+κE。
控制方程:力学平衡和电学高斯定律耦合。

应用场景

航空航天(气动弹性),微机电系统,生物医学,地热,核反应堆。

32. 不确定性量化

项目

详细说明

随机输入

材料属性,几何,载荷等有不确定性,建模为随机变量或随机场。

蒙特卡洛

采样随机输入,多次确定性模拟,统计输出。
优点:简单,并行,对维数不敏感。
缺点:收敛慢 O(1/N​)。

多项式混沌展开

随机响应展开为正交多项式:u(x,ξ)=∑α​cα​(x)Ψα​(ξ),其中 ξ是随机变量,Ψ是正交多项式(如Hermite, Legendre)。
系数 cα​通过伽辽金或回归确定。
优点:收敛快,但高维时项数爆炸。

随机有限元

将随机场离散(Karhunen-Loève展开),然后伽辽金离散。
系统:∑j​Kij​uj​=fi​,其中 K和 f随机,解随机。

灵敏度分析

局部:导数 ∂u/∂ξi​。
全局:方差分解,Sobol指数。
Morris法,EFAST。

可靠性分析

失效概率:Pf​=P[g(X)<0],其中 g是极限状态函数。
一次可靠度方法:寻找最可能点,近似为线性。
二次可靠度方法:考虑曲率。

应用场景

风险评估,可靠性设计,优化,验证与确认。

总结

牛顿力学的数值算法形成了从微观到宏观、从离散到连续、从传统到数据驱动的完整体系:

  1. 算法发展脉络

    • 基本数值积分:欧拉法→Runge-Kutta→多步法→辛积分

    • 多体系统:质点点→刚体→柔性多体

    • 连续介质:有限元→无网格→等几何

    • 粒子方法:分子动力学→离散元→光滑粒子流体动力学

    • 数据驱动:传统物理模型→数据增强→纯数据驱动

  2. 核心挑战

    • 精度与效率的平衡

    • 大变形与网格畸变

    • 多尺度与多物理场耦合

    • 不确定性量化与鲁棒性

    • 计算成本与实时性

  3. 未来趋势

    • 人工智能与传统力学融合

    • 量子计算在力学中的应用

    • 数字孪生与实时仿真

    • 多物理场-多尺度统一框架

    • 开源软件与标准化

  4. 选择建议

    • 小变形静力学:传统

牛顿力学数值算法涵盖了从基本的质点积分到复杂的多体接触模拟。关键点包括:

  1. 积分方法选择

    • 显式方法:简单,有条件稳定

    • 隐式方法:无条件稳定,但需解方程

    • 辛方法:长期稳定性,适合保守系统

    • 自适应步长:平衡精度和效率

  2. 约束处理

    • 罚函数法:简单但刚度大

    • 拉格朗日乘子:精确但计算量大

    • 投影法:几何直观

  3. 碰撞检测

    • 宽阶段/窄阶段分层

    • GJK:凸体高效检测

    • SAT:简单几何快速检测

    • CCD:避免隧穿

  4. 刚体旋转

    • 四元数:无奇异性,推荐

    • 旋转矩阵:直观但需正交化

    • 李群积分:几何精确

  5. 大规模计算

    • 快速多体算法:Barnes-Hut, FMM

    • 并行计算:域分解,负载平衡

    • 稀疏求解:直接法/迭代法

选择算法需考虑:

  • 问题规模

  • 精度要求

  • 稳定性需求

  • 计算资源

  • 实现复杂度

这些算法构成了计算物理学、计算机图形学、游戏物理引擎、分子动力学模拟等领域的核心基础。

三维空间内的力生成能力分布矩阵:数学理论与计算框架

一、基本概念与数学框架

1.1 力生成能力分布张量的定义

定义:在三维连续介质中,肌肉的力生成能力分布是一个二阶张量场,描述了在空间每一点x处,沿任意方向n的单位面积上可产生的最大主动力。

数学表示

Σ(x) = ∫_Ω ρ(x,θ,φ) P(θ,φ) ⊗ P(θ,φ) dΩ

其中:

  • Σ(x):力生成能力分布张量(单位:N/m² 或 Pa)

  • ρ(x,θ,φ):在位置x、沿(θ,φ)方向的纤维密度函数

  • P(θ,φ):沿(θ,φ)方向的单位向量

  • dΩ = sinθ dθ dφ:立体角微元

  • Ω:所有方向的积分域(球面)

1.2 张量分量的物理意义

张量分量

物理意义

数学表达式

量纲

Σ_11

x方向单位面积在x方向的最大力

Σ_xx = ∫ ρ cos²θ sin²φ dΩ

N/m²

Σ_12

x方向单位面积在y方向的力耦合

Σ_xy = ∫ ρ cosθ sinθ cosφ sinφ dΩ

N/m²

Σ_13

x方向单位面积在z方向的力耦合

Σ_xz = ∫ ρ cosθ sinθ sinφ dΩ

N/m²

特征值

主方向的最大力生成能力

λ_i (i=1,2,3)

N/m²

特征向量

力生成的主方向

v_i (i=1,2,3)

无单位

二、各向异性分布张量模型

2.1 纤维取向分布函数(ODF)

分布类型

数学表达式

参数数量

各向异性程度

生理对应

单轴取向

ρ(θ,φ) = δ(θ-θ₀)δ(φ-φ₀)

2

完全各向异性

平行肌纤维

双轴取向

ρ(θ,φ) = Σ w_iδ(θ-θ_i)δ(φ-φ_i)

2×N

高度各向异性

羽状肌

横观各向同性

ρ(θ,φ) = f(θ)

1-3

中度各向异性

单向肌束

正交各向异性

ρ(θ,φ) = f(θ,φ) 具有正交对称性

3-6

三向各向异性

交叉肌纤维

部分各向同性

ρ(θ,φ) = αf_iso + (1-α)f_aniso(θ,φ)

2-4

部分各向同性

混合组织

横观各向同性ODF示例

ρ(θ,φ) = (κ/4π sinh κ) exp(κ cosθ)
其中:
θ:与主方向的夹角
κ:集中参数(κ=0:各向同性;κ→∞:完全对齐)
归一化:∫_Ω ρ(θ,φ)dΩ = 1

2.2 力生成能力张量的计算

离散形式

Σ_ij = Σ_{k=1}^N w_k ρ_k (P_k)_i (P_k)_j
其中:
w_k:第k个方向的权重
ρ_k:第k个方向的纤维密度
(P_k)_i:第k个方向向量的第i个分量
N:离散方向数

连续形式

Σ_ij = ∫_0^π ∫_0^{2π} ρ(θ,φ) P_i(θ,φ) P_j(θ,φ) sinθ dφ dθ
其中:
P(θ,φ) = [sinθ cosφ, sinθ sinφ, cosθ]^T

2.3 特殊分布的解析解

分布类型

力生成能力张量Σ

特征值

特征向量

备注

各向同性

Σ = σ_iso I

λ₁=λ₂=λ₃=σ_iso

任意正交基

无方向性

横观各向同性

Σ = σ∥ n⊗n + σ⊥ (I - n⊗n)

λ₁=σ∥, λ₂=λ₃=σ

v₁=n, v₂⊥n, v₃⊥n

单向对齐

平面各向同性

Σ = σ_p (I - m⊗m) + σ_m m⊗m

λ₁=λ₂=σ_p, λ₃=σ_m

v₃=m(平面法向)

平面内各向同性

正交各向异性

Σ = Σ_i σ_i e_i⊗e_i

λ_i=σ_i

v_i=e_i

三向异性

三、连续介质力学框架

3.1 变形几何与纤维重定向

变形梯度

F = ∂x/∂X = I + ∂u/∂X
J = det(F) > 0

纤维方向变换

参考构型:N(X) (单位向量)
当前构型:n(x) = F·N / |F·N|
纤维拉伸比:λ = |F·N|

纤维方向结构张量

参考构型:A₀ = N⊗N
当前构型:a = n⊗n = (F·A₀·F^T) / λ²

3.2 变形相关的力生成能力

力生成能力随拉伸变化

Σ(F) = Σ_0 : 力生成能力不随变形变化(简单情况)
Σ(F) = f(λ) Σ_0 : 力生成能力随拉伸变化
其中f(λ)通常满足:
1. f(1) = 1
2. f(λ)在λ=λ_opt时最大
3. f(λ)在λ→0或λ→∞时→0

典型力-长度关系函数

高斯型:f(λ) = exp[-( (λ-1)/w )²]
多项式型:f(λ) = 1 - α(λ-1)²
分段线性:f(λ) = 分段线性函数
实验拟合:f(λ) = 基于实验数据的拟合函数

3.3 主动应力生成

激活相关的力生成能力

Σ_active(x,t) = a(x,t) Σ_max(x) f_l(λ(x,t)) f_v(λ̇(x,t))
其中:
a(x,t) ∈ [0,1]:局部激活水平
Σ_max(x):最大力生成能力张量
f_l(λ):力-长度关系
f_v(λ̇):力-速度关系
λ̇ = dλ/dt:拉伸率

力-速度关系

向心收缩(λ̇ < 0):
f_v(λ̇) = (v_max - |λ̇|)/(v_max + k|λ̇|)

离心收缩(λ̇ > 0):
f_v(λ̇) = (F_max + b|λ̇|)/(F_max + c|λ̇|)

其中:
v_max:最大收缩速度
F_max:最大离心力
k, b, c:拟合参数

四、多尺度建模方法

4.1 微观-宏观关联

尺度

建模方法

关键参数

与宏观关联

计算复杂度

分子尺度

横桥动力学

横桥密度、附着率

主动应力

极高

肌节尺度

半肌节模型

肌节长度、粗细丝重叠

力-长度关系

肌纤维尺度

纤维束模型

纤维方向、激活波传播

力生成方向性

肌束尺度

连续介质

纤维密度、取向分布

力生成能力张量

中低

组织尺度

连续介质

力生成张量、材料参数

宏观力学响应

均质化方法

宏观应力:⟨σ⟩ = 1/V ∫_V σ(x) dV
宏观应变:⟨ε⟩ = 1/V ∫_V ε(x) dV
力生成能力张量:⟨Σ⟩ = 1/V ∫_V Σ(x) dV

代表性体积元(RVE)方法

  1. 定义RVE,包含代表性微观结构

  2. 施加宏观变形梯度F̄

  3. 求解微观边值问题

  4. 计算宏观应力:σ̄ = 1/V ∫_∂RVE t⊗x dA

  5. 建立宏观本构关系:σ̄ = σ̄(F̄, Σ)

4.2 纤维取向分布的统计分析

统计量

数学定义

物理意义

测量方法

取向张量

A_ij = ⟨n_i n_j⟩

纤维取向的统计平均

成像分析

赫西-鲁斯参数

a_i (i=1,2,3)

取向分布的椭圆参数

扩散张量成像

取向顺序参数

S = (3⟨cos²θ⟩-1)/2

取向有序度

小角散射

分散指数

κ = 1/⟨sin²θ⟩

取向集中度

统计分析

取向张量计算

A = ∫_Ω ρ(θ,φ) n⊗n dΩ
其中n(θ,φ) = [sinθ cosφ, sinθ sinφ, cosθ]^T

特征值分解

A = λ₁ e₁⊗e₁ + λ₂ e₂⊗e₂ + λ₃ e₃⊗e₃
λ₁ + λ₂ + λ₃ = 1
主方向:e₁(最大特征值对应方向)
各向异性程度:λ₁ - λ₃

五、数值计算方法

5.1 有限元离散化

弱形式

∫_V δu·ρü dV + ∫_V δE:S dV = ∫_V δu·b dV + ∫_∂V δu·t dA
其中:
δu:虚位移
δE:虚应变
S:第二类Piola-Kirchhoff应力

力生成能力张量的有限元表示

Σ_e = Σ_{I=1}^{N_e} Σ_I N_I(ξ,η,ζ)
其中:
Σ_I:节点I的力生成能力张量
N_I:形函数
(ξ,η,ζ):自然坐标

5.2 数值积分方案

积分方法

积分点

权值

精度

计算量

适用元素

高斯积分

高斯点

高斯权

六面体、四边形

牛顿-科特斯

等距点

等权

规则形状

哈默尔积分

特殊点

特殊权

四面体

降阶积分

较少点

调整权

避免自锁

选择性减缩积分

变点数

变权

不可压缩材料

高斯积分公式

∫_Ω f(x) dΩ ≈ Σ_{i=1}^{N_gp} w_i f(x_i)
其中:
x_i:高斯点坐标
w_i:高斯权值
N_gp:高斯点数

5.3 力生成能力插值

插值方法

数学形式

连续性

计算量

适用场景

线性插值

Σ(x) = Σ_I N_I(x) Σ_I

C⁰连续

简单问题

二次插值

Σ(x) = Σ_I N_I(x) Σ_I

C⁰连续

光滑场

三次样条

分段三次多项式

C²连续

高精度

径向基函数

Σ(x) = Σ_i φ(

x-x_i

克里金插值

统计最优插值

统计最优

有噪声数据

线性插值(四面体单元)

Σ(x) = N₁(ξ,η,ζ)Σ₁ + N₂(ξ,η,ζ)Σ₂ + N₃(ξ,η,ζ)Σ₃ + N₄(ξ,η,ζ)Σ₄
其中:
N₁ = 1-ξ-η-ζ, N₂ = ξ, N₃ = η, N₄ = ζ
ξ,η,ζ ∈ [0,1], ξ+η+ζ ≤ 1

六、实验测量与参数识别

6.1 力生成能力张量的测量方法

测量技术

测量原理

空间分辨率

可测参数

局限性

扩散张量成像(DTI)

水分子扩散各向异性

1-3 mm

纤维方向、分数各向异性

间接测量、需标定

超声剪切波弹性成像

剪切波传播速度

1-2 mm

刚度、各向异性

表面测量

磁共振弹性成像(MRE)

外部激励下的波动传播

2-5 mm

剪切模量、各向异性

需外部激励

光学相干断层扫描

光干涉、偏振敏感

10-100 μm

纤维方向、双折射

穿透深度浅

小角X射线散射

X射线散射图案

0.1-1 mm

胶原纤维取向

需同步辐射

双光子显微镜

二次谐波生成

0.5-1 μm

胶原纤维结构

穿透深度有限

力学测试+成像

拉伸测试+成像跟踪

0.1-1 mm

应力-应变、纤维重定向

离体测试

6.2 参数识别算法

最大似然估计框架

θ̂ = argmax_θ L(θ|D) = argmax_θ Π_{i=1}^N p(D_i|θ)
其中:
θ = {Σ_max, 分布参数, ...}
D = {测量数据}
p(D_i|θ):似然函数

贝叶斯推断

p(θ|D) ∝ p(D|θ) p(θ)
后验分布:p(θ|D)
先验分布:p(θ)(生理约束)
似然函数:p(D|θ)(测量模型)

马尔可夫链蒙特卡洛采样

1. 初始化θ⁰
2. 对于i=1到N:
   a. 从提议分布q(θ*|θ^{i-1})采样θ*
   b. 计算接受率α = min(1, p(θ*|D)/p(θ^{i-1}|D))
   c. 以概率α接受θ^i = θ*,否则θ^i = θ^{i-1}
3. 从采样链中估计后验统计量

6.3 力生成能力张量的特征提取

特征量

数学定义

物理意义

取值范围

迹(Tr)

Tr(Σ) = Σ_11 + Σ_22 + Σ_33

总力生成能力

0~∞

各向异性指数

FA = √[3/2

Σ'

主方向

最大特征值对应特征向量

最大力生成方向

单位向量

偏度

特征值分布的不对称性

方向偏好程度

-1~1

峰度

特征值分布的尖锐度

方向集中程度

>0

分数各向异性(FA)

FA = √[ (3/2) * ( (λ₁-λ̄)² + (λ₂-λ̄)² + (λ₃-λ̄)² ) / (λ₁²+λ₂²+λ₃²) ]
其中:
λ_i:Σ的特征值
λ̄ = (λ₁+λ₂+λ₃)/3

七、在机器人控制中的应用

7.1 肌肉力分配问题

优化问题

最小化:J = 1/2 Σ_i (a_i)^p
满足:τ = R(q)·(Σ·a)
约束:0 ≤ a_i ≤ 1
其中:
a = [a_1, ..., a_m]^T:激活向量
R(q):m×n力矩臂矩阵
τ:n维关节力矩向量
Σ:m×m力生成能力对角矩阵(简化情况)
p ≥ 1:优化指标(p=2:最小能量)

冗余问题的解

最小范数解:a = R^T (R R^T)^{-1} τ
加权最小范数:a = W^{-1} R^T (R W^{-1} R^T)^{-1} τ
其中W = diag(σ₁, ..., σ_m),σ_i为力生成能力

7.2 任务空间阻抗控制

基于力生成能力的阻抗控制

期望力:F_d = K_p (x_d - x) + K_d (ẋ_d - ẋ) + F_feedforward
关节力矩:τ = J^T F_d
肌肉激活:a = R^† τ
其中:
R^† = Σ^{-1} R^T (R Σ^{-1} R^T)^{-1}:加权伪逆
Σ = diag(σ₁, ..., σ_m):力生成能力矩阵

刚度映射

任务空间刚度:K_task
关节空间刚度:K_joint = J^T K_task J
肌肉空间刚度:K_muscle = R^T K_joint R
其中考虑力生成能力:K_muscle = Σ·diag(k_i)·Σ
k_i:第i块肌肉的刚度系数

7.3 学习型力分配

学习方法

学习目标

输入特征

输出

训练数据

实时性

监督学习

模仿人类激活模式

q, q̇, τ

a

运动捕捉+EMG

强化学习

最小化能耗/最大化表现

s = [q, q̇, 任务状态]

a

试错

逆强化学习

学习人类奖励函数

示范轨迹

奖励函数

示范

元学习

快速适应新任务

多任务数据

适应策略

多任务

模仿学习

模仿专家策略

状态-动作对

策略

专家数据

神经网络力分配器

输入:x = [q, q̇, τ_des, 任务上下文]
输出:a = NN(x; θ)
损失函数:L = ||τ_des - R(q)·(Σ·a)||² + λ||a||²
约束:0 ≤ a_i ≤ 1 (通过sigmoid激活函数)

八、高级模型与前沿发展

8.1 多物理场耦合模型

物理场

控制方程

耦合机制

数值方法

力学

∇·σ + b = ρü

主动应力

有限元法

电生理

∂V/∂t = ∇·(D∇V) + I_ion

电压-激活耦合

有限差分/有限元

扩散

∂c/∂t = ∇·(D∇c) + S

钙离子扩散

有限体积法

热力学

ρc_p ∂T/∂t = ∇·(k∇T) + q

产热-力学耦合

有限元法

电-力耦合模型

电压方程:∂V/∂t = ∇·(D∇V) - I_ion(V, c) + I_stim
钙动力学:dc/dt = f(V, c)
激活动力学:da/dt = g(V, a)
力学方程:∇·σ(u, a) + b = ρü
本构关系:σ = σ_passive(ε) + a σ_max f_l(λ) f_v(λ̇) (n⊗n)

8.2 力生成能力的动态变化

动态过程

时间尺度

数学模型

控制方程

疲劳

秒~分钟

Σ(t) = Σ_0 f_fatigue(t)

dΣ/dt = -αF + β(Σ_max - Σ)

适应

小时~天

Σ = Σ(训练历史)

dΣ/dt = γ(刺激 - Σ)

损伤/修复

天~周

Σ = Σ(损伤状态)

dD/dt = k_damage - k_repair

生长/重塑

周~月

Σ = Σ(力学环境)

dΣ/dt = k(ε - ε_target)

疲劳模型

瞬时力生成能力:Σ(t) = Σ_0 [α_f F_fast(t) + α_s F_slow(t)]
快肌疲劳:dF_fast/dt = -k_f F_fast·a + k_r (1 - F_fast)
慢肌疲劳:dF_slow/dt = -k_s F_slow·a + k_r (1 - F_slow)
恢复:k_r = k_r0 (1 - a)

8.3 非均匀、非稳态力生成

非均匀类型

数学模型

参数分布

对控制的影响

空间梯度

Σ(x) = Σ_0 + ∇Σ·x

线性梯度

力分布不对称

空间模式

Σ(x) = Σ_0 f(x/L)

函数模式

复杂力分布

时间调制

Σ(t) = Σ_0 (1 + A sin(ωt))

周期性

周期性力变化

随机涨落

Σ(t) = Σ_0 + ξ(t)

随机过程

控制噪声

时空变化模型

Σ(x,t) = Σ_0 [1 + α·g(x) + β·h(t)]
其中:
g(x) = sin(k·x) 或 其他空间模式
h(t) = 周期函数或随机过程
α, β:调制幅度

九、软件实现框架

9.1 开源软件工具

软件

主要功能

编程语言

肌肉建模能力

控制接口

OpenSim

肌肉骨骼建模与仿真

C++, Python API

Hill模型、详细肌肉

外部控制

FEBio

生物力学有限元

C++

超弹性肌肉、激活

用户定义

Artisynth

生物系统建模

Java, C++

Hill模型、FE肌肉

实时控制

SOFA

多物理场仿真

C++, Python

多种肌肉模型

插件系统

MuJoCo

物理仿真与控制

C, Python

简化肌肉模型

强化学习

MyoSim

横桥动力学

C++, Python

Huxley模型

外部调用

9.2 自定义实现示例

import numpy as np
from scipy.sparse import coo_matrix
from scipy.integrate import solve_ivp

class ForceGenerationTensor:
    """力生成能力分布张量类"""
    
    def __init__(self, mesh, fiber_directions, max_stress=100e3):
        """
        初始化力生成能力分布张量
        
        参数:
        mesh: 网格对象
        fiber_directions: 纤维方向场(每个积分点)
        max_stress: 最大主动应力 (Pa)
        """
        self.mesh = mesh
        self.fiber_directions = fiber_directions
        self.max_stress = max_stress
        self.num_points = len(fiber_directions)
        
        # 初始化力生成能力张量
        self.Sigma = np.zeros((self.num_points, 3, 3))
        
    def compute_tensor_field(self, activation=1.0, fl=1.0, fv=1.0):
        """
        计算力生成能力张量场
        
        参数:
        activation: 激活水平(标量或向量)
        fl: 力-长度因子
        fv: 力-速度因子
        """
        for i in range(self.num_points):
            n = self.fiber_directions[i]  # 纤维方向
            a = activation if np.isscalar(activation) else activation[i]
            
            # 计算力生成能力标量
            sigma = a * self.max_stress * fl * fv
            
            # 计算张量 n⊗n
            nnT = np.outer(n, n)
            
            # 存储张量
            self.Sigma[i] = sigma * nnT
            
    def get_element_tensor(self, element_id, integration_point):
        """获取指定单元的力生成能力张量"""
        # 获取单元积分点的全局索引
        ip_index = self.mesh.get_ip_index(element_id, integration_point)
        return self.Sigma[ip_index]
    
    def compute_principal_directions(self, point_index):
        """计算主方向和特征值"""
        sigma = self.Sigma[point_index]
        eigenvalues, eigenvectors = np.linalg.eigh(sigma)
        
        # 按特征值降序排序
        idx = eigenvalues.argsort()[::-1]
        eigenvalues = eigenvalues[idx]
        eigenvectors = eigenvectors[:, idx]
        
        return eigenvalues, eigenvectors
    
    def compute_anisotropy_indices(self):
        """计算各向异性指数"""
        anisotropy_indices = np.zeros(self.num_points)
        
        for i in range(self.num_points):
            eigenvalues, _ = self.compute_principal_directions(i)
            
            # 计算分数各向异性
            mean_lambda = np.mean(eigenvalues)
            numerator = np.sum((eigenvalues - mean_lambda)**2)
            denominator = np.sum(eigenvalues**2)
            
            if denominator > 1e-10:
                FA = np.sqrt(1.5 * numerator / denominator)
            else:
                FA = 0.0
                
            anisotropy_indices[i] = FA
            
        return anisotropy_indices
    
    def apply_deformation(self, deformation_gradient):
        """应用变形到力生成能力张量"""
        # 变形梯度F
        F = deformation_gradient
        
        for i in range(self.num_points):
            # 获取参考构型的纤维方向
            n0 = self.fiber_directions[i]
            
            # 计算当前构型的纤维方向
            n = F @ n0
            n_norm = np.linalg.norm(n)
            if n_norm > 1e-10:
                n = n / n_norm
            else:
                n = n0
                
            # 计算拉伸比
            lambda_f = n_norm
            
            # 更新纤维方向
            self.fiber_directions[i] = n
            
            # 更新力生成能力(考虑力-长度关系)
            fl = self.force_length_relation(lambda_f)
            
            # 重新计算张量
            a = 1.0  # 假设激活水平不变
            fv = 1.0  # 假设力-速度因子不变
            sigma = a * self.max_stress * fl * fv
            nnT = np.outer(n, n)
            self.Sigma[i] = sigma * nnT
    
    @staticmethod
    def force_length_relation(lambda_f, lambda_opt=1.0, width=0.3):
        """高斯型力-长度关系"""
        return np.exp(-((lambda_f - lambda_opt) / width)**2)
    
    def integrate_over_volume(self, volume_weights):
        """在体积上积分力生成能力"""
        Sigma_integrated = np.zeros((3, 3))
        total_volume = 0.0
        
        for i in range(self.num_points):
            weight = volume_weights[i]
            Sigma_integrated += self.Sigma[i] * weight
            total_volume += weight
            
        if total_volume > 0:
            Sigma_integrated /= total_volume
            
        return Sigma_integrated

十、总结

三维空间内的力生成能力分布矩阵是描述肌肉在空间各点、各方向力生成能力的完整数学工具。它提供了:

10.1 核心价值

  1. 空间分辨率:描述力生成在三维空间内的分布

  2. 方向性:描述力生成的各向异性特性

  3. 多尺度连接:连接微观纤维结构到宏观力学行为

  4. 可计算性:为数值模拟和控制提供数学基础

10.2 关键挑战

  1. 参数识别:从实验数据中识别分布参数

  2. 计算效率:高维张量场的实时计算

  3. 模型验证:验证模型预测与实验的一致性

  4. 个体差异:考虑个体间肌肉特性的差异

10.3 未来方向

  1. 多模态数据融合:整合影像、力学、电生理数据

  2. 人工智能增强:使用机器学习优化模型参数

  3. 实时预测与控制:开发实时可计算的简化模型

  4. 个性化建模:基于个体数据建立个性化模型

  5. 生长与适应:模拟长期训练和适应的效果

力生成能力分布矩阵为理解肌肉的结构-功能关系提供了定量框架,是连接肌肉微观结构宏观功能的桥梁,在生物力学研究、康复工程、仿生机器人等领域具有重要应用价值。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐