一、为什么使用子结构分析技术 使用子结构主要是为了节省机时,并且允许在比较有限的计算机设备资源的基础上求解超大规模的问题。主要子结构原因有三:
1. 非线性分析和带有大量重复几何结构的分析。在非线性分析中,可以将模型线性部分作成子结构,这样这部分的单元矩阵就不用在非线性迭代过程中重复计算。在有重复几何结构的模型中(如有四条腿的桌子),可以对于重复的部分生成超单元,然后将它拷贝到不同的位置,这样做可以节省大量的机时。
2. 在结构分析中,用户可以将不关心的区域作为子结构,形成超单元在整体结构中进行分析。
3. 一个问题就波前大小和需用磁盘空间来说相对于一个计算机系统太庞大了,用户可以通过子结构将问题分块进行分析,每一块对于计算机系统来说都是可以计算的。
二、子结构分析技术的步骤 子结构分析主要分为三个部分:
1. 生成部分:生成部分就是将普通的有限元单元凝聚为一个超单元。凝聚是通过定义一组主自由度来实现的。主自由度用于定义超单元与模型中其他单元的边界,提取模型的动力学特性。
2. 使用部分:使用部分就是将超单元与模型整体相连进行分析的部分。整个模型可以是一个超单元,也可以象上例一样是超单元与非超单元相连的。使用部分的计算只是超单元的凝聚(自由度计算仅限于主自由度)和非超单元的全部计算。
3. 扩展部分:扩展部分就是从凝聚计算结果开始计算整个超单元中所有的自由度。如果在使用部分有多个超单元,那么每个超单元都需要有单独的扩展过程。
三、子结构分析技术实例命令流
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !计算未使用子结构的模型
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fini
/output,arch_1,dat /filnam,arch_1 /PREP7
!!!!!!!!!!!!!!!!!!!!!!!!!!!建立模型 ET,1,BEAM3
R,1,0.01,1e-4/12,0.1, , , , MPTEMP,,,,,,,, MPTEMP,1,0
MPDATA,EX,1,,2e11 MPDATA,PRXY,1,,0.3 K,1,-5,0,, K,2,0,3,, K,3,5,0,, LARC,1,3,2 K,4,-2,0,, K,5,-2,6,, K,6,2,0,, K,7,2,6,, LSTR,4,5 LSTR,5,7 LSTR,7,6 lsel,s,line,,1 lsel,a,line,,2 lsel,a,line,,4 LSBL,1,all allsel,all LSTR,5,8
LSTR,7,9
!!!!!!!!!!!!!!!!!!!!!!!!!!!!划分网格 TYPE, 1 MAT, 1 REAL, 1 ESYS, 0 SECNUM, ESIZE,0.2, , LMESH,all allsel,all
!!!!!!!!!!!!!!!!!!!!!!!!!!!!施加约束 nsel,s,loc,y,0
D,all, , , , , ,ALL, , , , , allsel,all
!!!!!!!!!!!!!!!!!!!!!!!!!!!!施加载荷 lsel,s,loc,y,6 esll,s
SFBEAM,all,1,PRES,1000, , , , , , allsel,all save FINISH
!!!!!!!!!!!!!!!!!!!!!!!!!!!!求解 /SOLU SOLVE fini
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !计算使用子结构的模型
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!定义计算得到超单元 fini /clear
/output,matrix50,dat /filnam,matrix50 /PREP7
ET,1,BEAM3
R,1,0.01,1e-4/12,0.1, , , , MPTEMP,,,,,,,, MPTEMP,1,0
MPDATA,EX,1,,2e11 MPDATA,PRXY,1,,0.3 K,1,-2,2.635325,, K,2,2,2.635325,, K,3,2,6,, K,4,-2,6,, LSTR,1,4 LSTR,4,3 LSTR,3,2 TYPE,1 MAT,1 REAL,1 ESYS,0 SECNUM, ESIZE,0.2 LMESH,all lsel,s,loc,y,6 esll,s
SFBEAM,all,1,PRES,1000, , , , , ,
allsel,all fini /SOLU
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!定义子结构分析 ANTYPE,SUBSTR
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!定义子结构的文件名以及输出超单元矩阵和载荷向量 SEOPT,matrix50,1,1,0,0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!设置为集中质量矩阵 LUMPM,0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!定义主自由度 nsel,s,loc,y,2.6,2.7 M,all,ALL, , , allsel,all save SOLVE fini
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!进行子结构分析计算 fini /clear
/output,arch_2,dat /filnam,arch_2 /PREP7 ET,1,BEAM3
ET,2,MATRIX50
R,1,0.01,1e-4/12,0.1, , , , MPTEMP,,,,,,,, MPTEMP,1,0
MPDATA,EX,1,,2e11 MPDATA,PRXY,1,,0.3 K,1,-5,0,, K,2,0,3,, K,3,5,0,, LARC,1,3,2 K,4,-2,0,, K,5,-2,4,, K,6,2,0,, K,7,2,4,, LSTR,4,5 LSTR,7,6
LSBL,1,all,,keep,delete
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!定义以及导入超单元类型 TYPE,2
SE,matrix50,,,0.0001,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!定义非超单元 TYPE,1 MAT,1 REAL,1 ESIZE,0.2, LMESH,all
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!建立超单元与非超单元的连接--必须要执行这个步骤
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!可以使用merge节点或者耦合方法来连接超单元与非超单元 nummrg,node,0.001
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!施加约束 nsel,s,loc,y,0
D,all, , , , , ,ALL, , , , , allsel,all
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!施加载荷 SFE,1,1,SELV, ,1, save fini /SOLU SOLVE fini
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!对超单元的结构进行扩展 fini /clear
/output,matrix50,dat,,append /filnam,matrix50 resume /solu
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!指定对结果进行扩展 expass,on
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!指定子结构扩展的选项(matrix50 子结构的文件名; arch_2 整体模型的文件名)
seexp,matrix50,arch_2 outres,all,all expsol,1,1 solve
因篇幅问题不能全部显示,请点此查看更多更全内容