权利要求
1.复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:包括如下步骤: 步骤1,根据待求解的复合材料平面弹性问题,构建三角形网格模型; 步骤2,根据复合材料的不同性质,将三角形网格模型划分为若干个子模型,其中每一个子模型由同一材料性质的全部三角形单元构成; 步骤3,在每一个子模型中,确定网格节点的节点对及其与总体刚度矩阵中非零子矩阵的对应关系,并根据非零子矩阵的数学特性将节点对分为三类:内部异点节点对、边界异点节点对以及同点节点对; 步骤4,基于总体刚度矩阵对称性和内部异点节点对对应非零子矩阵的对称性,利用神经网络求解内部异点节点对对应的非零子矩阵; 步骤5,基于总体刚度矩阵对称性,利用传统有限元方法求解边界异点节点对对应的非零子矩阵; 步骤6,基于刚性平移无节点力的特性,直接写出同点节点对对应的非零子矩阵; 步骤7,对三类节点对对应的非零子矩阵装配,得出总体刚度矩阵。2.根据权利要求1所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤2根据复合材料的不同性质,将三角形网格模型划分为若干个子模型的方法为: 对于复合材料中涉及的每一种材料,提取三角形网格模型中该材料的全部单元,上述单元组成的模型成为该材料的子模型。 3.根据权利要求1所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤3在每一个子模型中,确定网格节点的节点对及其与总体刚度矩阵中非零子矩阵的对应关系的方法为: 同一单元内的任意2个节点构成1个节点对,每个节点与其自身也构成一个节点对; 三角形网格模型中的每一个节点有唯一的编号,若构成节点对的节点编号分别为D与F,则将该节点对记为DF,D节点与其自身构成的节点对为DD; 总体刚度矩阵为稀疏矩阵,其行数与列数均为三角形网格模型中节点数目的2倍,将其分块为若干个2×2大小的子块,其第D行、第F列的子块即为节点对DF对应的非零子矩阵,其D行、第D列的子块即为节点对DD对应的非零子矩阵。 4.根据权利要求3所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤3根据非零子矩阵的数学特性将节点对分为三类:内部异点节点对、边界异点节点对以及同点节点对的方法为: 节点对DD记为同点节点对,节点对DF记为异点节点对; 若异点节点对中的D与F节点不均在子模型边界,则DF为内部异点节点对,否则DF为边界异点节点对; 每一个节点对DF对应于一个总体刚度矩阵中的2×2大小的非零子矩阵,其位置由节点对中的D与F节点的编号决定。 5.根据权利要求3所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤4基于总体刚度矩阵对称性和内部异点节点对对应非零子矩阵的对称性,利用神经网络求解内部异点节点对对应的非零子矩阵的方法为: 对于任意内部异点节点对DF,节点对FD也是内部异点节点对,且两者对应的非零子矩阵互为对称矩阵; 基于总体刚度矩阵对称性,内部异点节点对FD对应的非零子矩阵可由内部异点节点对DF对应的非零子矩阵对称得到; 在内部异点节点对对应的非零子矩阵为2×2大小的对称矩阵,需要求解其中3个数值; 对于仍需求解的一半非零子矩阵,利用神经网络求解。 6.根据权利要求3所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤5基于总体刚度矩阵对称性,只需要求解边界异点节点对DF对应的非零子矩阵;对于仍需求解的一半非零子矩阵,依照传统有限元方法求解。 7.根据权利要求3所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤6基于刚性平移无节点力的特性,直接写出同点节点对对应的非零子矩阵的方法为: 基于刚性平移无节点力的特性,对于每一个同点节点对DD,搜索全部异点节点对DF; 将上述所有异点节点对DF对应的非零子矩阵加和,并取相反数,所得到的结果即为同点节点对DD对应的非零子矩阵。 8.根据权利要求3所述的复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:所述步骤7对三类节点对对应的非零子矩阵装配,得出总体刚度矩阵的方法为:包括以下步骤: 步骤7.1,构建一个行数和列数均为节点数目2倍的稀疏矩阵,并将其分块为若干个2×2大小的子块; 步骤7.2,对于每一个节点对DF,寻找上述第D行、第F列的子块; 步骤7.3,将上述子块的已有数值与节点DF对应的非零子矩阵相加,更新该分块的数值; 步骤7.4,遍历所有节点对后,上述稀疏矩阵即为总体刚度矩阵。
说明书
技术领域
本发明涉及一种适用于复合平面弹性问题的有限元分析方法,具体涉及一种复合材料平面弹性有限元分析中的总体刚度矩阵求解方法。
背景技术
在工程生产中,出于保障安全或排除故障等目的,常常需要对设备或结构进行数据分析、状态预测。在结构分析过程中,由于需要同时兼顾准确率与计算成本,往往需要对问题进行一定程度的简化。因而在载荷较小,几乎不涉及塑性变形的问题中,常将事实上的弹塑性的问题简化为弹性问题。同样,对于板结构或壳结构,通常将其简化为平面问题进行分析。在工程领域中,有限元分析是进行科学计算的极为重要的方法之一,其通过将连续体划分为有限个单元,能够规范化地描述各类问题,并便于利用计算机的计算力进行物理问题的求解,是解决复合材料平面弹性问题的重要工具。
对平面弹性问题建立三角形单元网格模型,如图1所示,传统有限元分析具体过程为:网格模型中的每一个三角形单元均有3个节点,其中任意2个节点构成1个节点对,每个节点与其自身也构成一个节点对,共计9个节点对,如图1所示。遍历每一个三角形单元对应的全部9个节点对,逐一求解各节点对对应的非零子矩阵。将所有三角形单元的全部非零子矩阵装配,即为总体刚度矩阵。最后,基于总体刚度矩阵迭代求解位移场,并基于位移场表示网格模型的其他物理量。
在上述有限元分析过程中,相邻三角形单元往往会共享节点对。然而,由于传统有限元分析方法会遍历每一个三角形单元对应的全部9个节点对,大量相邻节点对会重复计算。例如,对于一个由1万个三角形单元构成的较小网格模型而言,需要遍历计算9万次节点对对应的非零子矩阵,装配为总体刚度矩阵。但其仅包含约2万个节点对,表明其中绝大多数节点对会在遍历不同三角形单元时重复计算。然而由于其计算过程涉及不同单元各自的特性,不能简单地进行删减操作来减少计算次数。因此,我们急需一种方法,能够保证计算效果的基础上,能够减少相邻节点对的计算次数,进行简化求解,达到提升计算速率的目的。
发明内容
本发明的目的在于克服复合材料平面弹性有限元分析中总体刚度矩阵求解过程计算成本过高的问题,在保证计算效果的基础上,提供一种复合材料平面弹性有限元分析的总体刚度矩阵简化求解方法。它不仅能够显著提升总体刚度矩阵计算效率,而且具有随着三角形网格模型中单元数目增大,其计算效率提高越显著的特点。
本发明解决其技术问题是通过以下技术方案实现的:
复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,其特征在于:包括如下步骤:
步骤1,根据待求解的复合材料平面弹性问题,构建三角形网格模型;
步骤2,根据复合材料的不同性质,将三角形网格模型划分为若干个子模型,其中每一个子模型由同一材料性质的全部三角形单元构成;
步骤3,在每一个子模型中,确定网格节点的节点对及其与总体刚度矩阵中非零子矩阵的对应关系,并根据非零子矩阵的数学特性将节点对分为三类:内部异点节点对、边界异点节点对以及同点节点对;
步骤4,基于总体刚度矩阵对称性和内部异点节点对对应非零子矩阵的对称性,利用神经网络求解内部异点节点对对应的非零子矩阵;
步骤5,基于总体刚度矩阵对称性,利用传统有限元方法求解边界异点节点对对应的非零子矩阵;
步骤6,基于刚性平移无节点力的特性,直接写出同点节点对对应的非零子矩阵;
步骤7,对三类节点对对应的非零子矩阵装配,得出总体刚度矩阵。
而且,所述步骤2根据复合材料的不同性质,将三角形网格模型划分为若干个子模型的方法为:
对于复合材料中涉及的每一种材料,提取三角形网格模型中该材料的全部单元,上述单元组成的模型成为该材料的子模型。
而且,所述步骤3在每一个子模型中,确定网格节点的节点对及其与总体刚度矩阵中非零子矩阵的对应关系的方法为:
同一单元内的任意2个节点构成1个节点对,每个节点与其自身也构成一个节点对;
三角形网格模型中的每一个节点有唯一的编号,若构成节点对的节点编号分别为D与F,则将该节点对记为DF,D节点与其自身构成的节点对为DD;
总体刚度矩阵为稀疏矩阵,其行数与列数均为三角形网格模型中节点数目的2倍,将其分块为若干个2×2大小的子块,其D行、第F列的子块即为节点对DF对应的非零子矩阵,其第D行、第F列的子块即为节点对DD对应的非零子矩阵。
而且,所述步骤3根据非零子矩阵的数学特性将节点对分为三类:内部异点节点对、边界异点节点对以及同点节点对的方法为:
节点对DD记为同点节点对,节点对DF记为异点节点对;
对于节点对DF,若D与F是同一个节点,则DF为同点节点对,否则为异点节点对,D节点与其自身构成的节点对为DD;
若异点节点对中的D与F节点不均在子模型边界,则DF为内部异点节点对,否则DF为边界异点节点对;
每一个节点对DF对应于一个总体刚度矩阵中的2×2大小的非零子矩阵,其位置由节点对中的D与F节点的编号决定。
而且,所述步骤4基于总体刚度矩阵对称性和内部异点节点对对应非零子矩阵的对称性,利用神经网络求解内部异点节点对对应的非零子矩阵的方法为:
对于任意内部异点节点对DF,节点对FD也是内部异点节点对,且两者对应的非零子矩阵互为对称矩阵;
基于总体刚度矩阵对称性,内部异点节点对FD对应的非零子矩阵可由内部异点节点对DF对应的非零子矩阵对称得到,减少1/2的计算量;
在内部异点节点对对应的非零子矩阵为2×2大小的对称矩阵,需要求解其中3个数值,这种内部异点节点对对应非零子矩阵的特殊对称性使得计算量在上述1/2的基础上再减少1/4;
对于仍需求解的一半非零子矩阵,利用神经网络求解。
而且,所述步骤5基于总体刚度矩阵对称性,只需要求解边界异点节点对DF对应的非零子矩阵,减少1/2的计算量;对于仍需求解的一半非零子矩阵,依照传统有限元方法求解。
而且,所述步骤6基于刚性平移无节点力的特性,直接写出同点节点对对应的非零子矩阵的方法为:
基于刚性平移无节点力的特性,对于每一个同点节点对DD,搜索全部异点节点对DF;
将上述所有异点节点对DF对应的非零子矩阵加和,并取相反数,所得到的结果即为同点节点对DD对应的非零子矩阵。
而且,所述步骤7对三类节点对对应的非零子矩阵装配,得出总体刚度矩阵的方法为:包括以下步骤:
步骤7.1,构建一个行数和列数均为节点数目2倍的稀疏矩阵,并将其分块为若干个2×2大小的子块;
步骤7.2,对于每一个节点对DF,寻找上述第D行、第F列的子块;
步骤7.3,将上述子块的已有数值与节点DF对应的非零子矩阵相加,更新该分块的数值;
步骤7.4,遍历所有节点对后,上述稀疏矩阵即为总体刚度矩阵。
本发明的优点和有益效果为:
本复合材料平面弹性有限元分析中的总体刚度矩阵求解方法,通过利用非零子矩阵的数学特性实现将子模型内部的节点对进行分类,从而实现对总体刚度矩阵每一个节点对对应的非零子矩阵进行单次的分类计算,在能够保证计算效果的基础上,能够减少相邻节点对的计算次数,对总体刚度矩阵进行简化求解,达到提升计算速率的目的。本发明的总体刚度矩阵简化求解方法随着随三角形网格模型节点和单元数量的增加,其计算效率提高越显著。因此,特别适合于平面弹性问题有限元分析。
附图说明
图1为本发明三角形网格模型中每个单元对应的9节点对示意图(其中9个节点对为:DD、EE、FF、DE、ED、DF、FD、EF、FE);
图2为本发明复合材料平面弹性问题有限元分析的总体刚度矩阵简化求解流程图;
图3为本发明具体实施算例1的几何模型、三角形网格模型与子模型示意图(图中,a为复合材料平面弹性问题几何模型;b为三角形单元三角形网格模型;c为包含TC材料单元的子模型;d为包含CMAS材料单元的子模型);
图4为本发明具体算例1的子模型中节点对分类示意图;
图5为本发明具体算例中本发明的简化求解方法与传统有限元方法的计算效率对比图。
具体实施方式
下面通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
图2为本发明复合材料平面弹性问题有限元分析的总体刚度矩阵简化求解流程图。根据图2所示,复合材料平面弹性问题有限元分析的总体刚度矩阵简化求解流程如下:
根据复合平面弹性问题的几何模型,借助现有有限元分析方法,构建三角形单元三角形网格模型;
将三角形网格模型依据材料性质划分为若干个仅包含单一材料的子模型;
在每一个子模型中,遍历每一个节点对DF,依据D节点与F节点是否为同一个节点及是否在子模型边界,将其划分为内部异点节点对、边界异点节点对与同点节点对;
对于内部异点节点对对应的非零子矩阵,借助神经网络完成计算;
对于边界异点节点对对应的非零子矩阵,基于传统有限元方法完成计算;
对于同点节点对对应的非零子矩阵对应的节点对,基于节点对间关系直接写出;
构建一个行数与列数均为节点数2倍的稀疏矩阵,并分块为若干个2×2大小的子块;
对于上述过程中计算的每一个非零子矩阵,按照与其对应的节点对DF,搜索第D行第F列的子块,将其中已有数值与上述非零子矩阵相加,更新该子块;遍历所有节点对后,该稀疏矩阵即为总体刚度矩阵。
以由同一个复合材料平面弹性问题构建的9个不同密度三角形网格模型为例,对上述计算过程加以说明。
图3中展示了根据复合材料平面弹性问题几何模型构建三角形单元三角形网格模型,并进一步划分为2个子模型(包含TC材料单元的子模型以及包含CMAS材料单元的子模型)的过程。对于每一个子模型,均依据节点间关系将节点对分类为内部异点节点对,边界异点节点对与同点节点对。图4展示了通过包含CMAS材料单元的子模型的一个局部展示了节点对分类的部分结果。
求解内部异点节点对对应非零子矩阵的过程如下:
对于每一个D节点编号小于F节点编号的内部异点节点对DF,先对其进行预处理:提取同时包含D节点与F节点的两个相邻三角形单元,记上述两个单元中除D与F节点以外的节点为P与Q;以D点为(-1,0),F点为(1,0),构建局部坐标系,记录局部坐标系x轴与全局坐标系x轴的夹角θ;将P与Q在局部坐标系下的坐标作为输入值,经由对应材料的神经网络计算,得到三个数值,其为一个对称矩阵 下三角部分;根据对称性,写出 ,并依据,得到DF节点对对应的非零子矩阵。其中,,为坐标变换矩阵;为的转置矩阵。对于每一个D节点编号大于F节点编号的内部异点节点对DF,其对应的非零子矩阵与内部异点节点对FD对应的非零子矩阵互为对称矩阵,通过上述过程中已求解的非零子矩阵直接写出。
求解边界异点节点对对应非零子矩阵的过程如下:
对于每一个D节点编号小于F节点编号的内部异点节点对DF,提取同时包含D节点与F节点的单元(这样的单元只有一个)。在该单元中,通过传统有限元方法求解描述D节点位移与F节点力间关系的单元刚度矩阵子矩阵。对于每一个D节点编号大于F节点编号的边界异点节点对DF,其对应的非零子矩阵与边界异点节点对FD对应的非零子矩阵互为对称矩阵,通过上述过程中已求解的非零子矩阵直接写出。求解同点节点对对应非零子矩阵的过程如下:基于刚性平移无节点力的特性,对于每一个同点节点对DD,搜索全部异点节点对DF;将上述所有异点节点对DF对应的非零子矩阵加和,并取相反数,所得到的结果即为同点节点对DD对应的非零子矩阵。
最后,构建一个行数和列数均为节点数目2倍的稀疏矩阵,并将其分块为若干个2×2大小的子块;对于每一个节点对DF,寻找上述第D行、第F列的子块;将上述子块的已有数值与节点DF对应的非零子矩阵相加,更新该分块的数值;遍历所有节点对后,上述稀疏矩阵即为总体刚度矩阵。
同一个几何模型可以在不同的网格密度下划分为不同数目的网格,如表1所示。
表1
基于上述不同密度三角形网格模型,采用传统有限元方法与本发明提出的总体刚度矩阵简化计算方法分别计算,结果如图5所示。
由图5可见,在所有算例中,该方法的计算时间成本均优于传统有限元方法。且计算时间减小的比例随网格密度的增大逐渐提高,最高达到48.42%。
因此,本发明的复合材料平面弹性问题有限元分析的总体刚度矩阵简化求解方法,在保证计算效果的基础上,能够减少相邻节点对的计算次数,对总体刚度矩阵进行简化求解,达到提升计算速率的目的。本发明的总体刚度矩阵简化求解方法随着随三角形网格模型节点和单元数量的增加,其计算效率提高越显著。因此,本发明的求解方法特别适合于平面弹性问题的有限元分析。
尽管为说明目的公开了本发明的实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例和附图所公开的内容。