CN106980743A - 一种基于稀疏存储格式的三维结构静力学仿真模拟方法 - Google Patents
一种基于稀疏存储格式的三维结构静力学仿真模拟方法 Download PDFInfo
- Publication number
- CN106980743A CN106980743A CN201710366747.2A CN201710366747A CN106980743A CN 106980743 A CN106980743 A CN 106980743A CN 201710366747 A CN201710366747 A CN 201710366747A CN 106980743 A CN106980743 A CN 106980743A
- Authority
- CN
- China
- Prior art keywords
- matrix
- node
- sparse
- unit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于稀疏存储格式的三维结构静力学仿真模拟方法,属于有限元结构静力学分析中的数值求解算法领域属于有限元数值计算领域。通过原始的网格数据,经过单元矩阵的计算后,跳过集成总体刚度矩阵的过程,直接生成稀疏存储格式;相比于传统的有限元处理方式,本发明能够节省大量的内存,同时做到时间性能的优化,由于跳过了集成总体刚度矩阵的过程,直接对稀疏格式进行矩阵求解,使得计算规模可以极大的增加,求解矩阵的规模可以达到上百万阶,能够满足工程中的绝大多数问题。
Description
技术领域
本发明属于有限元结构静力学分析中的数值求解算法领域,具体涉及一种基于稀疏存储格式的三维结构静力学仿真模拟方法。
背景技术
目前,有限元静力学分析的过程一般包括进行有限元建模、计算单元刚度矩阵、集成总体刚度矩阵、计算载荷列阵、处理边界条件、求解矩阵方程组和绘制场图。这个分析过程的缺点在于总体刚度矩阵的集成和矩阵方程的求解将会产生大量的内存消耗,同时时间性能较差。其实,在总体刚度矩阵中,大多数元素都是零元素,非零元素占有很小的比例,而在计算中有作用的正是这些非零元素,以及这些非零元素所处的位置。虽然现在有些有限元问题的求解都采用了稀疏存储,但是所采用的稀疏存储的方式就是先生成总体刚度矩阵,然后从总体刚度矩阵中生成稀疏格式,是一种间接的稀疏求解方式,这样做虽然能够节省一定的内存空间,但是并没有从本质上解决问题。在文献“稀疏矩阵存储技术”[作者:张永杰,孙秦]中,描述了很多种稀疏格式存储方法,但是并没有讲解如何从最初的模型数据直接到稀疏格式。在实际的结构静力学问题的求解中,需要做到直接从有限元网格数据到稀疏存储,才能全面提高时空效率,发挥有限元在求解结构静力学问题中的优势。
发明内容
针对背景技术中结构静力学问题分析出现的不足和缺陷,本发明直接从静力学模型出发,综合考虑时间和空间因素,跳过总刚矩阵的集成,直接生成稀疏存储格式。从而获得一种高性能的结构静力学的仿真模拟方法,能够从根本上解决内存消耗大,同时时间性能较差的问题。
本发明提供一种基于稀疏存储格式的三维结构静力学仿真模拟方法,包含如下步骤:
A.处理有限元模型,得到编程所需要的网格数据,包括节点坐标信息和节点编号信息。
B.对网格数据进行计算处理,获取该模型的棱边信息。
C.划定该模型的零位移边界条件。
D.计算每个单元的单元刚度矩阵,并将这些结果保存起来。
E.判断总体刚度矩阵的每一个节点,若该节点为0,则跳过;若不为0,则判断哪些单元对该节点产生作用,然后就把相应单元叠加到该节点,同时将非零元素以及位置信息写入稀疏格式中。
F.按照稀疏格式求解矩阵,绘制场图。
相比于传统的有限元处理方式,本发明能够节省大量的内存,同时做到时间性能的优化,由于跳过了集成总体刚度矩阵的过程,直接对稀疏格式进行矩阵求解,使得计算规模可以极大的增加,求解矩阵的规模可以达到上百万阶,能够满足工程中的绝大多数问题。
附图说明
图1基于稀疏格式的三维结构静力学仿真模拟方法流程图。
图2四面体网格剖分模型效果。
图3二次函数四面体单元模型。
图4点基函数示意图。
图5边基函数示意图。
图6三维空间问题示例模型。
具体实施方式
下面结合附图和具体的实例来说明本发明的技术方案。
A.处理有限元模型,得到编程所需要的网格相关数据,包括节点坐标信息和节点编号信息。
对目标模型做如图2所示的四面体网格剖分,一个四面体为一个单元,产生了大量的节点,通过计算得到这些节点的空间坐标数据,并对这些节点进行顺序编号处理。
在函数的阶次上,选择二阶函数,二阶函数四面体单元的模型如图3所示。对函数的阶次做进一步说明,一阶函数四面体单元只有四个角节点,二次函数四面体单元有十个节点,除了角上的四个节点,每条边的中点也有一个节点,在二次函数四面体单元中,共有三十个节点位移自由度,设其节点位移列阵为
qe=(u1 υ1 w1,.....,u10 υ10 w10)T (1)
其中uk,υk,wk,(k=1,2,3,4,5,6,7,8,9,10)为x,y,z三个方向上的位移。
由于是二阶函数,则取单元的位移模式为
其中ak,(k=1,2,3,4,5,6,7,8,9,10)为该函数的系数,此位移模式为(x,y,z)的二次函数。
B.对网格数据进行计算处理,获取该模型的棱边信息。
对步骤A中得到的数据进行计算,获取棱边的信息,并对棱边顺序编号处理。
在步骤B中,需要获取模型的棱边信息,是因为本方法采用的是二阶函数四面体单元,不需要用到边节点(在边上的节点)的坐标数据,仅需要编号。介于上述原因,该方法统计了模型的棱边编号信息。这样做的好处是减小了剖分模型的计算压力,提高了计算效率。
C.划定该模型的零位移边界条件。
在对实际问题进行静力学分析时,模型的某些位置总是会处于固定状态,处在固定位置上的点必须设置其位移为0。
D.计算每个单元的单元刚度矩阵,并将这些计算结果保存起来。
在步骤D中,方法采取的是将所有单元的单元矩阵先进行计算并保存,而不是在步骤E中进行计算,如果采取临时计算单元矩阵的方式,一个单元的单元矩阵可能会多次重复计算,不利于提高时间效率,先将结果进行保存的方式虽然浪费了小部分内存,但是换取了良好的时间效率。
在采用了式(2)位移模式之后,通过体积坐标来构建形函数,将位移模式写为
uk,υk,wk,(k=1,2,3,4,5,6,7,8,9,10)为x,y,z三个方向上的位移,用矩阵可以表示为
u=Nqe (4)
根据形函数具有的性质,形函数Nk(x,y,z)=δij,(i,j=1,2,3,4),可以得到式(5)中形函数
其中角节点上的形函数为
Ni=(2Li-1)Li,i=1,2,3,4 (6)
边节点上的形函数为
式中
其中,V表示当前四面体单元的体积
在式(9)和式(10)中,xi,yi,zi(i=1,2,3,4)分别表示了四面体单元四个角节点的空间坐标。
最后通过弹性力学的平衡方程,几何方程,物理方程来构建单元矩阵,这个过程为本领域人员公知常识,不在此详述。
E.判断总体刚度矩阵的每一个节点,如果该节点为0,则不考虑该节点,如果不为0,则判断哪些单元对该节点产生作用,然后就把相应单元叠加到该节点。
步骤A,B,C,D为本领域公知常识,本发明的主要创新点在于步骤E。通过步骤D,可以计算任意一个单元的单元刚度矩阵,稀疏存储需要知道两个重要的因素,一个是总刚矩阵的每一个节点是否为0,第二个是如果不为0,哪些单元会对该节点产生贡献。为了方便叙述,以一个二维模型为例说明,因为三维空间问题完全一致,首先考虑角节点。有限元模型如图4所示。
得到这个模型后,可以非常轻易的知道此模型的节点数目和单元数目,从而可以知道总体刚度矩阵的规模,本方法只需要知道总刚矩阵的规模,而不需要去计算它。按照传统的有限元总刚矩阵的生成方法,在先考虑角节点的情况下,单元矩阵为3*3,则可以得到这个模型的总体刚度矩阵如下
对于该总刚矩阵的(1,1)位置,从图3可以发现,第一个节点仅处在第一个单元的范围内,就是说只有第一个单元对该节点有贡献,所以可以确定的是只有第一个单元的单元刚度矩阵会叠加到该位置,现在需要进一步确认是第一个单元刚度矩阵的哪一个元素会加进来,将四个单元的单元矩阵和全局编号罗列出来。
在总体刚度矩阵的(1,1)位置,按照第一个单元所有节点全局编号的顺序,将第一个单元的(1,1)位置加到总刚矩阵的(1,1)位置,值得说明的是,单元刚度矩阵的(1,1)位置是按照全局编号来的,而不是按照行列标来的。
对于总刚矩阵的(1,2)位置,虽然节点2被多个单元共用,但是节点1只处于单元1中,所以总刚矩阵的(1,2)位置也仅仅只有单元1有贡献,所以同样按照全局编号的方式,将单元1的(1,2)位置叠加到总刚矩阵的(1,2)位置。
对于总刚矩阵的(1,4)位置,节点1处于单元1,而节点4处于单元2,这两个节点都没有同时被某个单元共用,所以该位置必然为0,所以在这个位置就不用计算。
在总刚矩阵的(2,2)位置,这个位置只考察节点2,节点2被单元1、单元2,单元3三个单元共用,所以必须按照全局编号的方式,分别将单元1、单元2、单元3三个矩阵的(2,2)位置叠加到总刚矩阵的(2,2)位置。
在总刚矩阵的(2,3)位置,节点2和节点3同时处于单元1和单元3中,所以在该位置单元1和单元3都有贡献,按照全局编号的方式将单元1和单元3的(2,3)位置上的元素叠加进来。
在进行单元判断的过程中,还需要处理位移边界条件,本方法采取了对角线元素置1法来处理边界,如果发现此节点位于边界上,则将对应的位置置为1。
所以,按照上述方法就可以知道总刚矩阵的哪些位置为零,哪些是非零,哪些单元会对该位置产生贡献。方法最终的目的是生成标准稀疏格式,标准稀疏格式只存储矩阵的非零元素。一般用一个一维数组存储矩阵的非零元素,用另一个索引数组存储这些非零元素在原矩阵中的行和列值。例如
通过对上面的矩阵进行计算,可以得到标准稀疏格式如下
A=[1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0]
IA=[1 1 2 2 3 3 4 4 5 5 5]
JA=[1 2 2 4 3 5 2 4 1 4 5]
标准稀疏格式中,A表示的是非零元素,IA表示的每一个非零元素的行标,JA表示的非零元素的列标。所以在对每一个位置进行判断计算的过程中,将非零的元素及其行、列标等信息存入稀疏格式中。即可完成稀疏格式的高效生成。
考虑边节点的情况,在图5二维的情况下,边节点上除了边界上的点外,其他的始终都被两个单元共用,只需要按照同样的方式将单元矩阵的相应节点叠加上来。在三维空间问题中,如图5、6所示,处理的方式方法和二维情况下完全一样,只是单元刚度矩阵规模大了很多,但是叠加方式不变。
F.按照稀疏格式求解矩阵,绘制场图。
通过一般的矩阵求解方法来求解上述矩阵,便可以得到位移解,这里不在详述,然后根据求解结果画出场图分布。
按照本方法来处理一个力学模型,假设模型规模为3141个单元,761个点,4339条边,总共存在66378个非零元素,如果按照常规方式来处理,会产生1.74Gb的内存消耗,而采用了本方法做稀疏存储之后,仅仅会产生800Kb的内存消耗,两者相差几千倍,相比于传统的静力学仿真方法,本发明具有明显的优势。
Claims (1)
1.一种基于稀疏存储格式的三维结构静力学仿真模拟方法,包括以下步骤:
A.处理有限元模型,得到编程所需的网格数据,包括节点坐标信息和节点编号信息;
B.对网格数据进行计算处理,获取该模型的棱边信息;
C.划定该模型的零位移边界条件;
D.计算每个单元的单元刚度矩阵,并保存结果;
E.判断总体刚度矩阵的每一个节点,若该节点为0,则跳过;若不为0,则判断哪些单元对该节点产生作用,然后把相应单元叠加到该节点,同时将非零元素以及位置信息写入稀疏格式中;
F.按照稀疏格式求解矩阵,绘制场图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710366747.2A CN106980743A (zh) | 2017-05-23 | 2017-05-23 | 一种基于稀疏存储格式的三维结构静力学仿真模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710366747.2A CN106980743A (zh) | 2017-05-23 | 2017-05-23 | 一种基于稀疏存储格式的三维结构静力学仿真模拟方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106980743A true CN106980743A (zh) | 2017-07-25 |
Family
ID=59342480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710366747.2A Pending CN106980743A (zh) | 2017-05-23 | 2017-05-23 | 一种基于稀疏存储格式的三维结构静力学仿真模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106980743A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081297A (zh) * | 2022-08-23 | 2022-09-20 | 天津大学 | 复合材料平面弹性有限元分析中的总体刚度矩阵求解方法 |
-
2017
- 2017-05-23 CN CN201710366747.2A patent/CN106980743A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081297A (zh) * | 2022-08-23 | 2022-09-20 | 天津大学 | 复合材料平面弹性有限元分析中的总体刚度矩阵求解方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178519B (zh) | 卷积神经网络加速引擎、卷积神经网络加速系统及方法 | |
CN102306396B (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
KR102217761B1 (ko) | 신경 네트워크의 파라미터들을 적응시키기 위한 방법 및 장치 | |
JP4474404B2 (ja) | パッキングベースのマクロ配置方法とそれを用いた半導体チップ | |
CN107992943A (zh) | 用于卷积神经网络的缓冲器寻址 | |
CN110516316B (zh) | 一种间断伽辽金法求解欧拉方程的gpu加速方法 | |
Pugnale et al. | Morphogenesis and structural optimization of shell structures with the aid of a genetic algorithm | |
CN110399591B (zh) | 基于卷积神经网络的数据处理方法和装置 | |
CN104574517B (zh) | 三维模型的边界面网格单元的处理方法和装置 | |
CN103353916B (zh) | 基于工程的复合材料层合板铺层优化后处理方法 | |
JP4778558B2 (ja) | 有限要素法と境界要素法による結合方程式の高速演算処理方法 | |
CN114048204A (zh) | 基于数据库倒排索引的北斗网格空间索引方法和装置 | |
CN112015735A (zh) | 一种非结构化网格的数据存储结构及数据存储方法 | |
CN112732630A (zh) | 针对深度学习的浮点矩阵乘算子众核并行优化方法 | |
CN102254106A (zh) | 一种基于元胞自动机的城市扩展模拟方法 | |
WO2021213010A1 (zh) | 一种基于Crossbar架构的剪枝方法及系统 | |
CN107886573B (zh) | 一种复杂地质条件下边坡三维有限元网格生成方法 | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
CN116362079B (zh) | 一种基于新型插值模型的多材料结构拓扑优化方法 | |
CN106980743A (zh) | 一种基于稀疏存储格式的三维结构静力学仿真模拟方法 | |
CN117610354A (zh) | 一种直六面体网格映射方法及装置 | |
CN116562218B (zh) | 一种基于强化学习实现矩形宏单元的布图规划方法和系统 | |
US20190392100A1 (en) | Storage medium which stores instructions for a simulation method in a semiconductor design process, semiconductor design system that performs the simulation method in the semiconductor design process, and simulation method in the semiconductor design process | |
CN114119882B (zh) | 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法 | |
CN110826186A (zh) | 基于对称稀疏矩阵技术和非零元素随机存放的lr三角分解法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170725 |
|
RJ01 | Rejection of invention patent application after publication |