ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[toc] --- **关键命令**: - INQUIRE - *VREAD - LSEL - LESIZE - LMESH - NODE # 1. 问题描述 预期通过几何建模的方式建立如下的简单桁架模型: ![mark](http://ohg8hplbf.qnssl.com/blog/20170120/152245788.png) # 2. 技术背景 本例中的坐标数据通过读取txt数据文件导入: ![mark](http://ohg8hplbf.qnssl.com/blog/20170120/152721364.png) 数据格式如: ``` 0.0 0.0 6.0 0.0 12.0 0.0 18.0 0.0 24.0 0.0 6.0 8.0 12.0 8.0 18.0 8.0 ``` # 3. 解决方案 本例的技术要点包括: - 数据文件读取(坐标、定位编号) - 截面参数设置 - 元素选择 - 有限元网格划分 - 结点编号提取 # 4. 实施示例 ## 初始化 ``` FINI /CLEAR /FILNAME,TRUSS,1 ! 定义工作标题 /TITLE,PRACTICE OF GEOMETRY MODELLING ``` ## 数据读取 ``` !------------------------------数据读取------------------------------- /PREP7 /INQUIRE,N_KP,LINES,b01_KP,TXT ! 读取KP坐标 *DIM,XY_KP,,N_KP,2 *VREAD,XY_KP(1,1),b01_KP,TXT,,JIK,2,N_KP (2F5.0) /INQUIRE,N_L,LINES,b01_L,TXT ! KP组合 *DIM,KP_PAIRS,,N_L,2 *VREAD,KP_PAIRS(1,1),b01_L,TXT,,JIK,2,N_L (2F5.0) ``` 读取外部文件中的坐标数据: - 获取文件的数据行数 ``` /INQUIRE,N_KP,LINES,b01_KP,TXT ``` - 读取数据到内部变量 ``` *DIM,... *VREAD,... (2F5.0) ``` ## 几何建模 ``` !------------------------------节点, 线段------------------------------- *DO,ILOOP,1,N_KP ! 建立KP K,ILOOP,XY_KP(ILOOP,1),XY_KP(ILOOP,2) *ENDDO *DO,ILOOP,1,N_L ! 建立LINE L,KP_PAIRS(ILOOP,1),KP_PAIRS(ILOOP,2) *ENDDO ``` - 建立kp ![mark](http://ohg8hplbf.qnssl.com/blog/20170120/153308069.png) - 连接line ![mark](http://ohg8hplbf.qnssl.com/blog/20170120/153341802.png) ## 单元材料设置 ``` ET,1,LINK180 ! cable element SECTYPE,1,LINK SECDATA,0.01 SECTYPE,2,LINK SECDATA,0.02 SECTYPE,3,LINK SECDATA,0.03 MP,EX,1,2.1E11 MP,PRXY,1,0.3 ``` - 单元类型为LINK180 - 利用`SECDATA`设置杆件截面参数 ## 几何模型特性设置 ``` !------------------------------有限元网格划分------------------------------- !LATT, MAT, REAL, TYPE, --, KB, KE, SECNUM LSEL,S,TAN1,Y ! 选择水平杆件, 垂直于Y LATT,1,,1,,,,1 ! LATT,MAT,,TYPE,,,,SECNUM LPLOT LSEL,S,LOC,X,6,18 ! 选择腹杆 LSEL,R,LOC,Y,1,7 LATT,1,,1,,,,2 ! SECNUM 3 LSEL,S,LOC,Y,1,7 ! 选择腹杆 LSEL,U,LOC,X,6,18 ! 去除内腹杆, 选择边杆 LATT,1,,1,,,,3 LSEL,ALL /PNUM,LINE,1 /PNUM,KP,1 LPLOT ``` - 分别选择水平杆、腹杆、竖杆,赋予特性; - 通过几何位置选择特性的line ## 网格划分 ``` !------------------------------网格单元------------------------------- ! LESIZE, NL1, SIZE, ANGSIZ, NDIV, SPACE, KFORC, LAYER1, LAYER2, KYNDIV LSEL,S,TAN1,Y ! 水平竖直杆件选择集 LSEL,A,TAN1,X ! 增加垂直杆件, ADD TO CURRENT SET LESIZE,ALL,1 ! SIZE = 1 LSEL,S,LOC,Y,1,7 ! 斜杆选择集 LSEL,U,TAN1,X ! 除去竖杆 LESIZE,ALL,,,3 ! NDIV = 3 LSEL,ALL ! 全选, 划分网格 LMESH,ALL ! GENERATES NODES AND LINE ELEMENTS ALONG LINES. LPLOT ``` 网格划分两种基本方式: - 段数 - 每一段的长度 ## node编号提取 ``` !------------------------------获取NODE------------------------------- ! NODE(X,Y,Z) *DIM,NODE_KP,,N_KP,2 ! 获取KP对应的NODE编号 *DO,ILOOP,1,N_KP ! 第一列为序号, 第2列为NODE编号 NODE_KP(ILOOP,1) = ILOOP X = XY_KP(ILOOP,1) Y = XY_KP(ILOOP,2) NODE_KP(ILOOP,2) = NODE(X,Y,0) *ENDDO ``` 网格划分后,模型的单元号难以直接确定,通过`node`命令,根据坐标提取相应的node编号。 # 5. 常见问题 程序下载:https://coding.net/u/frank0449/p/ANSYS/git/tree/master/1605_toolBox/b001 > 本文用时 30 m