CN102184298B - Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming - Google Patents
Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming Download PDFInfo
- Publication number
- CN102184298B CN102184298B CN 201110130073 CN201110130073A CN102184298B CN 102184298 B CN102184298 B CN 102184298B CN 201110130073 CN201110130073 CN 201110130073 CN 201110130073 A CN201110130073 A CN 201110130073A CN 102184298 B CN102184298 B CN 102184298B
- Authority
- CN
- China
- Prior art keywords
- matrix
- grid model
- stiffness matrix
- node
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种金属体积塑性成形中有限元分析刚度矩阵存储与生成方法,可显著节约刚度矩阵存储空间和提高刚度方程求解效率,它包括以下步骤:(1.1)根据体积塑性成形工件有限元网格模型,确定网格节点的“广义相邻节点对”及其与网格模型总体刚度矩阵中非零子矩阵的对应关系;(1.2)基于“广义相邻节点对”,确定网格模型总体刚度矩阵中非零子矩阵的位置与数量,存储非零子矩阵;(1.3)确定网格模型每个单元刚度矩阵元素在总体刚度矩阵中所在的非零子矩阵及其在总体刚度矩阵存储数组中的位置,将其组装到网格模型的总体刚度矩阵存储数组中;(1.4)采用对称正定系数矩阵松弛预处理共额梯度法,对网格模型的总体刚度方程进行求解。
The invention relates to a method for storing and generating stiffness matrix of finite element analysis in metal volume plastic forming, which can significantly save the storage space of stiffness matrix and improve the efficiency of solving stiffness equation. It comprises the following steps: (1.1) according to the finite element network of volume plastic forming workpiece The grid model is used to determine the "generalized adjacent node pairs" of grid nodes and their correspondence with the non-zero submatrix in the overall stiffness matrix of the grid model; (1.2) Based on the "generalized adjacent node pairs", determine the overall grid model The position and quantity of the non-zero sub-matrix in the stiffness matrix, store the non-zero sub-matrix; (1.3) Determine the non-zero sub-matrix where each element stiffness matrix element of the grid model is located in the overall stiffness matrix and its storage array in the overall stiffness matrix The position in the grid model is assembled into the overall stiffness matrix storage array of the grid model; (1.4) The overall stiffness equation of the grid model is solved by using the symmetric positive definite coefficient matrix relaxation preconditioning co-value gradient method.
Description
技术领域 technical field
本发明涉及金属体积塑性成形中有限元分析刚度矩阵存储与生成方法,适合于锻造、挤压、轧制、旋转锻造等体积成形过程的有限元数值模拟。The invention relates to a finite element analysis stiffness matrix storage and generation method in metal volume plastic forming, which is suitable for finite element numerical simulation of volume forming processes such as forging, extrusion, rolling, and rotary forging.
背景技术 Background technique
在工业生产中,锻造、挤压、轧制等金属体积塑性成形制造技术支撑国民经济发展与国防建设的主要技术之一,在汽车、航天航空、装备制造、兵器、能源、造船等行业具有广泛用途。体积塑性成形过程就是将室温或高温下(冷、温、热成形)的金属材料(坯料)在锻压设备及其安装其上的模具作用下发生塑性变形,并成形为所需形状和性能的零件的过程,体积塑性成形材料一般被假设为刚(粘)塑性材料,因此,坯料在模具型腔内发生大而剧烈的塑性变形,存在材料非线性、几何非线性和复杂边界条件,成形过程的求解十分复杂。成形工艺和模具设计对于成形件的质量及其能否顺利成形具有重要影响,也是影响节能降耗和精确成形的关键。而掌握金属材料在模具型腔内的塑性变形行为和流动规律是设计成形工艺和模具的关键理论依据。有限元方法作为工程问题数值分析的重要方法,已在工程领域发挥了重要作用,金属体积塑性成形过程有限元数值模拟方法是研究金属材料塑性变形行为和流动规律的主要方法,可获得金属材料流动规律和各种场变量分布结果,验证工艺设计、参数选择和模具设计方案的可行性,进而实现成形工艺和模具的优化优化,提高产品开发的速度、质量和降低开发成本。In industrial production, forging, extrusion, rolling and other metal volume plastic forming manufacturing technologies are one of the main technologies supporting national economic development and national defense construction. use. The volume plastic forming process is to plastically deform the metal material (blank) at room temperature or high temperature (cold, warm, hot forming) under the action of the forging equipment and the mold installed on it, and form it into parts of the required shape and performance The bulk plastic forming material is generally assumed to be a rigid (viscosity) plastic material. Therefore, the blank undergoes large and severe plastic deformation in the mold cavity, and there are material nonlinearity, geometric nonlinearity and complex boundary conditions. The forming process Solving is very complicated. Forming process and mold design have an important impact on the quality of formed parts and whether they can be formed smoothly, and are also the key to energy saving and precise forming. Mastering the plastic deformation behavior and flow law of metal materials in the mold cavity is the key theoretical basis for designing the forming process and mold. As an important method for the numerical analysis of engineering problems, the finite element method has played an important role in the engineering field. The finite element numerical simulation method of the metal volume plastic forming process is the main method for studying the plastic deformation behavior and flow law of metal materials. It can obtain the flow of metal materials. Regularity and distribution results of various field variables, verify the feasibility of process design, parameter selection and mold design scheme, and then realize the optimization of forming process and mold, improve the speed and quality of product development and reduce development costs.
对于金属体积塑性成形问题的有限元分析,首先通过塑性变形控制方程,建立金属体积塑性变形力学问题的数学模型,将几何模型(模具与变性材料)进行有限元法离散,建立有限元刚度方程,实现成形过程的数值模拟,有限元等数值分析方法已经在工程领域,特别是在金属成形制造和结构分析等领域发挥了重要作用。For the finite element analysis of the metal volume plastic forming problem, firstly, the mathematical model of the metal volume plastic deformation mechanics problem is established through the plastic deformation control equation, and the geometric model (mold and denatured material) is discretized by the finite element method, and the finite element stiffness equation is established. To realize the numerical simulation of the forming process, numerical analysis methods such as finite element have played an important role in the field of engineering, especially in the fields of metal forming manufacturing and structural analysis.
有限元数值求解金属体积塑性成形问题的步骤为:建立问题的CAD几何模型(变形材料的几何形状),将CAD几何模型进行有限单元离散,得到几何模型的有限元网格模型,该网格模型由有限数量的网格单元组成;首先建立网格模型中每个单元的刚度方程,将所有单元的刚度方程进行组装,形成关于网格模型所有节点速度的非线性总体刚度方程组;通过对关于节点速度的非线性刚度方程的线性化处理,获得关于节点速度增量的线性刚度方程组;采用Newton-Raphson迭代法对速度场进行迭代求解。由于对节点速度增量进行求解,因此,对于一个金属体积塑性成形过程,需要将成形时间分解为上百甚至几百个时间步(长),在每个时间步长内均需要计算单元刚度矩阵和节点力向量,组装成节点速度增量的总体刚度方程,施加速度边界条件,求解节点速度增量的总体刚度方程(大型线性方程组),得到速度修正量,再用速度修正量对速度场进行修正,然后重复上述步骤,对速度场进行迭代求解,直到速度场收敛,一般情况下,至少需要7至10次迭代方可获得收敛的速度场;根据获得的收敛速度场,刷新变形工件形状和模具位置,才能完成一个时间步长内的数值计算。然后再进行下一个步长内的数值计算,直至达到所要求的变形程度。The steps of finite element numerical solution to the metal volume plastic forming problem are as follows: establish the CAD geometric model of the problem (geometric shape of the deformed material), discretize the CAD geometric model with finite elements, and obtain the finite element mesh model of the geometric model, the mesh model It is composed of a finite number of grid units; firstly, the stiffness equation of each unit in the grid model is established, and the stiffness equations of all units are assembled to form a nonlinear overall stiffness equation system for all node velocities of the grid model; by The nonlinear stiffness equation of node velocity is linearized to obtain the linear stiffness equation system of node velocity increment; the Newton-Raphson iterative method is used to iteratively solve the velocity field. Since the node velocity increment is solved, for a metal volume plastic forming process, the forming time needs to be decomposed into hundreds or even hundreds of time steps (long), and the element stiffness matrix needs to be calculated in each time step and nodal force vectors, assembled into the overall stiffness equation of the nodal velocity increment, applying velocity boundary conditions, solving the overall stiffness equation of the nodal velocity increment (large linear equations), obtaining the velocity correction, and then using the velocity correction to the velocity field Make corrections, and then repeat the above steps to iteratively solve the velocity field until the velocity field converges. Generally, at least 7 to 10 iterations are required to obtain the converged velocity field; according to the obtained convergent velocity field, refresh the shape of the deformed workpiece and die position, the numerical calculation within one time step can be completed. Then carry out the numerical calculation in the next step until the required degree of deformation is reached.
由此可见,对于金属体积塑性成形过程的数值模拟,需要频繁的求解总体刚度方程(大型线性方程组)。例如对于中等复杂的三维金属体积塑性成形问题,一般需要200次以上的模拟步数,每个模拟步内大致需要迭代9次速度场,而每次速度场迭代就需要求解一次大型线性方程组,如果一个金属体积塑性成形问题的有限元节点数目为5万个(中等复杂的三维问题),就需要求解由15万个方程构成的大型线性方组1800次。如果分析更复杂问题,其计算工作量更加巨大。It can be seen that for the numerical simulation of the metal volume plastic forming process, it is necessary to frequently solve the overall stiffness equation (large linear equation system). For example, for medium and complex three-dimensional metal volume plastic forming problems, more than 200 simulation steps are generally required, and the velocity field needs to be iterated 9 times in each simulation step, and each iteration of the velocity field needs to solve a large linear equation set. If the number of finite element nodes in a metal volume plastic forming problem is 50,000 (a moderately complex three-dimensional problem), it is necessary to solve a large linear square system consisting of 150,000 equations 1800 times. If more complex problems are analyzed, the computational workload will be even greater.
近年来,随着重大装备、船舶、汽车和风电等大型工程的需要,对大型、重型金属体积塑性成形零件的需求日益增多,需要分析的成形问题日益复杂,几何尺寸大,有限元模型的节点和单元数量多,数据量庞大,有限元计算效率低下,所需计算机内存剧增,甚至在分析大型和超大型问题时,经常出现存储空间不足的问题,这大大限制了有限元数值方法在金属成形过程分析中的应用。In recent years, with the needs of large-scale projects such as major equipment, ships, automobiles and wind power, the demand for large and heavy metal volume plastic forming parts is increasing, and the forming problems that need to be analyzed are becoming more and more complex. The number of units and units is large, the amount of data is huge, the efficiency of finite element calculation is low, and the required computer memory increases sharply. Even when analyzing large and super-large problems, the problem of insufficient storage space often occurs, which greatly limits the use of finite element numerical methods in metal Application in forming process analysis.
不仅金属体积塑性成形问题,而且很多其它工程问题的有限元分析最终都会归结为求解大型线性方程组,有限元的求解效率主要取决于线性方程组刚度矩阵的存储、生成及其刚度方程的求解效率。Not only the problem of metal volume plastic forming, but also the finite element analysis of many other engineering problems will eventually come down to solving large linear equations. The efficiency of finite element solution mainly depends on the storage and generation of the stiffness matrix of the linear equations and the efficiency of solving the stiffness equation. .
金属体积塑性成形问题有限元刚度矩阵为大型、带状稀疏矩阵,矩阵的非零元素一般集中在对角线区域,针对这种情况和为了提高计算效率,人们提出了许多节约存储空间的存储方法,例如,半带宽存储方法、变带宽存储方法、稀疏方程组预处理迭代求解方法等,尽管这些方法减少了刚度矩阵的存储空间,但也无可避免地存储了部分非零元素,浪费了部分储存空间,同时这些方法均依赖于节点编号,需要对节点编号顺序进行优化,从而也浪费了计算时间。现有的一维变带宽压缩存储方法采用一维数组按行的顺序保存刚度矩阵的非零元素,采用两个辅助数组记录列号和每列起始元素在刚度矩阵数组的位置,节约了存储空间,避免了节点编号优化问题,但所采用的辅助数组与刚度矩阵存储数组具有同样长度,仍存在消耗存储空间和浪费计算时间的问题。The finite element stiffness matrix of the metal volume plastic forming problem is a large, strip-shaped sparse matrix, and the non-zero elements of the matrix are generally concentrated in the diagonal area. In view of this situation and in order to improve the calculation efficiency, many storage methods for saving storage space have been proposed , for example, half-bandwidth storage method, variable bandwidth storage method, sparse equations preprocessing iterative solution method, etc. Although these methods reduce the storage space of the stiffness matrix, they inevitably store some non-zero elements and waste some At the same time, these methods all depend on the node number, and the order of the node number needs to be optimized, which also wastes calculation time. The existing one-dimensional variable bandwidth compression storage method uses a one-dimensional array to store the non-zero elements of the stiffness matrix in the order of rows, and uses two auxiliary arrays to record the column number and the position of the starting element of each column in the stiffness matrix array, saving storage space, avoiding the problem of node number optimization, but the auxiliary array used has the same length as the stiffness matrix storage array, which still consumes storage space and wastes computing time.
因此,采用有限元分析金属体积塑性成形等工程问题时,有限元刚度矩阵元素的高效压缩存储与生成方法成为迫切需要解决的问题。Therefore, when finite element analysis is used to analyze engineering problems such as metal volume plastic forming, the efficient compression storage and generation method of finite element stiffness matrix elements has become an urgent problem to be solved.
发明内容 Contents of the invention
本发明的目的是为金属体积塑性成形问题有限元数值模拟过程中存在的刚度矩阵数据存储空间大和刚度方程计算效率不高的问题,提供一种新的金属体积塑性成形中有限元分析刚度矩阵存储与生成方法,它不仅具有显著节约刚度矩阵存储空间和提高计算效率的特点,而且具有随金属体积塑性成形问题有限元网格模型节点与单元数量的增加,其节约空间越显著和求解效率越高的特点。The purpose of the present invention is to provide a new finite element analysis stiffness matrix storage in metal volume plastic forming for the problems of large storage space of stiffness matrix data and low calculation efficiency of stiffness equation in the finite element numerical simulation process of metal volume plastic forming Compared with the generation method, it not only has the characteristics of significantly saving the storage space of the stiffness matrix and improving the calculation efficiency, but also has the more significant space saving and higher solution efficiency with the increase of the number of nodes and elements of the finite element mesh model of the metal volume plastic forming problem specialty.
本发明是通过下面的技术方案来实现的:The present invention is achieved through the following technical solutions:
一种金属体积塑性成形中有限元分析刚度矩阵存储与生成方法,包括以下步骤:A method for storing and generating a stiffness matrix for finite element analysis in metal volume plastic forming, comprising the following steps:
(1.1)首先采用现有CAD设计软件或者三坐标测量仪等反求设备获得金属体积塑性成形问题的三维几何模型,采用现有网格生成方法生成成形工件的有限元网格模型,其次根据塑性成形工件的有限元网格模型拓扑结构,确定其网格节点的“广义相邻节点对”,建立“广义相邻节点对”与工件有限元网格模型总体刚度矩阵非零子矩阵之间的对应关系;所述的“广义相邻节点对”是指在体积成形问题的有限元网格模型中,每个单元内的任意两个节点构成的节点对,即包括节点自身与自身构成的节点对;(1.1) First, the existing CAD design software or three-coordinate measuring instrument and other reverse equipment are used to obtain the three-dimensional geometric model of the metal volume plastic forming problem, and the existing grid generation method is used to generate the finite element mesh model of the formed workpiece. Form the topology of the finite element mesh model of the workpiece, determine the "generalized adjacent node pairs" of its mesh nodes, and establish the relationship between the "generalized adjacent node pairs" and the non-zero submatrix of the overall stiffness matrix of the finite element mesh model of the workpiece Correspondence; the "generalized adjacent node pair" refers to the node pair formed by any two nodes in each unit in the finite element mesh model of the volume forming problem, that is, the node itself and the node formed by itself right;
(1.2)基于“广义相邻节点对”,储存非零子矩阵,开辟一个非零子矩阵列号存储数组J即整型索引数组,记录与工件有限元网格模型中“广义相邻节点对”对应的总体刚度矩阵非零子矩阵的列号,开辟另一个整型索引数组K,记录工件有限元网格模型刚度矩阵中每行首个非零子矩阵在数组J中的位置,确定工件有限元网格模型刚度矩阵中非零子矩阵的位置与数量,根据非零子矩阵与非零元素的对应关系,确定工件有限元网格模型刚度矩阵非零元素的位置和数量;(1.2) Based on the "generalized adjacent node pair", store the non-zero sub-matrix, open up a non-zero sub-matrix column number storage array J, which is an integer index array, and record the "generalized adjacent node pair" in the finite element mesh model of the workpiece "Corresponding to the column number of the non-zero sub-matrix of the overall stiffness matrix, open up another integer index array K, record the position of the first non-zero sub-matrix in each row in the stiffness matrix of the workpiece finite element mesh model, and determine the workpiece The position and quantity of the non-zero sub-matrix in the stiffness matrix of the finite element grid model, according to the corresponding relationship between the non-zero sub-matrix and the non-zero elements, determine the position and quantity of the non-zero elements of the stiffness matrix of the finite element grid model of the workpiece;
(1.3)计算工件有限元网格模型中每个单元刚度矩阵元素在工件有限元网格模型总体刚度矩阵中所在的非零子矩阵,利用索引数组J和K中的数据,确定单元刚度矩阵元素在网格模型总体刚度矩阵存储数组A中的位置(具体确定步骤见4.1~4.9);按照网格模型总体刚度矩阵的生成规则,将网格模型的每个单元刚度矩阵元素对号入座地组装到网格模型的总体刚度矩阵存储数组A中;遍历网格模型中的所有单元后,最终生成金属体积成形问题网格模型的总体刚度矩阵存储数组;(1.3) Calculate the non-zero sub-matrix of each unit stiffness matrix element in the workpiece finite element grid model in the overall stiffness matrix of the workpiece finite element grid model, and use the data in the index arrays J and K to determine the element stiffness matrix elements The location in the storage array A of the overall stiffness matrix of the grid model (see 4.1 to 4.9 for the specific determination steps); according to the generation rules of the overall stiffness matrix of the grid model, the stiffness matrix elements of each unit of the grid model are assembled into the grid The overall stiffness matrix of the lattice model is stored in the array A; after traversing all the cells in the grid model, the overall stiffness matrix storage array of the metal volume forming problem grid model is finally generated;
(1.4)采用现有的对称正定系数矩阵松弛预处理共额梯度法,对网格模型的总体刚度方程(大型线性方程组)进行求解,获得金属体积成形过程网格模型中所有节点的速度增量场的数值解。(1.4) Using the existing symmetric positive definite coefficient matrix relaxation pretreatment co-value gradient method, the overall stiffness equation (large linear equation system) of the mesh model is solved to obtain the velocity increase of all nodes in the mesh model during the metal volume forming process. Numerical solution of the quantity field.
所述步骤(1.1)中,确定网格节点的“广义相邻节点对”的方法为:In the described step (1.1), the method for determining the "generalized adjacent node pair" of the grid node is:
(2.1)在体积成形问题的有限元网格模型中,每个单元内的任意两个节点构成的节点对(包括节点自身与自身构成的节点对),称为“广义相邻节点对”;将相邻节点有顺序的节点对称为“有序广义相邻节点对”;反之,称为“无序广义相邻节点对”,若网格模型中某个单元两个节点的全局节点编号为(I,J),则构成两个“有序广义相邻节点对”和若不考虑节点的顺序,则构成一个“无序广义相邻节点对”BIJ,即认为和是同一个节点对,记为BIJ或BJI。为了应用和表示的方便,可采取下标由小到大的形式来表示“无序广义相邻节点对”,即统一记为BIJ(I≤J);(2.1) In the finite element mesh model of the volume forming problem, the node pair formed by any two nodes in each element (including the node itself and the node pair formed by itself) is called "generalized adjacent node pair"; The node pair with the order of adjacent nodes is called "ordered generalized adjacent node pair"; on the contrary, it is called "disordered generalized adjacent node pair". If the global node number of two nodes of a cell in the grid model is (I, J), then constitute two "ordered generalized adjacent node pairs" and If the order of the nodes is not considered, then a "disordered generalized adjacent node pair" B IJ is formed, that is, and are the same node pair, denoted as B IJ or B JI . For the convenience of application and expression, the form of subscripts from small to large can be used to represent "disordered generalized adjacent node pairs", which is uniformly recorded as B IJ (I≤J);
(2.2)在网格模型中,每个“有序广义相邻节点对”对应网格模型的总体刚度矩阵中的一个与所分析问题维数相同的非零子矩阵,非零子矩阵的位置由“有序广义相邻节点对”的全局节点序号决定,例如,在网格模型中的“有序广义相邻节点对”对应网格模型的总体刚度矩阵中第I行、第J列的非零子矩阵;(2.2) In the grid model, each "ordered generalized adjacent node pair" corresponds to a non-zero sub-matrix in the overall stiffness matrix of the grid model that has the same dimension as the analyzed problem, and the position of the non-zero sub-matrix Determined by the global node number of the "Ordered Generalized Adjacent Node Pair", e.g. "Ordered Generalized Adjacent Node Pair" in the grid model The non-zero submatrix of row I and column J of the overall stiffness matrix corresponding to the grid model;
(2.3)在网格模型中,每个“无序广义相邻节点对”对应网格模型的总体刚度矩阵的上三角矩阵中的一个与所分析问题维数相同的非零子矩阵,非零子矩阵的位置由“无序广义相邻节点对”的全局节点序号决定;例如在网格模型中的“无序广义相邻节点对”BIJ(I≤J),对应网格模型的总体刚度矩阵的上三角矩阵中第I行、第J列的非零子矩阵;(2.3) In the grid model, each "disordered generalized adjacent node pair" corresponds to a non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix of the grid model that has the same dimension as the analyzed problem, non-zero The position of the sub-matrix is determined by the global node number of the "unordered generalized adjacent node pair"; for example, the "unordered generalized adjacent node pair" B IJ (I≤J) in the grid model corresponds to the overall The non-zero submatrix of the I row and J column in the upper triangular matrix of the stiffness matrix;
(2.4)由于金属体积塑性成形过程有限元分析的总体刚度矩阵为对称矩阵,为了节约空间可以只存储其上三角矩阵,因此本发明中提到的网格模型的总体刚度矩阵存储是指其上三角矩阵的存储,由于网格模型中“无序广义相邻节点对”与网格模型的总体刚度矩阵的上三角矩阵中的非零子矩阵一一对应,并且节点对的全局节点编号与非零子矩阵的行号、列号对应,因此通过这种对应关系,由网格模型中所有的“无序广义相邻节点对”的数量和全局节点号即可确定网格模型刚度矩阵的上三角矩阵中非零子矩阵的数量和位置(行号与列号),并可进一步确定组成非零子矩阵的非零元素的数量和位置。(2.4) Since the overall stiffness matrix of the finite element analysis of the metal volume plastic forming process is a symmetrical matrix, in order to save space, only the upper triangular matrix can be stored, so the overall stiffness matrix storage of the grid model mentioned in the present invention refers to the upper The storage of the triangular matrix, because the "disordered generalized adjacent node pair" in the grid model corresponds to the non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix of the grid model, and the global node number of the node pair is the same as the non-zero sub-matrix The row number and column number of the zero submatrix correspond, so through this correspondence, the upper limit of the stiffness matrix of the grid model can be determined by the number of all "disordered generalized adjacent node pairs" in the grid model and the global node number. The number and position (row number and column number) of the non-zero sub-matrix in the triangular matrix, and can further determine the number and position of the non-zero elements that make up the non-zero sub-matrix.
所述步骤(1.2)中,还包括以下步骤:In described step (1.2), also comprise the following steps:
(3.1)采用一个浮点型数组A按行顺序存储网格模型总体刚度矩阵上三角矩阵中的各非零元素;(3.1) Use a floating-point array A to store the non-zero elements in the upper triangular matrix of the overall stiffness matrix of the mesh model in row order;
(3.2)采用整形数组J记录与“无序广义相邻节点对”对应总体刚度矩阵上三角矩阵中的非零子矩阵的列号;(3.2) Use the integer array J to record the column number of the non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix corresponding to the "disordered generalized adjacent node pair";
(3.3)采用整形数组K记录总体刚度矩阵上三角矩阵中每行第一个非零子矩阵在数组J中的编号,并以此确定非零子矩阵在总体刚度矩阵上三角矩阵的行号,因为K[i]为总体刚度矩阵上三角矩阵中第i行第一个非零子矩阵在数组J中的编号,而K[i+1]为总体刚度矩阵上三角矩阵中第i+1行第一个非零子矩阵在数组J中的编号,由此可知在数组J中编号从K[i]到K[i+1]-1对应的所有非零子矩都在第i行。(3.3) Use the integer array K to record the number of the first non-zero sub-matrix in the array J of each row in the upper triangular matrix of the overall stiffness matrix, and use this to determine the row number of the non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix, Because K[i] is the number of the first non-zero sub-matrix in the array J of the i-th row in the upper triangular matrix of the overall stiffness matrix, and K[i+1] is the i+1th row in the upper triangular matrix of the overall stiffness matrix The number of the first non-zero sub-matrix in array J, it can be seen that all non-zero sub-moments corresponding to numbers from K[i] to K[i+1]-1 in array J are in the i-th row.
所分析问题的几何模型划分后的有限元网格模型为三维的六面体单元、四面体单元或其二者的混合单元模型;或者所分析问题的几何模型划分后的有限元网格模型为二维的四边形单元、三角形单元或其二者的混合单元模型,都可以采用本发明的方法进行网格模型总体刚度矩阵的存储。The finite element mesh model after the geometric model division of the analyzed problem is a three-dimensional hexahedral unit, tetrahedral unit or a mixed unit model of the two; or the finite element mesh model after the geometric model division of the analyzed problem is a two-dimensional The method of the present invention can be used to store the overall stiffness matrix of the mesh model.
所述步骤(1.3)中,对于网格模型中的一个单元,若单元的节点数为n、物理量的维数为m,记该单元n个节点的整体编号为I[i],i=1,2,Λ,n,该单元刚度矩阵为U(m×n,m×n),则该单元刚度矩阵的任意元素为In the step (1.3), for a unit in the grid model, if the number of nodes of the unit is n and the dimension of the physical quantity is m, record the overall number of the n nodes of the unit as I[i], i=1 ,2,Λ,n, the element stiffness matrix is U(m×n,m×n), then any element of the element stiffness matrix is
Uijkl=U[(i-1)×m+k][(j-1)×m+l]U ijkl = U[(i-1)×m+k][(j-1)×m+l]
其中,i,j=1,2,Λ,n为该单元节点的局部编号,k,l=1,2,Λ,m为物理量维数编号;Wherein, i, j=1, 2, Λ, n are the local numbers of the unit nodes, k, l=1, 2, Λ, m are the physical quantity dimension numbers;
确定Uijkl在网格模型总体刚度矩阵存储数组A中序号的过程如下:The process of determining the serial number of U ijkl in the storage array A of the overall stiffness matrix of the grid model is as follows:
(4.1)确定Uijkl的整体节点编号:I=I[i],J=I[j],其中I、J为Uijkl所在的非零子矩阵AIJ中的在网格模型总体刚度矩阵上三角矩阵中的行号和列号;非零子矩阵的位置如图1所示。(4.1) Determine the overall node number of U ijkl : I=I[i], J=I[j], where I and J are the non-zero sub-matrix A IJ where U ijkl is located on the overall stiffness matrix of the grid model Row and column numbers in the triangular matrix; the location of the nonzero submatrix is shown in Figure 1.
(4.2)确定非零子矩阵AII之前非零子矩阵的数量:NI=K[I]-1;(4.2) Determine the number of non-zero sub-matrices before the non-zero sub-matrix A II : N I =K[I]-1;
(4.3)确定非零子矩阵AII之前非零元素的数量:(4.3) Determine the number of nonzero elements preceding the nonzero submatrix A II :
NNI=NI×m2-(I-1)×m×(m-1)/2NN I =N I ×m 2 -(I-1)×m×(m-1)/2
其中,m2为每个非零子矩阵非零元素的数量,m(m-1)/2为每行的对角非零子矩阵引起的非零元素的减少项;如图2中的非零子矩阵AII为m=3的三维子矩阵,只存储了6个非零元素,与其它子矩阵相比少存3个。Among them, m 2 is the number of non-zero elements of each non-zero sub-matrix, and m(m-1)/2 is the reduction term of non-zero elements caused by the diagonal non-zero sub-matrix of each row; The zero sub-matrix A II is a three-dimensional sub-matrix with m=3, and only 6 non-zero elements are stored, which is 3 less than other sub-matrixes.
(4.4)确定第I行非零子矩阵中第k行之前非零元素的数量:(4.4) Determine the number of non-zero elements before the k-th row in the non-zero submatrix of the I-th row:
NNIK=(K[I+1]-K[I])×m×(k-1)NN IK =(K[I+1]-K[I])×m×(k-1)
(4.5)确定第I行中,第J列之前的非零子矩阵的数量。搜索数组J从标号K[I]到K[I+1]中J[II]=J的数组标号II,第I行中,第J列之前的非零子矩阵数量为NJ=II-K[I];(4.5) Determine the number of non-zero sub-matrices in row I before column J. Search the array J from the label K[I] to the array label II of J[II]=J in K[I+1]. In the I row, the number of non-zero sub-matrixes before the J column is N J =II-K [I];
(4.6)确定Uijkl在总体刚度矩阵中所在行中的编号:(4.6) Determine the number of U ijkl in the row of the overall stiffness matrix:
NNJl=NJ×m-TT+lNN Jl =N J ×m-TT+l
其中,TT为由于对角非零子矩阵引起的非零元素的减少项,TT=k(k-1)/2;Wherein, TT is the reduction term of the non-zero elements due to the diagonal non-zero sub-matrix, TT=k(k-1)/2;
(4.7)确定Uijkl在网格模型总体刚度矩阵储存数组A中的编号:(4.7) Determine the number of U ijkl in the storage array A of the overall stiffness matrix of the grid model:
NNIJkl=NNI+NNIk+NNJl NN IJkl = NN I +NN Ik +NN Jl
(4.8)根据网格模型总体刚度矩阵的生成规则和Uijkl在网格模型总体刚度矩阵储存数组A中的位置编号NNIJkl,将Uijkl组装或累加到网格模型的总体刚度矩阵储存数组A中;(4.8) According to the generation rules of the overall stiffness matrix of the grid model and the position number NN IJkl of U ijkl in the overall stiffness matrix storage array A of the grid model, assemble or accumulate U ijkl into the overall stiffness matrix storage array A of the grid model middle;
(4.9)重复步骤(4.1)~(4.8),遍历网格模型中的所有单元刚度矩阵中的每一个元素,即可获得网格模型的总体刚度矩阵一维存储数组A。(4.9) Repeat steps (4.1) to (4.8) to traverse each element in the stiffness matrix of all elements in the grid model to obtain the one-dimensional storage array A of the overall stiffness matrix of the grid model.
求解网格模型所采用的数值分析方法最终归结为稀疏、对称总体刚度矩阵的存储、生成及其刚度方程(即线性方程组)求解,所分析的网格模型的总体刚度方程求解的参量为全量或者增量。The numerical analysis method used to solve the grid model ultimately boils down to the storage and generation of the sparse and symmetrical overall stiffness matrix and the solution of its stiffness equation (ie, the linear equation system). The parameters for the solution of the overall stiffness equation of the analyzed grid model are the full amount or incremental.
本发明的有益效果是:根据本发明提出的”广义相邻节点对”及其与网格模型总体刚度矩阵非零子矩阵之间的对应关系,存储网格模型总体刚度矩阵中的非零子矩阵及其位置,改变了以往存储网格模型总体刚度矩阵中非零元素及其位置的方法;本发明的压缩存储方法所需的存储空间随网格模型节点数量的增加呈线性函数增加,不同于现有压缩存储方法所需的存储空间随网格模型节点数量的增加呈二次函数增加,因此,本发明的方法不仅显著节约了网格模型总体刚度矩阵的存储空间和提高了运算效率,而且随网格模型节点和单元数量的增加,其节约存储空间的能力越显著;基于存储非零子矩阵的网格模型总体刚度矩阵方程的松弛预处理共额梯度法,无需对对称逐步超松弛迭代的分裂矩阵进行求逆和另外开辟数组存放分裂矩阵,可直接对分裂矩阵的非零元素进行运算,求解和运算效率高;因此,特别适合于金属体积成形这种需要反复进行增量求解和迭代求解的大型复杂工程问题的数值分析。The beneficial effects of the present invention are: according to the "generalized adjacent node pair" proposed by the present invention and its corresponding relationship with the non-zero sub-matrix of the overall stiffness matrix of the grid model, the non-zero sub-matrix in the overall stiffness matrix of the grid model is stored The matrix and its position have changed the previous method of storing non-zero elements and their positions in the overall stiffness matrix of the grid model; the storage space required by the compressed storage method of the present invention increases as a linear function with the increase of the number of grid model nodes, different Because the storage space required by the existing compressed storage method increases as a quadratic function with the increase of the number of grid model nodes, the method of the present invention not only significantly saves the storage space of the overall stiffness matrix of the grid model and improves the calculation efficiency, Moreover, as the number of grid model nodes and elements increases, its ability to save storage space becomes more significant; the relaxation preconditioning co-gradient method based on the overall stiffness matrix equation of the grid model storing non-zero sub-matrices does not need to perform symmetric stepwise over-relaxation The iterative splitting matrix is inverted and another array is opened to store the splitting matrix, and the non-zero elements of the splitting matrix can be directly operated, and the solution and calculation efficiency are high; therefore, it is especially suitable for metal volume forming that requires repeated incremental solutions and calculations. Numerical analysis of large complex engineering problems solved iteratively.
附图说明 Description of drawings
图1为总体刚度矩阵中非零子矩阵的分布示意图;Figure 1 is a schematic diagram of the distribution of non-zero sub-matrices in the overall stiffness matrix;
图2为总体刚度矩阵中非零元素的位置示意图;Fig. 2 is a schematic diagram of the positions of non-zero elements in the overall stiffness matrix;
图3为金属刚(粘)塑性成形网格模型总体刚度矩阵方程压缩存储和生成算法流程图;Fig. 3 is a flow chart of the compression storage and generation algorithm for the overall stiffness matrix equation of the metal rigid (viscosity) plastic forming mesh model;
图4为由一个八节点六面体单元构成的网格模型;Fig. 4 is the grid model that is made of an eight-node hexahedron element;
图5为由两个八节点六面体单元构成的网格模型;Fig. 5 is the grid model that is made of two eight-node hexahedron elements;
图6a为锻造过程有限元数值模拟;Figure 6a is the finite element numerical simulation of the forging process;
图6b为锻造过程有限元数值模拟;Figure 6b is the finite element numerical simulation of the forging process;
图6c为锻造过程有限元数值模拟;Figure 6c is the finite element numerical simulation of the forging process;
图6d为锻造过程有限元数值模拟。Figure 6d is the finite element numerical simulation of the forging process.
具体实施方式 Detailed ways
下面结合附图与实施例,对本发明做进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
图3为金属刚(粘)塑性成形网格模型总体刚度矩阵方程压缩存储和生成算法流程图。根据图3所示,金属刚(粘)塑性成形网格模型总体刚度矩阵方程压缩存储和生成算法流程如下:根据已经生成的金属塑性成形问题的几何模型和有限元网格模型,确定整个网格模型的“广义相邻节点对”并计算其数量;开辟网格模型总体刚度矩阵存储数组A,开辟非零子矩阵列号存储数组J,开辟每行首个非零子矩阵位置存储数组K;对网格模型中的所有节点进行循环,对于任一节点i,搜索网格模型中包含节点i的所有单元;搜索包含节点i的所有单元所包含的所有节点,确定节点i的“广义相邻节点对”;依据包含节点i“广义相邻节点对”的编号,生成索引数组J;依据包含节点i“广义相邻节点对”的数量,生成索引数组K;判断网格模型中所有节点的循环是否结束,如果还未结束,则对下一个节点重复上述步骤,直至对网格模型中的所有节点处理完毕。对网格模型中的所有单元进行循环,生成每个单元的刚度矩阵U,判断单元刚度矩阵每个元素在网格模型总体刚度矩阵上三角矩阵中所在的非零子矩阵的位置,计算所在非零子矩阵所在行之前的非零子矩阵及非零元素的数量;计算单元刚度矩阵元素对应的网格模型总体刚度矩阵上三角矩阵的元素所在行之前的所有非零元素的数量;计算单元刚度矩阵元素对应的网格模型总体刚度矩阵上三角矩阵元素所在行的顺序编号;计算单元刚度矩阵元素对应的网格模型总体刚度矩阵上三角矩阵元素在网格模型总体刚度矩阵存储数组A中的位置编号,依据网格模型总体刚度矩阵的生成规则,将该单元刚度矩阵元素装入网格模型总体刚度矩阵上三角矩阵存储数组。判断该单元矩阵中所有元素是否计算完毕,如果尚未完毕,则对该单元中的下一个元素进行上述处理,直至对该单元中所有元素处理完毕。然后判断是否仍有未生成刚度矩阵的单元,如果还有,则进行下一个单元的循环计算,直至所有单元的刚度矩阵按照上述步骤生成完毕,从而获得整个网格模型总体刚度矩阵的上三角矩阵及其刚度方程。最后,采用松弛预处理共额梯度法,求解整个网格模型的总体刚度方程,获得速度场的增量解,然后利用此增量解刷新网格模型在该时刻的速度场。Figure 3 is a flow chart of the compression storage and generation algorithm for the overall stiffness matrix equation of the metal rigid (viscosity) plastic forming mesh model. As shown in Figure 3, the overall stiffness matrix equation compression storage and generation algorithm flow of the metal rigid (viscosity) plastic forming mesh model is as follows: According to the generated geometric model and finite element mesh model of the metal plastic forming problem, determine the entire mesh Calculate the number of "generalized adjacent node pairs" of the model; open up the overall stiffness matrix storage array A of the grid model, open up the storage array J for the column number of the non-zero sub-matrix, and open up the storage array K for the position of the first non-zero sub-matrix in each row; Loop through all the nodes in the grid model, for any node i, search all the cells that contain node i in the grid model; search all the nodes that contain all the cells that contain node i, and determine the "generalized neighbor" of node i node pair"; according to the number of "generalized adjacent node pairs" containing node i, an index array J is generated; according to the number of "generalized adjacent node pairs" containing node i, an index array K is generated; to determine the number of all nodes in the grid model Whether the loop is over, if not, repeat the above steps for the next node until all the nodes in the grid model are processed. Cycle through all the units in the grid model to generate the stiffness matrix U of each unit, and determine the position of each element of the unit stiffness matrix in the triangular matrix of the overall stiffness matrix of the grid model. The number of non-zero sub-matrices and non-zero elements before the row where the zero sub-matrix is located; calculate the number of all non-zero elements before the row where the elements of the triangular matrix are located in the overall stiffness matrix of the grid model corresponding to the elements of the element stiffness matrix; calculate the element stiffness The sequence number of the row where the triangular matrix element of the overall stiffness matrix of the grid model corresponding to the matrix element is located; the position of the upper triangular matrix element of the overall stiffness matrix of the grid model corresponding to the element stiffness matrix element in the storage array A of the overall stiffness matrix of the grid model According to the generation rules of the overall stiffness matrix of the grid model, the element stiffness matrix elements are loaded into the upper triangular matrix storage array of the overall stiffness matrix of the grid model. It is judged whether all the elements in the unit matrix have been calculated, and if not, the above processing is performed on the next element in the unit until all the elements in the unit are processed. Then judge whether there are still units that have not generated the stiffness matrix, and if there are still, perform the cyclic calculation of the next unit until the stiffness matrices of all units are generated according to the above steps, so as to obtain the upper triangular matrix of the overall stiffness matrix of the entire grid model and its stiffness equation. Finally, the overall stiffness equation of the entire grid model is solved by using the relaxation preconditioning co-gradient method to obtain the incremental solution of the velocity field, and then use this incremental solution to refresh the velocity field of the grid model at this moment.
网格模型中“广义相邻节点对”的数量由网格模型的拓扑结构决定,属于同一个单元的任意两个节点都可以组成一个“广义相邻节点对”,因此“广义相邻节点对”数量的确定,就是计算整个网格模型中,不重复的属于同一个单元的节点对数量,对于不同单元类型的网格模型,确定“广义相邻节点对”的原理相同,但具体方法有所不同。The number of "generalized adjacent node pairs" in the grid model is determined by the topology of the grid model. Any two nodes belonging to the same unit can form a "generalized adjacent node pair", so the "generalized adjacent node pair The determination of the "quantity" is to calculate the number of non-repeated node pairs belonging to the same unit in the entire grid model. For the grid models of different unit types, the principle of determining "generalized adjacent node pairs" is the same, but the specific methods are as follows: different.
由于“广义相邻节点对”与网格模型的总体刚度矩阵上三角矩阵中非零子矩阵一一对应,可以由“广义相邻节点对”的数量确定总体刚度矩阵上三角矩阵中非零子矩阵的数量,进而确定非零元素的数量。然而由于网格模型的总体刚度矩阵采用上三角矩阵存储,所以对角线上的每个非零子矩阵也只需存储上三角子矩阵。若设m为所求解问题的维数,对角线非零子矩阵的非零元素为m(m+1)/2,而非对角线非零子矩阵数据为m2,由此可以确定网格模型总体刚度矩阵上三角矩阵的非零元素的数量。Since the "generalized adjacent node pairs" correspond to the non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix of the mesh model, the non-zero sub-matrix in the upper triangular matrix of the overall stiffness matrix can be determined by the number of "generalized adjacent node pairs". The number of matrices, which in turn determines the number of nonzero elements. However, since the overall stiffness matrix of the grid model is stored in an upper triangular matrix, each non-zero sub-matrix on the diagonal only needs to store an upper triangular sub-matrix. If m is the dimension of the problem to be solved, the non-zero elements of the diagonal non-zero sub-matrix are m(m+1)/2, and the non-diagonal non-zero sub-matrix data is m 2 , so it can be determined The number of non-zero elements of the triangular matrix in the overall stiffness matrix of the mesh model.
以由有限数量的八节点六面体单元构成的网格模型为例对上述计算过程加以说明。The above calculation process is illustrated by taking a mesh model composed of a finite number of eight-node hexahedral elements as an example.
对于由八节点六面体单元组成的网格模型,其“广义相邻节点对”分为三个类型,一是边相邻节点对;二是面相邻节点对;三是体相邻节点对。边相邻节点对由单元内相邻节点连线的数量决定,每条连线对应一个“广义相邻节点对”;面相邻节点对的数量由单元面的数量决定,每个面有两条对角线,每条面对角线对应一个“广义相邻节点对”;对于体相邻节点对,每个单元有四条体对角线,每条体对角线对应一个“广义相邻节点对”。设N1为节点数量(即为节点与自身生成的节点对数量),N2为网格模型中相邻节点连线的数量(即为边相邻节点对的数量),N3为网格模型中单元的面数(每个面有两个面相邻节点对,2N3表示面相邻节点对的数量),N4为网格模型中单元的数量(每个单元有两四个体相邻节点对,4N4表示体相邻节点对的数量),则网格模型“广义相邻节点对”的数量为:For the mesh model composed of eight-node hexahedral elements, its "generalized adjacent node pairs" are divided into three types, one is edge adjacent node pairs; the other is surface adjacent node pairs; the third is volume adjacent node pairs. The edge adjacent node pairs are determined by the number of adjacent node connections in the unit, and each connection corresponds to a "generalized adjacent node pair"; the number of surface adjacent node pairs is determined by the number of cell faces, and each face has two diagonals, and each face diagonal corresponds to a "generalized adjacent node pair"; for body adjacent node pairs, each unit has four body diagonals, and each body diagonal corresponds to a "generalized adjacent node pair". node pair". Let N 1 be the number of nodes (that is, the number of node pairs generated by the node and itself), N 2 is the number of adjacent node connections in the grid model (that is, the number of edge-adjacent node pairs), and N 3 is the grid The number of faces in the model (each face has two face-adjacent node pairs, 2N 3 represents the number of face-adjacent node pairs), N 4 is the number of cells in the mesh model (each cell has two or four volume phases Adjacent node pairs, 4N 4 represents the number of volume adjacent node pairs), then the number of "generalized adjacent node pairs" in the grid model is:
SSM=N1+N2+2×N3+4×N4 S SM =N 1 +N 2 +2×N 3 +4×N 4
其中N1为节点自身构成的节点对的数量,该类型节点对对应的非零子矩阵行号与列号一致,位于对角线上,所以N1为对角线非零子矩阵的数量。Among them, N 1 is the number of node pairs formed by the node itself. The row number of the non-zero sub-matrix corresponding to this type of node pair is the same as the column number, and is located on the diagonal, so N 1 is the number of non-zero sub-matrix on the diagonal.
对于三维问题(m=3),则每个对角线非零子矩阵需要存储的数据为m(m+1)/2=6,非对角线非零子矩阵需要存储的数据为m2=9。因此网格模型的总体刚度矩阵上三角矩阵非零元素的数量为:For three-dimensional problems (m=3), the data to be stored in each diagonal non-zero sub-matrix is m(m+1)/2=6, and the data to be stored in off-diagonal non-zero sub-matrix is m 2 =9. Therefore, the number of non-zero elements in the triangular matrix of the overall stiffness matrix of the mesh model is:
SNZ=6×N1+9×(N2+2×N3+4×N4)S NZ =6×N 1 +9×(N 2 +2×N 3 +4×N 4 )
下面以两个具体网格模型为例对上述计算过程作进一步说明。In the following, two specific grid models are taken as examples to further illustrate the above calculation process.
对于附图4所示的由一个六面体单元构成的网格模型,N1=8、N2=12、N3=6、N4=1,采用上三角矩阵存储时,其非零子矩阵数量为:For the grid model composed of a hexahedral unit shown in Figure 4, N 1 =8, N 2 =12, N 3 =6, N 4 =1, when the upper triangular matrix is used for storage, the number of non-zero sub-matrices for:
SSM=N1+(N2+2×N3+4×N4)=8+(12+2×6+1×4)=36S SM =N 1 +(N 2 +2×N 3 +4×N 4 )=8+(12+2×6+1×4)=36
图4所示的网格模型需要保存的总体刚度矩阵上三角矩阵非零元素数量为:The grid model shown in Figure 4 needs to save the number of non-zero elements in the upper triangular matrix of the overall stiffness matrix:
SNZ=6×N1+9×(N2+2×N3+4×N4)=6×8+9×28=300S NZ =6×N 1 +9×(N 2 +2×N 3 +4×N 4 )=6×8+9×28=300
同理,对于附图5所示的由两个六面体单元构成的网格模型,N1=12、N2=20、N3=11、N4=2。采用上三角矩阵存储时,其非零子矩阵数量为:Similarly, for the grid model composed of two hexahedral units shown in Fig. 5, N 1 =12, N 2 =20, N 3 =11, and N 4 =2. When the upper triangular matrix is used for storage, the number of non-zero sub-matrices is:
SSM=N1+(N2+2×N3+4×N4)=12+(20+2×11+2×4)=62S SM =N 1 +(N 2 +2×N 3 +4×N 4 )=12+(20+2×11+2×4)=62
图5所示的网格模型需要保存的总体刚度矩阵上三角矩阵非零元素数量为:The number of non-zero elements in the triangular matrix of the overall stiffness matrix that needs to be saved in the grid model shown in Figure 5 is:
SNZ=6×N1+9×(N2+2×N3+4×N4)=6×12+9×50=522S NZ =6×N 1 +9×(N 2 +2×N 3 +4×N 4 )=6×12+9×50=522
确定了非零子矩阵和非零元素的数量,即可准确地分配网格模型的总体刚度矩阵上三角矩阵的存储空间,进而实现网格模型的总体刚度矩阵上三角矩阵的存储。After determining the number of non-zero sub-matrixes and non-zero elements, the storage space of the upper triangular matrix of the overall stiffness matrix of the grid model can be allocated accurately, and then the storage of the upper triangular matrix of the overall stiffness matrix of the grid model can be realized.
下面以图5所示的由两个六面体单元构成的网格模型的总体刚度矩阵为例,说明本发明总体刚度矩阵的压缩存储优势。Taking the overall stiffness matrix of the grid model composed of two hexahedral elements shown in FIG. 5 as an example, the advantages of compression storage of the overall stiffness matrix of the present invention will be described.
本发明所涉及的总体刚度矩阵存储方法中的J数组的数据长度为总体刚度矩阵非零子矩阵的数量,即SSM=62,而K数组的数据长度为单元数量12,则该网格模型的总体刚度矩阵存储数据量为62+12=74。如果采用目前常用的CSR(Compressed Sparse Row format)格式存储方法,则其J数组的数据长度为所有非零元素的数量,即SNZ=522,K数组的数据长度为总体刚度方程的维数,即为12×3=36,因此,总数据量为558。如果只比较两个辅助数组J和K,则本发明所涉及的总体刚度矩阵存储方法与CSR方法相比,其节约的存储空间为:(558-74)/558=87%。如果浮点型数组A采用单精度浮点数保存,则本发明所涉及的总体刚度矩阵存储方法与CSR方法相比,总体刚度矩阵存储所节约的空间为:1-(74+552×2)/(558+552×2)=29%。可见,对于图5所示的例子,本发明节约辅助数组J和K的存储空间达到87%,节约总体刚度矩阵存储空间29%,空间节约效果明显。The data length of the J array in the overall stiffness matrix storage method involved in the present invention is the quantity of the non-zero sub-matrix of the overall stiffness matrix, that is, S SM =62, and the data length of the K array is the number of
下面通过一个具体的锻造实例,对本发明的有益效果做进一步说明。The beneficial effects of the present invention will be further described through a specific forging example below.
附图6a-图6d为一锻件在锻造过程中某一时刻采用不同的单元划分数量得到的有限元数值模拟结果,其中所有网格模型的单元全部为八节点六面体单元,图6a中的锻件网格模型含有1565个单元和2045个节点,图6b中的锻件网格模型含有3284个单元和4119个节点,图6c中的锻件网格模型含有5339个单元和6557个节点,图6d中的锻件网格模型含有8530个单元和10217个节点。下面从内存占用和计算效率两个方面,将本发明的压缩存储迭代求解算法与半带存储直接求解的算法进行比较。其中所采用的计算机为:CPU:Intel(R)Core(TM)2,Duo,CPU E8400,3.00GHz,内存:3.25,操作系统:Windows XP。Accompanying drawings 6a-6d are the finite element numerical simulation results obtained by using different element division numbers at a certain moment in the forging process of a forging, in which all the elements of the mesh model are eight-node hexahedral elements, and the forging mesh in Fig. 6a The lattice model contains 1565 units and 2045 nodes. The forging mesh model in Fig. 6b contains 3284 units and 4119 nodes. The forging mesh model in Fig. 6c contains 5339 units and 6557 nodes. The forging mesh model in Fig. 6d The mesh model contains 8530 elements and 10217 nodes. In the following, the compressed storage iterative solution algorithm of the present invention is compared with the half-band storage direct solution algorithm from two aspects of memory occupation and calculation efficiency. The computer used is: CPU: Intel(R) Core(TM) 2, Duo, CPU E8400, 3.00GHz, memory: 3.25, operating system: Windows XP.
在内存占用方面,锻件网格模型的总体刚度方程的元素采用单精度浮点数保存,即每个数据占用4个字节;辅助数组采用整形数据保存,即每个数据占用2个字节。在不同的节点和单元数量下,对采用不同方式存储的锻件网格模型总体刚度矩阵所占存储空间进行比较,结果如表1所示。In terms of memory usage, the elements of the overall stiffness equation of the forging mesh model are stored in single-precision floating-point numbers, that is, each data occupies 4 bytes; the auxiliary array is stored in integer data, that is, each data occupies 2 bytes. Under different numbers of nodes and elements, the storage space occupied by the overall stiffness matrix of the forging mesh model stored in different ways is compared, and the results are shown in Table 1.
表1在不同存储方法下锻件网格模型总体刚度矩阵存储空间的比较Table 1 Comparison of the overall stiffness matrix storage space of the forging mesh model under different storage methods
由表1可见,本发明的压缩存储方法所占存储空间远远小于半带存储方法的存储空间,当锻件网格模型的单元数量为1565时,节约存储空间93.2%,当锻件网格模型的单元数量为8530时,节约存储空间97.4%。可见,随网格模型节点或单元数量的增加,存储空间节约比例越来越大。这主要因为本发明的压缩存储方法只保存了总体刚度矩阵的非零元素,总体刚度矩阵中每一行非零元素的数量仅与该行对应节点的广义相邻节点的数量有关,而与整体网格模型的节点数量无关。换言之,对于本发明的压缩存储方法,存储空间与节点数量的正比关系仅与总体刚度矩阵的行数增加有关,呈线性变化趋势。而对于半带存储方法,每一行的存储空间由总体刚度矩阵的半带宽决定,随节点数量增加,半带宽一般也随之增加,而且总体刚度矩阵的行数和每行需要存储的数据都有所增加,因而呈现抛物线变化趋势。因此,随着节点数量的增加,半带存储方法所需的存储空间呈二次函数增加,而本发明的压缩存储方法所需的存储空间呈线性函数增加,其节约空间的优势更加显著。As can be seen from Table 1, the storage space occupied by the compressed storage method of the present invention is far less than that of the half-band storage method. When the number of units of the forging grid model is 1565, the storage space is saved by 93.2%. When the number of units is 8530, the storage space is saved by 97.4%. It can be seen that with the increase of the number of grid model nodes or units, the proportion of storage space saving becomes larger and larger. This is mainly because the compressed storage method of the present invention only saves the non-zero elements of the overall stiffness matrix, and the number of non-zero elements in each row of the overall stiffness matrix is only related to the number of generalized adjacent nodes of the corresponding node in the row, but not related to the overall network The number of nodes in the lattice model is irrelevant. In other words, for the compressed storage method of the present invention, the proportional relationship between the storage space and the number of nodes is only related to the increase in the number of rows of the overall stiffness matrix, and shows a linear trend. For the half-band storage method, the storage space of each row is determined by the half-bandwidth of the overall stiffness matrix. As the number of nodes increases, the half-bandwidth generally increases, and the number of rows of the overall stiffness matrix and the data that needs to be stored in each row are different. As a result, it presents a parabolic trend. Therefore, as the number of nodes increases, the storage space required by the half-band storage method increases with a quadratic function, while the storage space required by the compressed storage method of the present invention increases with a linear function, and its space-saving advantage is more significant.
在计算效率方面,此处仅以求解锻造过程中某一时刻的总体刚度方程单次计算效率为例,对半带存储直接求解和本发明的压缩存储迭代求解两种方法进行比较,结果如附表2所示。In terms of calculation efficiency, here we only take the single calculation efficiency of the overall stiffness equation at a certain moment in the forging process as an example, and compare the two methods of half-band storage direct solution and compressed storage iterative solution of the present invention. The results are shown in the attached Table 2 shows.
表2为不同单元和节点数量的网格模型在不同存储方法时的求解效率比较Table 2 compares the solution efficiency of mesh models with different numbers of elements and nodes in different storage methods
从表中可以看出,当锻件网格模型的单元数量为1565时,计算效率提高69.4%,当锻件网格模型的单元数量为8530时,提高计算效率88.3%。可见,本发明的压缩存储迭代求解的效率远高于半带存储直接求解的效率,而且节点数量越多,求解效率提高越明显。因此,本发明提出的方法特别适合于网格模型单元和节点数目大、反复迭代求解的锻造、挤压、轧制等金属体积成形问题的有限元数值分析。It can be seen from the table that when the number of elements of the forging mesh model is 1565, the calculation efficiency is increased by 69.4%, and when the number of elements of the forging mesh model is 8530, the calculation efficiency is increased by 88.3%. It can be seen that the efficiency of the compressed storage iterative solution of the present invention is much higher than that of the half-band storage direct solution, and the greater the number of nodes, the more obvious the improvement of the solution efficiency. Therefore, the method proposed by the present invention is particularly suitable for the finite element numerical analysis of metal volume forming problems such as forging, extrusion, and rolling, which have a large number of mesh model units and nodes and are repeatedly solved iteratively.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110130073 CN102184298B (en) | 2011-05-18 | 2011-05-18 | Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110130073 CN102184298B (en) | 2011-05-18 | 2011-05-18 | Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184298A CN102184298A (en) | 2011-09-14 |
CN102184298B true CN102184298B (en) | 2013-06-19 |
Family
ID=44570475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110130073 Active CN102184298B (en) | 2011-05-18 | 2011-05-18 | Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184298B (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713400B2 (en) | 2017-04-23 | 2020-07-14 | Cmlabs Simulations Inc. | System and method for executing a simulation of a constrained multi-body system |
US10467359B2 (en) * | 2017-08-10 | 2019-11-05 | Livermore Software Technology Corp. | Special-purpose programmed computer for numerical simulation of a metal forming process having a predefined load path with corresponding mesh adjustment scheme |
CN107908844A (en) * | 2017-11-07 | 2018-04-13 | 武汉科技大学 | Metamorphic mechanisms kinematics model auto-creating method |
CN108724817B (en) * | 2018-05-04 | 2020-03-17 | 河南工业大学 | Intelligent manufacturing method of thermoplastic composite material metal sandwich plate product |
CN109948279B (en) * | 2019-03-29 | 2022-12-20 | 江苏精研科技股份有限公司 | Simulation design method for shaping metal piece |
CN111008497B (en) * | 2019-12-06 | 2022-11-11 | 集美大学 | A method and terminal for generating total stiffness matrix of finite element |
CN111965694B (en) * | 2020-08-03 | 2024-01-30 | 中国石油天然气集团有限公司 | Method and device for determining position of physical point of earthquake and earthquake observation system |
CN112434451B (en) * | 2020-10-28 | 2024-04-02 | 西安交通大学 | Finite element analysis method based on block parallel computing |
CN114595547B (en) * | 2020-12-07 | 2024-11-01 | 北京大学 | Grid structure parameter determination method and system |
CN115081297B (en) * | 2022-08-23 | 2022-11-04 | 天津大学 | Method for Solving Global Stiffness Matrix in Plane Elastic Finite Element Analysis of Composite Materials |
CN119918368B (en) * | 2025-04-07 | 2025-06-17 | 中国飞机强度研究所 | A Super-node Parallel Cholesky Numerical Decomposition Method for Structural Finite Element Stiffness Matrix |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139242A (en) * | 1996-02-02 | 1997-01-01 | 曾攀 | Numerical composite unit method for obtaining static and dynamic characteristics of engineering structure |
CN1386201A (en) * | 2000-06-29 | 2002-12-18 | 目标储油层公司 | Method and system for solving finite element models using multi-phase physics |
CN1609351A (en) * | 2004-11-24 | 2005-04-27 | 东南大学 | Establishment method of generalized Bingheim soft soil rheological deformation simulation body |
-
2011
- 2011-05-18 CN CN 201110130073 patent/CN102184298B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139242A (en) * | 1996-02-02 | 1997-01-01 | 曾攀 | Numerical composite unit method for obtaining static and dynamic characteristics of engineering structure |
CN1386201A (en) * | 2000-06-29 | 2002-12-18 | 目标储油层公司 | Method and system for solving finite element models using multi-phase physics |
CN1609351A (en) * | 2004-11-24 | 2005-04-27 | 东南大学 | Establishment method of generalized Bingheim soft soil rheological deformation simulation body |
Also Published As
Publication number | Publication date |
---|---|
CN102184298A (en) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184298B (en) | Method for storing and generating stiffness matrix for finite-element analysis in metal bulk plastic forming | |
CN110110413B (en) | A Structural Topology Optimization Method Based on Reduced Series Expansion of Material Field | |
CN111709171B (en) | Isogeometric solving and heat dissipation topology generation method for heat flow strong coupling problem | |
Li | Basic molecular dynamics | |
Hu et al. | A robust WENO type finite volume solver for steady Euler equations on unstructured grids | |
CN103324850A (en) | Finite element two-stage partition and twice polycondensation parallel method based on multiple document flows | |
Kentli | Topology Optimization Applications on Engineering | |
Gao et al. | An exact block-based reanalysis method for local modifications | |
Prabhune et al. | A fast matrix-free elasto-plastic solver for predicting residual stresses in additive manufacturing | |
CN103530451B (en) | Many grids Chebyshev parallel spectral element method of complex dielectrics elastic wave modeling | |
Liu et al. | Topology optimization of support structure of telescope skin based on bit-matrix representation NSGA-II | |
Haga et al. | An implicit LU-SGS scheme for the spectral volume method on unstructured tetrahedral grids | |
CN116579151B (en) | Non-uniform lattice structure optimization design method based on MMC framework | |
CN118171519A (en) | A combined method for efficiently solving geometrically nonlinear problems | |
Raju et al. | Domain decomposition based high performance parallel computing | |
Zhang et al. | FMM-accelerated hybrid boundary node method for multi-domain problems | |
CN110555267B (en) | Parameterized level set structure topology optimization method based on implicit B-spline | |
Sun et al. | Notice of Retraction: Optimization of injection molding process parameters based on Response Surface Methodology and genetic algorithm | |
CN118410663B (en) | Improved arc length method for efficiently solving nonlinear thermal boundary problem | |
Habibi et al. | Extending a new two-grid waveform relaxation on a spatial finite element discretization | |
CN114722670B (en) | A Finite-Difference Solution Method for Electric Potential Distribution in Two-Dimensional Electrostatic Particle Model | |
Płaszewski et al. | Performance analysis of iterative solvers of linear equations for hp-adaptive finite element method | |
Mukaddes et al. | Performance evaluation of domain decomposition method with sparse matrix storage schemes in modern supercomputer | |
CN118364215B (en) | A high performance serial and parallel region block integration flexibility matrix method | |
CN115081297B (en) | Method for Solving Global Stiffness Matrix in Plane Elastic Finite Element Analysis of Composite Materials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |