A macroblock optimization for grid-based nonlinear elasticity

A macroblock optimization for grid-based nonlinear elasticity
复制标题

基于网格的非线性弹性的宏块优化

DOI:
--
复制
发表时间:
2016
期刊:
Symposium on Computer Animation
影响因子:
--
通讯作者:
Eftychios Sifakis
Eftychios Sifakis
中科院分区:
--
文献类型:
--
作者:
Nathan Mitchell;M. Doescher;Eftychios Sifakis

文献摘要

被引文献

相似文献

我们引入一种新的数值方法来求解非线性弹性模型基于网格的离散化问题。我们的方法针对牛顿法每次迭代中的线性化方程组,并将直接分解方案的元素与迭代共轭梯度法相结合。我们的混合方案的目标是继承其组成方法的诸多优点,同时减少它们各自的一些缺点。特别是,我们的算法比共轭梯度法收敛所需的迭代次数少得多,尤其是对于条件不太理想的系统。另一方面,我们的方法在很大程度上避免了直接方法(如稀疏乔列斯基分解)的存储占用和内存受限问题,同时为单指令多数据(SIMD)和基于线程的并行性提供了非常直接的机会。从概念上讲,我们的方法将一个矩形的网格单元邻域(通常是一个16×8×8的子网格)聚合为一个复合单元,我们称之为“宏块”。与传统的四面体或六面体单元类似,宏块接收节点输入(例如位移)并计算节点输出(例如力)。然而,这个输入/输出接口现在只包括16×8×8宏块边界上的节点;内部节点总是通过一个直接的、高度优化的求解器精确求解。由宏块构建的模型使用共轭梯度法求解,由于每个宏块内的直接求解器减少了自由度数量并提高了对不良条件的鲁棒性,求解速度得以加快。我们解释了如何在每次迭代成本仅比最简单的传统求解器略有增加的情况下获得这些优势。
We introduce a new numerical approach for the solution of grid-based discretizations of nonlinear elastic models. Our method targets the linearized system of equations within each iteration of the Newton method, and combines elements of a direct factorization scheme with an iterative Conjugate Gradient method. The goal of our hybrid scheme is to inherit as many of the advantages of its constituent approaches, while curtailing several of their respective drawbacks. In particular, our algorithm converges in far fewer iterations than Conjugate Gradients, especially for systems with less-than-ideal conditioning. On the other hand, our approach largely avoids the storage footprint and memory-bound nature of direct methods, such as sparse Cholesky factorization, while offering very direct opportunities for both SIMD and thread-based parallelism. Conceptually, our method aggregates a rectangular neighborhood of grid cells (typically a 16 × 8 × 8 subgrid) into a composite element that we refer to as a "macroblock". Similar to conventional tetrahedral or hexahedral elements, macroblocks receive nodal inputs (e.g., displacements) and compute nodal outputs (e.g., forces). However, this input/output interface now only includes nodes on the boundary of the 16 × 8 × 8 macroblock; interior nodes are always solved exactly, by means of a direct, highly optimized solver. Models built from macroblocks are solved using Conjugate Gradients, which is accelerated due to the reduced number of degrees of freedom and improved robustness against poor conditioning thanks to the direct solver within each macroblock. We explain how we attain these benefits with just a small increase of the per-iteration cost over the simplest traditional solvers.