📄 ex3.7.inp
字号:
SMRT, OFF ! 关闭智能化功能
MOPT, VMESH, MAIN ! 指定体单元剖分器为“主四面体”
MOPT, AMESH, ALTE ! 指定面单元剖分器为“四变形”
RESUME ! 重新从数据库EX3.7.DB中读入模型数据
ET, 1, SOLID98, 2 ! 定义第1类单元类型为 SOLID98
! (25) 选择自由端有荷载的节点
NSEL, S, LOC, X, 152.4 ! 选择位于X=152.4mm面上的所有节点
NSEL, R, LOC, Y, 2.54 ! 重新选择Y=2.54mm的所有节点
NSEL, R, LOC, Z, 1.27 ! 重新选择Z=1.27mm的所有节点
*GET, MIDD, NDMX ! 获取当前最大的节点号,存入MIDD
!
NSEL, S, LOC, X, 152.4 ! 选择位于X=152.4mm面上的所有节点
NSEL, R, LOC, Y, 5.08 ! 重新选择Y=5.08mm的所有节点
NSEL, R, LOC, Z, 1.27 ! 重新选择Z=1.27mm的所有节点
*GET, TOPP, NDMX ! 获取当前最大的节点号,存入TOPP
!
NSEL, S, LOC, X, 152.4 ! 选择位于X=152.4mm面上的所有节点
NSEL, R, LOC, Y, 0.0 ! 重新选择Y=0的所有节点
NSEL, R, LOC, Z, 1.27 ! 重新选择Z=1.27mm的所有节点
*GET, BOTT, NDMX ! 获取当前最大的节点号,存入BOTT
!
NSEL, S, LOC, X, 152.4 ! 选择位于X=152.4mm面上的所有节点
NSEL, R, LOC, Y, 2.54 ! 重新选择Y=2.54mm的所有节点
NSEL, R, LOC, Z, 2.54 ! 重新选择Z=2.54mm的所有节点
*GET, LFT, NDMX ! 获取当前最大的节点号,存入LFT
!
NSEL, S, LOC, X, 152.4 ! 选择位于X=152.4mm面上的所有节点
NSEL, R, LOC, Y, 2.54 ! 重新选择Y=2.54mm的所有节点
NSEL, R, LOC, Z, .00 ! 重新选择Z=0的所有节点
*GET, RGHT, NDMX ! 获取当前最大的节点号,存入RGHT
NSEL, ALL ! 选择所有节点
! (26) 给上面选择出的这些节点施加沿着X方向的轴向荷载,开始计算
F, RGHT, FX, 4.4483/6 ! 给RGHT节点施加总荷载4.4483N的1/6
F, LFT, FX, 4.4483/6 ! 给LFT节点施加总荷载4.4483N的1/6
F, TOPP, FX, 4.4483/6 ! 给TOPP节点施加总荷载4.4483N的1/6
F, BOTT, FX, 4.4483/6 ! 给BOTT节点施加总荷载4.4483N的1/6
F, MIDD, FX, 4.4483/3 ! 给MIDD节点施加总荷载4.4483N的1/3
FINISH ! 退出前处理模块PREP7
/SOLU ! 加载求解模块
SOLVE ! 开始求解
! (27) 改变荷载,给上面选择出的这些节点施加沿着Y方向的轴向荷载,重新计算
FDELE, ALL ! 移去所有的力
F, RGHT, FY, 4.4483/6 ! 给RGHT节点施加总荷载4.4483N的1/6
F, LFT, FY, 4.4483/6 ! 给LFT节点施加总荷载4.4483N的1/6
F, TOPP, FY, 4.4483/6 ! 给TOPP节点施加总荷载4.4483N的1/6
F, BOTT, FY, 4.4483/6 ! 给BOTT节点施加总荷载4.4483N的1/6
F, MIDD, FY, 4.4483/3 ! 给MIDD节点施加总荷载4.4483N的1/3
SOLVE ! 开始求解
! (28) 改变荷载,给上面选择出的这些节点施加沿着Z方向的轴向荷载,重新计算
FDELE, ALL ! 移去所有的力
F, RGHT, FZ, 4.4483/6 ! 给RGHT节点施加总荷载4.4483N的1/6
F, LFT, FZ, 4.4483/6 ! 给LFT节点施加总荷载4.4483N的1/6
F, TOPP, FZ, 4.4483/6 ! 给TOPP节点施加总荷载4.4483N的1/6
F, BOTT, FZ, 4.4483/6 ! 给BOTT节点施加总荷载4.4483N的1/6
F, MIDD, FZ, 4.4483/3 ! 给MIDD节点施加总荷载4.4483N的1/3
SOLVE ! 开始求解
FINISH ! 退出求解模块SOLU
! (29) 在后处理模块中,利用前面定义的宏,处理前面计算的3种荷载工况的位移
/POST1 ! 加载后处理模块
*USE, MAC, 1, (1/7.6E-4)
SET, 1, 1 ! 读入第1个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
N1=NODE(152.4, 0, 0) ! 选择距离(152.4,0,0)位置最近的节点
*GET, UX3, NODE, N1, U, X ! 获取节点N1的X方向的位移计算结果UX
!
*USE, MAC, 2, (1/2.4712)
SET, 2, 1 ! 读入第2个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
*GET, UY3, NODE, N1, U, Y ! 获取节点N1的Y方向的位移计算结果UY
!
*USE, MAC, 3, (1/.432)
SET, 3, 1 ! 读入第3个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
*GET, UZ3, NODE, N1, U, Z ! 获取节点N1的Z方向的位移计算结果UZ
! (30) 将第三种情况的计算结果保存到数据库
SAVE, TABLE_3 ! 保存数据到数据库TABLE_3
FINISH ! 推出后处理模块Post1
!
! (31) 改变为20节点四面体3D单元SOLID147,重新计算悬臂梁在端部集中力作用下的双向弯曲
/CLEAR, NOSTART ! 清除所有数据, 不加载初始化文件
/PREP7 ! 加载前处理模块
/TITLE, EX3.7(4), STRAIGHT CANTILEVER BEAM by SOLID147 ELEMENT.
SMRT, OFF ! 关闭智能化功能
MOPT, VMESH, ALTE ! 指定体单元剖分器为“主四面体”
MOPT, AMESH, ALTE ! 指定面单元剖分器为“四变形”
ANTYPE, STATIC ! 定义分析类型为静力分析
ET, 1, SOLID147 ! 定义第1类单元为SOLID147
MP, EX, 1, 69E3 ! 定义第1类材料的弹性模量EX=69Gpa
MP, NUXY, 1, 0.3 ! 定义第1类材料的泊松比为0.3
! (32) 定义梁上的8个关键点
K, 1 ! 在坐标原点(0, 0, 0)定义第1个关键点
K, 2, 152.4 ! 在(152.4mm, 0)定义第2个关键点
KGEN, 2, 1, 2, 1, , 5.08 ! 生成2个循环,按照节点1到2增量是1,将Y坐标增加5.08mm
KGEN, 2, 1, 4, 1, , , 2.54 ! 生成2个循环,按照节点1到4增量是1,将Z坐标增加2.54mm
! (33) 定义一条边线,指定这条线剖分单元的个数和一般单元的尺寸
L, 1, 2 ! 过关键点1, 2定义直线
LESIZE, ALL, , , 10 ! 定义所有直线的剖分段数为10段
ESIZE, 25.4 ! 定义默认的单元尺寸为25.4
V, 1, 2, 4, 3, 5, 6, 8, 7 ! 用关键点1, 2, 4, 3, 5, 6, 8, 7 定义体
VMESH, 1 ! 执行体单元剖分操作
! (34) 选择并固定左侧截面处的所有节点,在右侧的所有节点上施加集中力
NSEL, S, LOC, X, 0 ! 选择位于X=0位置的所有节点
D, ALL, ALL ! 约束左端的位移
NSEL, ALL ! 选择所有节点
FK, 2, FX, 4.4483/4 ! 施加轴向力4.4483N的1/4
*REPEAT, 4, 2 ! 将前面命令执行4次,每次操作对象编号增加2,定义2,4,6和8号关键点上的荷载
NOORDER ! 按原始的单元次序对单元排序
FINISH ! 退出前处理模块PREP7
! (35) 分别求解在自由端拉力和横向力作用下悬臂梁的轴向变形和横向挠度。
/SOLU ! 加载求解模块
SOLVE ! 开始求解
!
FKDELE, ALL, FX ! 删除轴向力FX
FK, 2, FY, 1.1121 ! 施加面内荷载FY
*REPEAT, 4, 2 ! 重复以上命令4次
SOLVE ! 开始求解
!
FKDELE, ALL, FY ! 删除面内荷载FY
FK, 2, FZ, 1.1121 ! 施加面外荷载FZ
*REPEAT, 4, 2 ! 重复以上命令4次
SOLVE ! 开始求解
FINISH ! 退出求解模块SOLU
! (36) 进入后处理模块,准备提取有限元结果
/POST1 ! 加载后处理模块
CSYS, 0
! (37) 定义宏程序,完成自由端位移计算结果的处理
*CREATE, MAC ! 定义宏程序,计算这些结果之间的差别
SET, ARG1, 1 ! 定义参数ARG1=1
LCDEF, ARG1, ARG1 ! 基于计算结果定义荷载工况
NSEL, S, LOC, X, 152.4 ! 选择梁右端的所有节点
PRNSOL, U, COMP ! 打印位移结果及其节点位移的矢量和
LCFACT, ARG1, ARG2 ! 将缩放因子 "ARG2" 应用给荷载工况1
LCASE, ARG1 ! 将荷载工况1读入到数据库
PRNSOL, U, COMP ! 打印位移结果及其节点位移的矢量和
*END ! 结束宏程序的定义
! (38) 使用上面定义的宏程序处理第1个工况
*USE, MAC, 1, (1/7.6E-4) ! 使用宏MAC,使用参数1, (1/7.6E-4)
SET, 1, 1 ! 读入第1个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
N1=NODE(152.4 , 0, 0) ! 选择距离(152.4 , 0, 0)位置最近的节点,命名为N1
*GET, UX4, NODE, N1, U, X ! 获取节点N1的位移UX
! (39) 提取第二步结果
*USE, MAC, 2, (1/2.4712) ! 使用宏MAC,使用参数2, (1/2.4712)
SET, 2, 1 ! 读入第2个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
*GET, UY4, NODE, N1, U, Y ! 获取节点N1的位移UY
! (40) 提取第3步结果
*USE, MAC, 3, (1/10.9646) ! 使用宏MAC,使用参数3, (1/10.9646)
SET, 3, 1 ! 读入第3个荷载步的计算结果
LCSEL, S, 0, 0 ! 选择荷载步的子集
*GET, UZ4, NODE, N1, U, Z ! 获取节点N1的位移UZ
! (41) 将第四种情况的计算结果保存到数据库
SAVE, TABLE_4 ! 保存数据到数据库TABLE_4
! (42) 从第1个表中恢复数据,绘制单元应力云图
RESUME, TABLE_1 ! 从第1个表中恢复数据
NSEL, ALL ! 选择所有节点
/VIEW, 1, 2, 1, 1 ! 设置观察方向为从(2, 1, 1)指向原点
EPLOT ! 绘制单元图
/TYPE, 1, CAP ! 显示梁的剖面图
/DIST, 1, 5.08 ! 设置观察距离为5.08毫米
/FOCUS, 1, .3, .15, .09 ! 设置截开截面的位置
/Auto ! 以最佳比例显示
PLNSOL, S, X ! 显示X方向的正应力
*STATUS, PARM ! 显示变量中第1种情况的结果
! (43) 从结果文件中读入计算结果,并显示
RESUME, TABLE_2 ! 从第2个文件恢复数据
*STATUS, PARM ! 显示变量中第2种情况的结果
RESUME, TABLE_3 ! 从第3个文件恢复数据
*STATUS, PARM ! 显示变量中第3种情况的结果
RESUME, TABLE_4 ! 从第4个文件恢复数据
*STATUS, PARM ! 显示变量中第4种情况的结果
! (44) 删除宏文件,临时文件TABLE_*
/DELETE, MAC
/DELETE, TABLE_1
/DELETE, TABLE_2
/DELETE, TABLE_3
/DELETE, TABLE_4
FINISH ! 退出后处理模块
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -