论文部分内容阅读
近些年来,随着基于物理的仿真技术的快速发展,软体材料的三维交互已被广泛应用于电影、动画、游戏等虚拟领域。软体材料在三维交互过程中包含多种复杂的物理现象,如非光滑界面接触、不定解边界约束、非线性本构、各向同性/各向异性大变形等。若要精确地模拟其中每一个现象,则需对相应的数值算法做大量精细化处理,因此难以在规定的时间和存储空间内进行大规模计算。此外,仿真复杂度和计算效率本就存在一种矛盾性,如何较好地平衡这种矛盾是研究人员长期以来一直面临的难题。本文对软体材料三维交互过程中的若干关键问题进行了深入研究,并构建了一套包含理论推导-数值实现-软件开发的完整体系。本文重点探索了软体材料交互过程中的三个计算瓶颈问题:接触检测、接触计算和变形计算,并针对性地提出了相应快速算法,使得仿真在满足精度要求下,还能达到极高的计算速度。本文的主要研究工作概括如下:1.提出了一种三层分段算法来处理软体材料的接触检测问题。在第一阶段的全局搜索过程中,本文提出了一种基于体积增量权值的包围树算法,以获取高质量的二分树结构。在第二阶段的网格相交测试中,本文提出了一种基于节点基元和有限单元基元的混合包围树算法。该方法可以直接获得后续接触计算所需的点-面接触对,并能有效地减少二分树遍历过程中的伪相交测试数目。在第三阶段的基元检测过程中,本文提出了一种基于等参面投影的摄动法来判断接触对是否满足接触映射关系,并获取精确的接触穿透信息。此外,本文采用了一种基于法向锥的包围树结构来解决软体变形过程中可能存在的自接触问题。数值试验表明,以上算法能有效地处理复杂软体材料的接触检测问题,且相较于传统算法有明显的性能优势。2.提出了一种基于增广拉格朗日方法的快速算法来处理软体材料三维交互中的静态接触问题。针对同时考虑多种非线性所引起的巨大计算负担,本文首先对刚度矩阵的逆矩阵进行了缩减预处理,然后通过接触点共旋的方法来近似每一个时间步中的Delassus算子。该过程可有效地避免大型稀疏矩阵的求逆计算,从而极大地加快整体计算速率。同时,本文在增广拉格朗日框架下引入了一个独特的投射因子来迭代求解局部接触方程。相对于常用的拉格朗日乘子,该投射因子并未增加额外的未知量,因而可以起到计算缩减的效果。数值试验表明,本文所提出的快速算法能精确地描述软体材料的大变形、大旋转,并能在考虑多点耦合接触和库仑摩擦等强非线性特性时达到极高的计算速度。针对双势理论框架下Uzawa算法迭代速度较慢的问题,本文提出了一种改进算法,其采用了对偶技术中的自动修改增量步长策略。数值试验表明,该方法能达到与原始算法相同的精度,但是迭代次数更少,计算速度更快。3.提出了一种基于速度的预处理半显式算法来处理软体材料三维交互中的动态接触问题。在动态条件下,因为质量矩阵和阻尼矩阵的引入,第2点所提出的静态接触求解算法会随着大变形的变化不再精确。针对此问题,本文首先构造了接触力与局部相对速度的隐式耦合关系。然后,本文采取分开求解的策略:接触力是基于隐式的增广拉格朗日方法求解,但是会显式地加到控制方程来求解速度。这种显式与隐式的结合使得整个求解过程中没有大型线性方程组的求解,没有Newton-Raphson非线性迭代,更没有计算代价巨大的刚度矩阵组装和大型稀疏矩阵求逆计算,因而可以获得极快的计算速度。该算法在动态条件下同样考虑了多点耦合接触效应,以及基于速度的Signorini-Coulomb接触模型,因而可以保证极高的精度。此外,该方法可通过基于HEML方法的内力计算来反映各向异性粘性超弹性变形,且不局限于某种特定的本构关系。数值试验表明,该算法能达到与当前流行的纯隐式算法相近的精度,且具备十分显著的性能优势。4.开发了一款针对软体材料的多体接触分析软件:LiToTac。本文基于面向对象设计方法和Open GL+Qt编程技术,开发了针对多体接触问题的交互界面、材料和单元库、静/动态求解器、模块数据管理器,以及文件传送接口。通过嵌入本文所提出的快速接触检测算法,LiToTac可对复杂的多体结构进行自动接触检测,从而避免了商用CAE软件中繁琐的主-从自由面定义操作。通过集成相关有限元算法,LiToTac可高效地模拟众多复杂的多体交互场景,以及精确地分析多种非线性耦合的力学行为。此外,LiToTac还可灵活地嵌入自主材料模型,并对多体结构的内部结构进行透视。与商用软件ABAQUS和ANSYS的数值试验对比表明,LiToTac的计算结果是精确可靠的。