阿阳的 ANSYS 使用指南,本文仅用于个人学习,除此之外,无其他任何用途。
ANSYS 有限元分析 坐标系/工作平面
ANSYS 有限元分析 几何建模
ANSYS 有限元分析 网格划分
因个人能力有限,本文难免有所疏漏/错误,不妥之处还请各位批评指正。
生成结点和单元的网格划分过程包括 3 个步骤:
1. 定义单元属性,包括单元类型、单元阶次、积分点个数等。
2. 定义网格生成控制,主要包含网格密度,网格最小、最大尺寸等 (布种子) 。
3. 生成网格,自由网格 or 映射网格。
在对模型进行网格划分之前,要明确是采用自由网格还是采用映射网格来进行分析。自由网格对单元的形状无限制,并没有特定的准则。而映射网格则对包含的单元形状有限制,而且必须满足特定的规则。
映射面网格只包含四边形或三角形,映射体网格只包含六面体网格。另外,映射网格具体规则的排列形状,如果想要这种网格类型,所生成的几何模型必须具有一系列规相当规则的体或面。自由网格和映射网格示意图如下图所示:
ANSYS软件平台提供了自由网格划分 (Free) 和映射网格划分 (Mapped) 两种策略。自由网格划分用于空间自由曲面和复杂实体,采用三角形、四边形、四面体进行划分,通过网格数量、边长及曲率来控制网格的质量。而映射划分则是用于曲线、曲面、实体的网格划分方法,可使用三角形、四边形、四面体、五面体和六面体进行划分,通过指定单元边长、网格数量等参数对网格进行严格控制。映射划分只用于规则的几何图素,对于裁剪曲面或者空间自由曲面等复杂几何体则难以控制。
在生成结点和单元前,必须定义合适的单元属性,包括如下选项:
1. 单元类型 (例如:BEAM3、SHELL61 等) 。
2. 实常数 (例如:厚度和横截面积等) 。
3. 材料性质 (例如:弹性模量、热传导系数等) 。
4. 单元坐标系 。
5. 截面号 (只对 BEAM44、BEAM188 和 BEAM189 单元有效) 。
同样的单元形式,因为关键项设置的不同,将可能产生不同的计算结果,因此,需要进行区分,以单元识别号来区分单元种类,这一思路与 Abaqus 有些不同。
例如,同样是 20 结点六面体单元 Solid186,当其单元关键项 KEYOPT(2) 设置为 0 时,表示该单元为减缩积分单元,即 Abaqus 中的 C3D20R 单元;当其单元关键项 KEYOPT(2) 设置为 1 时,表示该单元为完全积分单元,即 Abaqus 中的 C3D20 单元。
由此可见,在 ANSYS 中,是通过设置单元关键选项的方式来定义单元的某些性质/属性,而在 Abaqus 中,是在 Assign Element Type 菜单中设置。
使用功能: Defines a local element type from the element library.
使用格式: ET,ITYPE,Ename,KOP1,KOP2,KOP3,KOP4,KOP5,KOP6,INOPR 。
参数说明: ITYPE —— Arbitrary local element type number. Defaults to 1 + current maximum.
Ename —— Element name (or number) as given in the element library
KOP1,KOP2, . . . . . .,KOP6 —— KEYOPT values (1 through 6) for this element, as described in the Element Reference.
INOPR —— If 1, suppress all element solution printout for this element type.
参考实例: 创建 SOLID186 完全积分单元。
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,SOLID186 ! 定义单元类型为SOLID186,其单元识别号为etmax+1。
KEYOPT,etmax+1,2,1 ! 设置单元关键选项,将单元类型参考号为etmax+1的单元设置为完全积分单元。
在 GUI 中,定义的单元类型按如下方式查看: 菜单栏 >> List >> Properties >> Elements Types 。
单元属性主要包括几何属性 (位置、尺寸等)、物理属性 (弹模、泊松比等)。单元的实常数是对于所选单元的补充定义,实常数对于不同的单元有不同的用途,一般的用途为:
1. 梁单元: 梁单元建模时只是一条线,为了设置单元的面积、惯性矩、高度等属性,需要为实常数来设置。
2. 板壳单元: 板单元建模时只是一个面,面的厚度等属性要能过实常数来设置。
3. 实体单元:对于平面四边形单元,若是平面应力问题且厚度不为1时,要在实常数中设置单元的厚度。
4. 弹簧单元: 弹簧单元建模时只是一条线,弹簧的刚度、阻尼系数等要通过实常数设置。
使用功能: Defines the element real constants.
使用格式: R,NSET,R1,R2,R3,R4,R5,R6。
参数说明: NSET —— Real constant set identification number (arbitrary) 。
R1,R2,R3, . . . ,R6 分别为实常数值。
实常数值: (interpreted as area, moment of inertia, thickness, etc., as required for the particular element type using this set), or table names for tabular input of boundary conditions. Use RMORE command if more than six real constants per set are to be input.
参考实例: 定义横截面实常数。
参考实例: 定义各项同性材料。
! 方式一(无法以GUI方式查看)
! *GET,mtmax,MAT,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量mtmax。
! MP,EX,mtmax+1,1.69e5 ! 定义mtmax+1号材料属性弹性模量
! MP,PRXY,mtmax+1,,0.275 ! 定义mtmax+1号材料属性泊松比
! MP,DENS,mtmax+1,2500 ! 定义mtmax+1号材料属性密度
! 方式二
ALLSEL,ALL ! *GET前最好全选,以免出现意向不到的错误。
*GET,mtmax,MAT,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量mtmax (mtmax=0)。
MPTEMP,,,,,,,, ! 为材料属性定义温度表 (固定格式无需修改)
MPTEMP,1,0 ! 为材料属性定义温度表 (固定格式无需修改)
MPDATA,EX,mtmax+3,,2e5 ! 定义mtmax+3号材料属性弹性模量
MPDATA,PRXY,mtmax+3,,0.28 ! 定义mtmax+3号材料属性泊松比
MPDATA,DENS,mtmax+3,,2700 ! 定义mtmax+3号材料属性密度
注意: 方向关键点是线的属性而不是单元属性。
使用功能: 定义广义截面 / Associates section type information with a section ID number 。
使用格式: SECTYPE,SECID,Type,Subtype,Name,REFINEKEY 。
参数说明: SECID 为截面编号 / Section identification number 。
Type 为截面类型,特定值不能随意指定,可以为 BEAM、LINK、SHELL、CONTACT 等。
Subtype 为截面子类型,根据 Type 值不同,其取不同的值。
Name 为截面名称 (最长8个字符),Name can be a string such as “W36X210” or “HP13X73” for beam sections 。
REFINEKEY —— Sets mesh refinement level for thin-walled beam sections.
Valid values are 0 (the default - no mesh refinement) through 5 (high level of mesh refinement).
This value has meaning only when Type = BEAM.
特别注意: SECTYPE 命令后,需紧接 SECOFFSET 命令和 SECDATA 命令。
SECOFFSET 用于设置截面偏置;SECDATA 用于设置截面的几何尺寸。
I 字形截面的 SECDATA 各值如下图所示:
参考实例: 创建 H 型钢截面,截面规格为 H200×100×5×10。
*GET,scmax,SECP,,NUM,MAX ! 获取当前定义的最大梁截面编号并将其赋予变量scmax。
SECTYPE,scmax+1,BEAM,I,H200X100X5X10 ! 定义H型钢梁截面,其截面编号为scmax+1,其名称为H200×100×5×10。
SECOFFSET,CENT ! 设置截面偏置,即梁杆轴端点位于梁截面形心上。
H = 200 $ B = 100 $ t1 = 5 $ t2 = 10 ! 分别为H型钢截面的高度、宽度、腹板厚度和翼缘厚度。
SECDATA,B,B,H,t2,t2,t1 ! 定义截面几何尺寸
由上述命令流创建的梁截面,如下图所示:
因 ANSYS 的梁截面名称只限定在 8 个字符以内,超过部分将被省略。因此,在 GUI 中,H 型钢梁截面的名称仅显示前 8 个字符,即 H200X100。
特别注意:在网格划分前,必须完成各种单元属性的定义,并通过相应的识别号 (参考号) 进行激活,使得这些属性能准确的赋给随后创建的单元。
分配给即将创建的单元属性,包括材料号 (MAT)、实常数号 (REAL)、单元类型号 (TYPE)、坐标系号 (ESYS) 以及截面号 (SECNUM)。
仅梁单元 (BEAM188和BEAM189) 才会用到截面号,梁的方向指定是通过给线分配方向关键点来实现的,它是线的属性而不是单元的属性。
参考实例: 激活材料属性、实常数属性及单元类型属性。
MAT,101 ! 激活101号材料
REAL,201 ! 激活201号实常数
TYPE,301 ! 激活301号单元
新建单元属性后,系统不自动切换单元属性号,需要按上述方式进行激活。当前,处于激活状态的单元属性号在状态提示栏内查看,如下图所示。
注意: R 是定义实常数,REAL 是激活实常数,这是两个不同的命令。
使用功能: Sets the element material attribute pointer.
使用格式: MAT,MAT 。
使用功能: Sets the element real constant set attribute pointer.
使用格式: REAL,NSET 。
使用功能: Sets the element type attribute pointer.
使用格式: TYPE,ITYPE 。
参数说明: ITYPE —— Assign this type number to the elements (defaults to 1).
EMODIF,ALL,MAT,101 ! 将所有实体的材料属性修改为101号材料。
使用功能: 对已存在的单元属性进行修改 / Modifies a previously defined element.
使用格式: EMODIF,IEL,STLOC,I1,I2,I3,I4,I5,I6,I7,I8 。
参数说明: IEL —— Modify nodes and/or attributes for element number IEL. If ALL, modify all selected elements.
STLOC —— Starting location (n) of first node to be modified or the attribute label.
If MAT, TYPE, REAL, ESYS, or SECNUM, modify only that attribute to the I1 value.
使用功能: 指定划分单元的形状。
使用格式: MSHAPE,KEY,Dimension。
参数说明: KEY —— Key indicating the element shape to be used.
Dimension : Specifies the dimension of the model to be meshed.
KEY = 0,如果 Dimension = 2D,ANSYS 将用四边形单元划分网格,如果 Dimension = 3D,ANSYS 将用六面体单元划分网格。
KEY = 1,如果 Dimension = 2D,ANSYS 将用三角形单元划分网格,如果 Dimension = 3D,ANSYS 将用四面体单元划分网格。
除了指定单元形状外,还需要指定对模型进行网格划分的类型 (自由划分或者映射划分),可采用 MSKEY 命令。
单元形状 (MSHAPE) 和 网格划分类型 (MSKEY) 的设置共同影响网格的生成。
使用功能: 选择采用自由划分还是采用映射划分方式。
使用格式: MSKEY,KEY 。
参数说明: KEY 为确定网格划分方式的控制键。若为0,表示为自由网格划分 (默认);
若为1,采用映射网格划分方式。
使用功能: 对所选择的线设置网格单元大小。
使用格式: LESIZE,NL1,SIZE,ANGSIZ,NDIV,SPACE,KFORC,LAYER1,LAYER1,KYNDIV 。
参数说明: NL1 为线的编号,也可以为 ALL、P 或元件名。
SIZE : 若 NDIV 为空,SIZE 指单元的边长,分段数将根据线长自动计算,圆整得到。
NDIV : 若为正,NDIV 表示每条线的分段数。
KYNDIV : 当 KYNDIV 为 0 时,表示智能化网格划分无效,如果等分不匹配,映射网格失败。
创建完法兰及垫片有限元模型后,接下来将创建螺栓杆单元,如下:
FINISH ! 退出当前处理器
/CLEAR,ALL ! 清除所有
/PREP7 ! 进人前处理器
*AFUN,RAD ! 指定角度单位为弧度(非必要步骤)
pi = ACOS(-1) ! 获取圆周率pi的数值(非必要步骤)
*AFUN,DEG ! 将角度单位切换为度(非必要步骤)
CSYS,0 ! 激活总体直角坐标系统
xc = 500 $ yc = 0 $ zc = 0 ! 局部坐标系原点位置(相对应当前激活坐标系)
thxy = 0 $ thyz = 0 $ thzx = 90 ! 局部坐标轴旋转角度度(相对应当前激活坐标系)
LOCAL,15,0,xc,yc,zc,thxy,thyz,thzx ! 创建局部直角坐标系15
CSYS,15 ! 激活局部坐标系15
xc = 1000 $ yc = 0 $ zc = 0 ! 局部坐标系原点位置(相对应当前激活坐标系)
thxy = 0 $ thyz = 0 $ thzx = 0 ! 局部坐标轴旋转角度度(相对应当前激活坐标系)
CLOCAL,16,1,xc,yc,zc,thxy,thyz,thzx ! 根据激活的局部坐标系15定义新的局部柱坐标系16
! 1.定义材料
*GET,mtmax,MAT,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量mtmax。
MPTEMP,,,,,,,, ! 为材料属性定义温度表
MPTEMP,1,0 ! 为材料属性定义温度表
MPDATA,EX,mtmax+1,,2e5 ! 定义mtmax+1号材料属性弹性模量
MPDATA,PRXY,mtmax+1,,0.28 ! 定义mtmax+1号材料属性泊松比
MPDATA,DENS,mtmax+1,,2700 ! 定义mtmax+1号材料属性密度
! 2.定义单元
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,BEAM189 ! 定义梁单元
! 3.定义截面
*GET,scmax,SECP,,NUM,MAX ! 获取当前定义的最大梁截面编号并将其赋予变量scmax。
SECTYPE,scmax+1,BEAM,CSOLID, ,0 ! 定义梁截面
SECOFFSET,CENT ! 设置截面偏置,即梁杆轴端点位于梁截面形心上。
de = 38 ! 螺栓有效直径
SECDATA,de/2,10,3 ! 应力截面直径,圆周方向10份,半径方向3份。
SECTYPE,scmax+2,BEAM,CSOLID, ,0
SECOFFSET,CENT
ds = 26 ! 螺栓缩进段直径
SECDATA,ds/2,10,3
! 4.创建关键点
CSYS,16
CLOCAL,19,0 ! 创建局部直角坐标系19
tf = 40 $ tw = 5 ! 分别为法兰厚度及垫片厚度
startPntZ = -(tf+tw) ! 在局部坐标系19下,梁轴线起点z坐标值。
midPntZ = 0 ! 螺栓预紧力施加位置处
endPntZ= tf+tw ! 在局部坐标系19下,梁轴线终点z坐标值。
*GET,lnmax,LINE,,NUM,MAX ! 获取当前定义的最大几何线编号并将其赋予变量lnmax。
*GET,kpmax,KP,,NUM,MAX ! 获取当前定义的最大关键点编号并将其赋予变量kpmax。
K, ,0,0,startPntZ ! 创建关键点
K, ,0,0,midPntZ
K, ,0,0,20
K, ,0,0,endPntZ
! 5.连点成线
LSTR,kpmax+1,kpmax+2 ! 创建直线
*REPEAT,3,1,1
! 6.布种子
LESIZE,lnmax+1, , ,6,1, , , ,0 ! 单元数量6
LESIZE,lnmax+2, , ,6,1, , , ,0 ! 单元数量6
LESIZE,lnmax+3, , ,3,1, , , ,0 ! 单元数量3
! 7.分配属性
TYPE,etmax+1 ! 激活单元类型号
MAT,mtmax+1 ! 激活材料编号
SECNUM,scmax+1 ! 激活截面编号
LMESH,lnmax+1 ! 为编号为lnmax+1的线划分网格
LMESH,lnmax+2 ! 为编号为lnmax+2的线划分网格
TYPE,etmax+1 ! 激活单元类型号
MAT,mtmax+1 ! 激活材料编号
SECNUM,scmax+2 ! 激活截面编号
LMESH,lnmax+3 ! 为编号为lnmax+2的线划分网格
/ESHAPE,1 ! 显示梁截面
/REPLOT ! Replot
下接 命令流 No.17 ,命令流 No.17 见博客: ANSYS 有限元分析 编辑与修改 >> 四、阵列 >> 4.1 阵列几何线。
由 命令流 No.16 创建的螺栓杆单元如下图所示:
面网格由几何面进行分网得到,在 命令流 No.1 ~ 命令流 No.5 的基础上,运行如下命令流即可完成面网格的划分。命令流 No.1 ~ 命令流 No.5 详见: ANSYS 有限元分析 几何建模 。
LESIZE,9, , ,2, , , , ,0 ! 编号为9的几何线,将被分割为2段。
*REPEAT,5,1 ! 上一条命令重复执行5次
LESIZE,1, , ,2, , , , ,0 ! 编号为1的几何线,将被分割为2段。
*REPEAT,4,1 ! 上一条命令重复执行4次
LESIZE,8, , ,2, , , , ,0 ! 编号为8的几何线,将被分割为2段。
MAT,mtmax+3 ! 给随后生成的单元激活一个材料号
TYPE,etmax+2 ! 给随后生成的单元激活一个单元类型号
MSHAPE,0,2D ! 指定划分单元的形状,生成四边形单元。
MSHKEY,1 ! 采用映射网格划分方式划分网格
AMESH,ALL ! 将所有面划分网格
/PNUM,ELEM,1 ! 显示单元编号
/REPLOT ! Replot
EPLOT ! Elements plots
/VIEW,1,-1 ! Left View
/ANG,1
/REP,FAST
由 命令流 No.1 ~ 命令流 No.5 及 命令流 No.A 创建的面网格如下图所示:
该方式创建的体网格是由面网格进行拉伸得到。
GUI: Main Menu >> Preprocessor >> Meshing >> Mesh >> Volume Sweep >> Sweep Opts 。
Main Menu >> Preprocessor >> Modeling >> Operate >> Extrude >> Elem Ext Opts 。
在 命令流 No.1 ~ 命令流 No.5 及 命令流 No.A 的基础上,运行如下命令流即可实现经面网格拉伸而生成体网格。
MAT,mtmax+3 ! 给随后生成的单元激活一个材料号
TYPE,etmax+3 ! 给随后生成的单元激活一个单元类型号
EXTOPT,ESIZE,8,1, ! EXTOPT:由面单元生成体单元的控制选项;
! 8表示在体生成或体扫略方向上单元分割数量为8;
! 1表示在体生成或体扫略方向上的间隔率为1(默认)。
EXTOPT,ACLEAR,1 ! 体单元网格生成后清除面单元网格即MESH200。
tf = 40 ! 法兰厚度为40
VEXT,ALL, , ,0,0,tf ! 通过给的偏移量由面生体
EPLOT ! Elements plots
/REPLOT ! Replot
命令流运行过程中会显示如下图所示的警告,忽略即可。
由 命令流 No.1 ~ 命令流 No.5 、命令流 No.A 及 命令流 No.B 创建的体网格及其相对应的几何体如下图所示:
Remarks :
以上拉伸操作将同时创建几何实体及体网格,对单元进行旋转、阵列等操作时,最好对体进行旋转及阵列操作,体附属的单元自动跟随其进行旋转、阵列。尽量不要直接对单元进行旋转及阵列,以免出现未知错误。(建模建议)
使用功能: 由面单元生成体单元的相关控制选项。
使用格式: EXTOPT,Lab,Val1,Val2,Val3。
参数说明: Lab 为识别控制选项的标签;Val1,Val2,Val3将根据 Lab 的不同而变化。
使用功能: 通过给定偏移量由面生体。
使用格式: VEXT,NA1,NA2,NINC,DX,DY,DZ,RX,RY,RZ。
参数说明: NA1,NA2,NINC:设置将要被拖拉面的范围,即按增量 NINC 从 NA1 增大到 NA2。
其中,NA1 也可以为 ALL、P 或元件名。
DX,DY,DZ:为在激活坐标系中,作用于关键点坐标值在X,Y和Z方向的增量 (其他坐标系下类似)。
RX*,RY,RZ:为在激活坐标系中,作用于关键点坐标值在X,Y和Z方向的缩放因子。
上接 命令流 No.13 ,命令流 No.13 见博客: ANSYS 有限元分析 几何建模 >> 六、布尔操作 >> 6.1 Merge 。
*GET,mtmax,MAT,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量mtmax。
MPTEMP,1,0 ! 为材料属性定义温度表
MPDATA,EX,mtmax+1,,2e5 ! 定义mtmax+1号材料属性弹性模量
MPDATA,PRXY,mtmax+1,,0.28 ! 定义mtmax+1号材料属性泊松比
MPDATA,DENS,mtmax+1,,7.85e-9 ! 定义mtmax+1号材料属性密度
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,SOLID185 ! 定义单元类型为SOLID185,其单元识别号为etmax+1。
KEYOPT,etmax+1,2,2 ! 设置单元关键选项,KEYOPT(2)=2,Enhanced strain formulation。
CSYS,18 ! 激活局部主坐标系18
tw = 5 ! 垫片厚度为5
MAT,mtmax+1
TYPE,etmax+1
LSEL,S,LENGTH,,tw ! 按长度选线,选择垫片厚度方向上的全部线。
LESIZE,ALL, , ,3, , , , ,0 ! 分3段(布种子)
LSEL,S,LENGTH,,0,d1/2-d0/2 ! 按长度选线,选择垫片半径方向上的全部线。
LESIZE,ALL, , ,3, , , , ,0 ! 分3段(布种子)
LSEL,S,LINE, ,ALL ! 选择全部线
LSEL,U,LENGTH,,tw ! 上一选择集中除去长度为tw的线
LSEL,U,LENGTH,,0,d1/2-d0/2 ! 上一选择集中除去长度为d1/2-d0/2的线
LESIZE,ALL, , ,10, , , , ,0 ! 分10段(布种子)
VSWEEP,1 ! 对1号几何体进行扫掠分网
VSWEEP,5 ! 对5号几何体进行扫掠分网
VSWEEP,6 ! 对6号几何体进行扫掠分网
VSWEEP,7 ! 对7号几何体进行扫掠分网
! VSWEEP,ALL
下接 命令流 No.15 ,命令流 No.15 见博客: ANSYS 有限元分析 修改与编辑 >> 四、阵列 >> 4.2 阵列几何体 。
由 命令流 No.14 以扫掠方式创建的垫片网格,如下图所示:
使用功能: 利用与邻近的面单元采用扫略方式对体进行网格划分。。
使用格式: VSWEEP,VNUM,SRCA,TRGA,LSMO 。
参数说明: VNUM 为要被扫略分网的几何体编号,也可以为 ALL、P 或组件名。
SRCA 为源面的编号;TRGA为目标面的编号。
使用功能: Create and mesh a pretension section 。
使用格式: PSMESH,SECID,Name,P0,Egroup,NUM,KCN,KDIR,VALUE,
NDPLANE,PSTOL,PSTYPE,ECOMP,NCOMP。
参数说明: SECID ,Name 分别为截面编号和截面名称。
P0 为预拉伸结点编号,如果不存在则新建,默认为最大结点编号+1。
Egroup,NUM 分别为命令 PSMESH 将要处理的单元组,它的值可以为 ALL 等,此时忽略 NUM,
若 Egroup 的值可以为 ALL 表示对所有选择的单元进行操作。
KCN 为对分离表面及其法向的坐标系参考编号。
KDIR 为在 KCN 坐标系统中与分离面相垂直的方向 (x、y 或 z)。
NDPLANE 为用来确定分离表面且已存在的结点编号。
该命令通过沿已存在的单元边界在由 NDPLANE 指定的结点处切割网格,并插入 PRETS179 单元,生成一个与预拉伸荷载相垂直的预拉伸面,并且证实其单元类型必须是 PRETS179 。
如果将要施加预拉伸荷载的单元已经用两种类型被网格化,那么 PSMESH 不能插入预拉伸单元,必须使用 EINIF 命令。
上接 命令流 No.17 ,命令流 No.17 见博客: ANSYS 有限元分析 修改与编辑 >> 四、阵列 >> 4.1 阵列几何线。
CSYS,15 ! 激活局部坐标系15
CLOCAL,17,1 ! 根据激活的局部坐标系15定义新的局部柱坐标系17
CSYS,17 ! 激活局部柱坐标系17
num = 55 ! 螺栓总数
radius = 1000 ! 法兰螺栓分度圆半径
*DO,i,1,4
CMSEL,S,BoltElems ! 选择组件BoltElems(全部螺栓杆单元)
ALLSEL,BELOW,ELEM ! 选择单元以下附属即构成单元的结点
startAngle = (360/num)*(i-1)-(360/num/2-1)
endAngle = (360/num)*(i-1)+(360/num/2-1)
NSEL,R,LOC,Y,startAngle,endAngle
ESLN,,1
ESEL,R,ENAME,,BEAM189 ! 选择BEAM189单元
zmid = 0 ! 预紧力施加位置处的z坐标值
CLOCAL,201,1,radius,360/num*(i-1),0 ! 创建螺栓杆处的局部柱坐标系201
PSMESH,1001+i, , ,ALL, , 15,Z, ,node(0,0,zmid),, , , !螺栓杆中间位置处插入预紧单元
CSYS,17 ! 激活局部柱坐标系17
*ENDDO
ALLSEL,ALL
EPLOT
ALLSEL,ALL,ELEM ! Selects all elements.
CM,BoltElems,ELEM ! 由所选实体生成一个组件
! 元件名称:BoltElems;元件中的数据类型:单元。
ALLSEL,ALL ! 全选 select all entities
CDWRITE,DB,'PartBolt','cdb',,'','' ! 当前模型另存为 PartBolt.cdb 文件。
下接 命令流 No.19 ,命令流 No.19 见博客: ANSYS 有限元分析 接触分析 。
由 命令流 No.18 创建的螺栓预紧单元,如下图所示:
至此,法兰连接所包括的有限元模型 (主体结点和单元) 创建完成,该模型主要包括,法兰模型、垫片模型和螺栓杆模型,运行如下命里流,可将各部件进行装配。
FINISH ! 退出当前处理器
/CLEAR,ALL ! 清除所有
/PREP7 ! 进人前处理器
CDREAD,db,'PartFlange','cdb',,'','' ! 导入法兰模型
CDREAD,db,'PartWasher','cdb',,'','' ! 导入垫片模型
CDREAD,db,'PartBolt','cdb',,'','' ! 导入栓杆模型
/ESHAPE,1 ! 显示梁截面
/REPLOT ! Replot
EPLOT ! Elements plots
接下来,将建立各部件间的约束关系,主要包括,上下法兰间的接触、法兰与垫片间的接触,螺栓杆与垫片间的接触等,详见博客: ANSYS 有限元分析 接触分析 。
MESH200 —— Meshing Facet 2-20 nodes 2-D/3-D space,DOF: None。
MESH200 is a “mesh-only” element, contributing nothing to the solution 。
不参与求解计算,生成高维度网格时所需要的低维度网格。
! 定义MESH200单元
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax (etmax=0)。
ET,etmax+1,MESH200 ! 定义单元类型为Mesh200,其单元识别号为etmax+1。
KEYOPT,etmax+1,1,7 ! 设置单元etmax+1的关键选项,即令 Keyoption(1)=7。
通过设置关键选项 KEYOPT(1) 来创建不同类型的网格单元,部分 KEYOPT(1) 的取值,如下图所示:
SOLID185 —— 3-D 20-Node Structural Solid,DOF: UX, UY, UZ。C3D8
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,SOLID185 ! 定义单元类型为SOLID185,其单元识别号为etmax+1。
KEYOPT,etmax+1,2,2 ! 设置单元关键选项,KEYOPT(2)=2。
KOPT | 含义 |
---|---|
KEYOPT(2) | Element technology 0 – Full integration with B method (default) 1 – Uniform reduced integration with hourglass control 2 – Enhanced strain formulation 3 – Simplified enhanced strain formulation |
SOLID186 —— 3-D 20-Node Structural Solid,DOF: UX, UY, UZ。C3D20
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,SOLID186 ! 定义单元类型为SOLID186,其单元识别号为etmax+1。
KEYOPT,etmax+1,2,1 ! 设置单元关键选项,将单元类型参考号为etmax+1的单元设置为完全积分单元。
KOPT | 含义 |
---|---|
KEYOPT(2) | Element technology 0 – Uniform reduced integration (default) (C3D20R) 1 – Full integration (C3D20) |
*GET,etmax,ETYP,,NUM,MAX ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,BEAM189 ! 定义梁单元
以上,便是 ANSYS 网格划分 部分的简单介绍。
仅以此文为我 ANSYS 的相关学习做一个备忘,同时也为有需要的人提供多一点参考。
胸藏文墨怀若谷,腹有诗书气自华,希望各位都能在知识的 pāo 子里快乐徜徉。
因个人水平有限,文中难免有所疏漏,还请各位大神不吝批评指正。
最后,祝各位攻城狮们,珍爱生命,保护发际线!
欢迎大家点赞、评论及转载,转载请注明出处!
为我打call,不如为我打款!
[1]. ANSYS 15.0 有限元分析完全自学手册. 郝勇 钟礼东 等编著.
[2]. ANSYS 参数化编程与命令手册. 龚曙光 谢桂兰 黄云清 编著.
[3]. ANSYS Mechanical APDL Command Reference. Release 18.2.
[4]. ANSYS Mechanical APDL Element Reference. Release 18.2.