发明名称 大规模结构有限元模型的多位移边值约束工况处理方法
摘要 一种大规模结构有限元模型的多位移边值约束工况处理方法,由三个关键技术策略构成:结构离散化有限元模型的节点分类与重排序策略、三类节点刚阵元素的一维全稀疏存储及其数据结构管理策略和各位移边值工况的结构总刚矩阵动态拼装策略。本发明的算法思路与现代工程商用软件的算法操作完全是逆向的,一次性生成多位移边值总刚矩阵,采用了便于拼装的分段存储结构,在结构多工况分析中当需要获得每一位移工况的总刚矩阵时,只需要进行拼装即可获得完整的总刚矩阵,从而避免了初始总刚矩阵边值处理过程中大量的内存移动操作,因而具有明显的效率优势。另外,在大规模结构中与位移边值约束有关的总刚矩阵元素比例较小,因此此方法还具备明显的内存优势。
申请公布号 CN105677981A 申请公布日期 2016.06.15
申请号 CN201610011270.1 申请日期 2016.01.08
申请人 西北工业大学 发明人 孙秦;张保
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 慕安荣
主权项 一种大规模结构有限元模型的多位移边值约束工况处理方法,其特征在于,具体过程是:步骤1,多位移工况的节点重排序;所述多位移工况的节点重排序是对第1类的位移约束节点、第2类的与所有位移边值约束相关联的自由节点和第3类的完全自由类节点的重排序;重排序时,将第三类完全自由节点安排在结构总刚矩阵的前位;将第二类相关联节点安排在结构总刚矩阵的中位;将位移边值约束节点安排在结构总刚矩阵的末位;重排序后的位移约束节点内部原有的相对顺序、与所有位移边值约束相关联的自由节点内部原有的相对顺序和完全自由类节点内部原有的相对顺序均保持不变;具体排序中,根据网格节点编号的分布确定自然序;通过对自然序进行节点重排序,得到该节点的使用序;步骤2,多位移边值总刚矩阵模拟投放;所述的总刚矩阵采用全稀疏按行压缩存储格式,缩写为CSR,在有限元模型总刚矩阵形成之前需要建立其数据结构,得到总刚矩阵线性表,包括CSR格式中的行索引数组及列索引数组;为获得所述多位移边值总刚矩阵的线性表,通过两个步骤完成:第一步,形成结构模型节点单链表,该节点单链表描述了结构模型离散化网格中的节点间关联关系;第二步,形成多位移边值总刚矩阵线性表,此过程是在单链表的基础上按自由度级展开,并引入多位移边值条件的标记;所述的总刚矩阵节点单链表包括三个整型数组:列号数组IROW、行头数组IFCR及位置数组LNXT;通过对结构模型所有单元的遍历查询得到总刚矩阵单链表,获得到单元节点间的关联关系,并在单链表中记录每一节点在总刚矩阵中的后继关联节点;所述总刚矩阵单链表的生成算法流程如下:首先对单链表各数组初始化;随后依次按单元种类、单元数以及单元节点循环,对有限元模型的单元节点关联关系进行遍历查询,并判断节点间是否存在单元连接关系;当节点之间存在单元关联关系时,需将节点自然序通过数组IOVE转换为使用序,并将每一节点相关联的节点使用序记录到单链表中,步骤3,生成多位移边值总刚矩阵;所述生成过程是对单元遍历,并将各单元的刚度矩阵元素投放到多位移工况总刚矩阵数值部分对应位置;多位移工况总刚矩阵及约束刚度矩阵的投放过程包含两个大循环和两个小循环;大循环为单元种类循环和单元循环,即实现了对所有单元的遍历,并形成每一单元总体坐标系下的刚度矩阵<img file="FDA0000902905650000011.GIF" wi="71" he="68" />小循环即单元节点循环和位移工况循环,在单元节点循环中,由于单元节点使用的是自然序,因而需将节点自然序通过IOVE转换成总刚矩阵中的使用序,然后判断当前单元是否包含约束节点或约束相关节点,当所有节点为完全自由节点时单元刚度矩阵将投放到完全自由节点对应的总刚矩阵GSM中,投放地址通过节点的使用序从完全自由节点自由度序列表IDOF中获取;当单元中存在约束节点或约束相关节点时,需进行多位移边值循环,并将对应的单元刚阵元素投放到约束节点相关的多工况总刚矩阵GCSM<sub>ibc</sub>,ibc=1,…,NBC及约束矩阵GDSM<sub>ibc</sub>,ibc=1,…,NBC中;所述投放的投放地址通过节点使用序从约束节点及约束相关自由度序列表IDOFC<sub>ibc</sub>,ibc=1,…,NBC中获取;多位移工况总刚度矩阵在系统总顺序表中的数据存储为线性表,由三部分组成,即完全自由节点对应的总刚矩阵、约束节点及相关节点的未约束自由度的总刚矩阵和约束节点及相关节点的约束自由度的总刚矩阵;步骤4,多位移边值总刚矩阵的动态拼装;通过上述各节的运算操作,形成多位移边值工况分段管理的全部数据,其中包括多位移工况的自由度序列表、总刚矩阵和约束刚度矩阵;所述总刚矩阵和约束刚度矩阵中均包括线性表及数值部分;所述总刚矩阵都采用多位移边值一维分段存储管理模式,即完全自由节点对应部分存储一份,约束节点和约束相关节点对应部分每一位移边值各自存储;为了适应这种动态拼装,需要在自由节点的相关数据后预留足够的内存数组空间;为了获得第ibc位移工况的自由度序列表,拼装方式为IDOF‑IDOFC<sub>ibc</sub>;将IDOFC<sub>ibc</sub>对应的数据拷贝到IDOF后面预留的内存空间,然后访问一维顺序表中IDOF起始空间数据即能够实现对第ibc位移工况自由度序列表的调用;同理,总刚矩阵的拼装过程也相同,其拼装过程包括三部分,即总刚矩阵线性表的行索引IRN‑ICRN<sub>ibc</sub>、列索引ICN‑ICCN<sub>ibc</sub>和数值部分GSM‑GCSM<sub>ibc</sub>。
地址 710072 陕西省西安市友谊西路127号