论文部分内容阅读
有限元分析是工程设计及科学研究中最重要和最成功的数值方法,以其为核心的CAD/CAE软件对国家的经济建设和国家安全起到了非常关键的作用,而自主研发此类软件并提高有限元分析效率一直以来都是工程师和科研人员关注的焦点问题之一。 实际工程中经常遇到结构修改的情形,如材料非线性分析、结构拓扑优化设计、施工模拟、抗连续倒塌设计等等。在有限元分析中,我们可以将上述的多步计算要求描述为:在前步结构上进行修改然后重新进行分析计算。结构修改也可以直接用矩阵变化的形式提出并转化为数学问题:一个线性方程组已经完成求解,当系数矩阵中元素的值发生改变或者增加、删除了某些行(列)时,如何快速得到修改后方程组的解? 结构修改一直是计算力学研究的热点之一,然而目前已有的重分析算法尚不能完全满足实际工程的需求,对于大规模问题的大量修改或者拓扑修改往往力不从心。针对这个问题,本文在目前通用的稀疏矩阵求解方案基础上,借助图剖分填充元优化的结果,提出了一种新的结构局部修改算法,并从软件和硬件两个方面进行了大量优化,进一步提高计算效率。 本文的主要工作如下: 首先,本文提出了结构修改算法的新思路:更新刚度矩阵的三角分解因子;当分解修改刚度矩阵时,只需要在原三角分解因子的基础上,沿着剖分二叉树从修改节点回溯到根节点的路径进行修改即可,其余部分则保持不变。基于该思路,从非拓扑修改入手,共提出了三种不同的修改算法。算法Ⅰ直接跳过未修改行的重分解,只计算修改行;算法Ⅱ改为计算修改行的变化量;算法Ⅲ则结合了前两种算法的优点,依计算量对各行分别选择算法Ⅰ或算法Ⅱ进行计算,效率最高。对于修改量较少的局部修改问题,算法Ⅲ能够减少大约70%到90%的计算量。 其次,本文将非拓扑修改算法扩展到整体构架不变的拓扑修改情形,并设计出统一的计算流程,降低了拓扑修改算法的应用难度。其核心思想是:将有限元方程系数矩阵中添加或删除的行(列)视为一种特殊的修改。算法Ⅰ只需重新计算修改行即可;算法Ⅲ则建立了精确的行间关系和计算式。拓扑修改与非拓扑修改的统一大大地拓宽了修改算法的应用范围。 为了充分利用多核CPU的硬件资源,本文实现了稀疏矩阵求解与结构修改算法的共享内存式并行。采用的方法是流水线并行模式:将分解一行拆分成行间消元与自消元,形成多个小任务,当一个小任务所需数据准备好时即开始计算,而不必等前面所有行都分解完才开始。该并行算法在常见双核或四核CPU上的加速比通常可以达到3左右。 最后,本文介绍了结构修改算法的几个应用实例,提出了适用性强的计算流程方案,为本算法在实际工程中的应用与推广提供了参考与便利。 综合软件和硬件两方面的优化成果,本文结构局部修改并行算法的运算速度将达到重新完整计算的5到30倍,计算效率的提升非常显著。与现有的结构修改直接解法相比,本文算法还具有以下优点:更适合处理大规模问题的大量修改,额外占用的内存极少,适合依次连续修改。更为重要的是,本文算法与现有的稀疏矩阵有限元方程直接求解方案完全兼容,实现简单,因此有望成为结构局部修改的标准算法。