[本例提示]本例将学习ANSYS中载荷步控制方法以及施加动态载荷的三种加载方法:多载荷步法、表格载荷法和函数载荷法。
[问题描述]
一个下端固定的圆柱顶面上承受如图1所示的动态压力载荷,试确定其顶面位移响应。已知圆柱长度为0.15m,直径为0.03m,材料的弹性模量为2.06×105MPa,泊松比为0.3,密度为7800kg/m3。
图1 动态载荷示意图
1.多载荷步法
多载荷步法求解思路为:首先,为每一个载荷步施加载荷并设置载荷步参数。然后,将每个载荷步写入载荷步文件,最后一次性求解所有载荷步。对于本问题:
定义载荷步1:
– 在要求的部位上添加约束;
– 在要求的节点上施加载荷0;
– 规定施加此力的终止时间(1e-6),指出时间步长0.05和变化方式为Ramp方式;
– 规定输出控制,
– 将此载荷步写入载荷步文件1中。
定义载荷步2:
– 在要求的节点上施加载荷22.5;
– 规定施加此力的终止时间(0.5),指出时间步长0.05和变化方式为Ramp方式;
– 规定输出控制,
– 将此载荷步写入载荷步文件2中。
定义载荷步3:
– 改变载荷值为10.0;
– 规定终止时间 (1.0)。其他设置同前;
– 将此载荷步写入载荷步文件3中。
定义载荷步4:
– 删除力或将其值设置为零;
– 规定终止时间 (1.5) ,变化方式为Stepped方式;其他设置同前。
– 将此载荷步写入载荷步文件4中
1前处理
[步骤1] 画模型
1) 绘制立方块:选择菜单Main Menu: Preprocessor→Modeling→Create→Volume→Cylinder→Solid Cylinder,输入底面圆心坐标(0,0)、半径0.03/2、高度0.15/2,单击OK按钮。
2) 保存几何模型:选择菜单Utility Menu:File→Save As,在存储数据库对话框中的Save Database to中输入数据库名:Geometry.db。
[步骤2] 设属性
1) 定义单元类型:选择菜单Main Menu: Preprocessor→Element Type→Add/Edit/Delete,在单元类型对话框中单击Add按钮,在弹出的单元库对话框中选择Solid和Brike 8 node185(即选Solide185单元),单击OK按钮,再单击Close按钮。
2) 定义材料属性:选择菜单Main Menu: Preprocessor→Material Props→Material Model→在弹出的材料属性窗口中依次双击Structural, Linear, Elastic和Isotropic,在弹出的对话框中设置EX(弹性模量)为2.06e+11;PRXY(泊松比)为0.3,单击OK按钮。在Material Models Available列表框中单击路径:Structural→Density,在密度DENS一栏中输入7800,单击OK按钮。退出材料定义窗口。
[步骤3] 分网格
1) 定义单元尺寸:选择菜单Main Menu: Preprocessor→Meshing→MeshTool,单击MeshTool对话框Global项中的Set按钮,在单元尺寸对话框中,设置Size=5(单元长度为5),单击OK按钮。
2) 分格:选择菜单Main Menu: Preprocessor→Meshing→MeshTool,选中Mesh栏中的Sweep单选钮,单击MeshTool对话框中的Mesh按钮,在绘图区单击选中圆柱,单击左侧的拾取对话框中的OK按钮。
[步骤4] 保存网格模型
选择菜单Utility Menu:File→Save As,在存储数据库对话框中的Save Database to中输入数据库名:Mesh.db。
2.求解
[步骤1] 指定分析类型:选择菜单Main Menu: Solution→Analysis Type→New Analysis,选Transient单选钮,选中Full(完全法)单选钮,单击OK按钮。
[步骤2] 对第一个载荷步施加载荷
a) 添加约束:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Displacement→On Area,在图形区中单击圆柱底面,单击左侧的拾取对话框中的Apply按钮,在施加约束对话框中选择All,单击OK按钮。
b)添加载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设VALUE=0,单击OK按钮。
c)设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,如图2所示,在求解控制对话框的Basic卡中完成以下设置:Time at end of load step(结束时间)为1e-6,Number of substep(子载荷步数)为5,Frequency为write Every substep(存储所有计算结果),在求解控制对话框的Transient卡中设置选中Ramped loading单选钮,单击OK按钮。
d) 写载荷步文件1:选取菜单途径选择菜单Mainmenu→Solution→Load Step Opts→Write LS File,弹出Write Load Step File 对话框。在Load step file number n处输入1,单击OK按钮。
图2 求解控制对话框
[步骤3] 对第二个载荷步施加载荷
a) 添加载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设VALUE=22.5,单击OK按钮。
b) 设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,在求解控制对话框的Basic卡中完成以下设置:Timeat end of load step(结束时间)为0.5,Number ofsubstep(子载荷步数)为5,Frequency为write Every substep(存储所有计算结果),单击OK按钮。
c) 写载荷步文件2:选取菜单途径选择菜单Mainmenu→Solution→Load Step Opts→Write LS File,弹出Write Load Step File 对话框。在Load step file number n处输入2,单击OK按钮。
[步骤4] 对第三个载荷步施加载荷
a) 添加载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设VALUE=10,单击OK按钮。
b) 设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,在求解控制对话框的Basic卡中完成以下设置:Timeat end of load step(结束时间)为1.0,Number ofsubstep(子载荷步数)为5,Frequency为write Every substep(存储所有计算结果),单击OK按钮。
c) 写载荷步文件3:选取菜单途径选择菜单Mainmenu→Solution→Load Step Opts→Write LS File,弹出Write Load Step File 对话框。在Load step file number n处输入3,单击OK按钮。
[步骤5] 对第四个载荷步施加载荷
a) 添加载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设VALUE=0,单击OK按钮。
b) 设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,在求解控制对话框的Basic卡中完成以下设置:Timeat end of load step(结束时间)为1.5,Number ofsubstep(子载荷步数)为5,Frequency为write Every substep(存储所有计算结果),在求解控制对话框的Transient卡中设置选中Stepped loading单选钮,单击OK按钮。
c) 写载荷步文件4:选取菜单途径选择菜单Mainmenu→Solution→Load Step Opts→Write LS File,弹出Write Load Step File 对话框。在Load step file number n处输入4,单击OK按钮。
[步骤6] 求解
选择菜单Main Menu→Solution→Solve→From LS File,弹出Solve Load Step Files对话框。在Starting LS file number处输入1;在Ending LSfile number处输入4。单击OK按钮。当求解完成时会出现一个Solution is done的提示对话框。单击close。
3. 结果处理
POST26观察节点146的位移时间历程结果
[步骤1] 定义结果变量:选择菜单Main Menu: TimeHistPostpro,单击按钮,单击Nodal Solution→DOF Solution→Z-compnent of displacement,设Valu Name为Xiangying,单击OK按钮,在图形区单击顶面上的节点,单击拾取对话框中OK按钮。
[步骤2] 绘制位移响应曲线:选择菜单Main Menu: TimeHistPostpro,选中前面定义的Xiangying变量,单击按钮,绘制位移响应曲线,见下图3。
图3 位移响应曲线
Finish
/Clear
/PREP7
CYL4, , ,0.03/2, , , ,0.15
ET,1,SOLID185
MP,EX,1,2.06e11
MP,PRXY,1,0.3
MP,DENS,1,7800
ESIZE,0,5,
VSWEEP,All
FINISH
/SOL
ANTYPE,4
TRNOPT,FULL
NSUBST,5,0,0
OUTRES,ERASE
OUTRES,ALL,ALL
KBC,0
TIME,1e-6
DA,1,ALL,
SFA,2,1,PRES,0
LSWRITE,1,
TIME,0.5
SFA,2,1,PRES,22.5
LSWRITE,2,
TIME,1.0
SFA,2,1,PRES,10
LSWRITE,3,
TIME,1.5
KBC,1
SFA,2,1,PRES,0
LSWRITE,4,
LSSOLVE,1,4,1,
FINISH
/POST26
FILE,'file','rst','.'
NSOL,2,96,U,Z, UZ_2
PLVAR,2,
时间位移动图如下
2.表格载荷法
表格载荷法的求解思路为:首先,将载荷-时间历程用表格表示。然后,用数组参数定义载荷随时间变化的表。最后,施加表载荷,作为一个载荷步一次性求解。表格载荷法的加载过程:定义表格参数表→施加已有表载荷→表格载荷步控制。对于本问题的载荷表为:
序号 | 时间/s | 载荷 |
1 | 0 | 0 |
2 | 0.5 | 22.5 |
3 | 1.0 | 10 |
4 | 1.000001 | 0 |
5 | 1.5 | 0 |
表1 载荷-时间历程表
前处理
重复多载荷步求解中的相应步骤或打其保存的网格模型数据库Mesh.db。
求解
[步骤1] 指定分析类型:选择菜单Main Menu: Solution→Analysis Type→New Analysis,选Transient单选钮,选中Full(完全法)单选钮,单击OK按钮。
[步骤2] 添加约束:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Displacement→On Area,在图形区中单击圆柱底面,单击左侧的拾取对话框中的Apply按钮,在施加约束对话框中选择All,单击OK按钮。
[步骤3] 定义表格载荷
图4 定义表格数组
[步骤4] 施加表载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设[SFA]下拉式列表框为Existing Table,在弹出的表载荷选择对话框中选中Table Load表载荷,单击OK按钮。
[步骤5] 设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,如图2-16所示,在求解控制对话框的Basic卡中完成以下设置:Time at end of load step(结束时间)为1.5,Number of substep(子载荷步数)为50,Frequency为write Every substep(存储所有计算结果),在求解控制对话框的Transient卡中设置选中Ramped loading单选钮,单击OK按钮。
图5 求解控制对话框
[步骤6] 求解:选择菜单Main Menu→Solution→Solve→Current LS ,单击OK钮。当求解完成时会出现一个Solutionis done的提示对话框。单击close。
结果处理
重复多载荷步求解中的相应步骤,POST26观察顶面位移时间历程结果。
命令流如下:
Finish
/Clear
/PREP7
CYL4, , ,0.03/2, , , ,0.15
ET,1,SOLID185
MP,EX,1,2.06e11
MP,PRXY,1,0.3
MP,DENS,1,7800
ESIZE,0,5,
VSWEEP,All
FINISH
*DIM,Tab_Load,TABLE,5,1,1,Time, ,
!*
*SET,TAB_LOAD(1,0,1) , 0
*SET,TAB_LOAD(2,0,1) , 0.5
*SET,TAB_LOAD(2,1,1) , 22.5
*SET,TAB_LOAD(3,0,1) , 1
*SET,TAB_LOAD(3,1,1) , 10
*SET,TAB_LOAD(4,0,1) , 1.001
*SET,TAB_LOAD(5,0,1) , 1.5
/SOLU
ANTYPE,4
TRNOPT,FULL
LUMPM,0
!*
NSUBST,50,0,0
OUTRES,ERASE
OUTRES,ALL,ALL
TIME,1.5
DA,1,ALL,
SFA,2,1,PRES, %TAB_LOAD%
SOLVE
FINISH
/POST26
FILE,'file','rst','.'
NSOL,2,51,U,Z, UZ_2
PLVAR,2,
3.函数载荷法
函数载荷法的求解思路为:首先,将载荷-时间历程用函数工具表示。然后,将载荷-时间函数转换为表格载荷。最后,施加已有表载荷,作为一个载荷步一次性求解。函数载荷法的加载过程:定义函数关系式→转换为表格载荷→施加已有表载荷→表格载荷步控制。载荷-时间历程函数为下图6:
图6 载荷函数
前处理
重复多载荷步求解中的相应步骤或打其保存的网格模型数据库Mesh.db。
求解
[步骤1] 指定分析类型:选择菜单Main Menu: Solution→Analysis Type→New Analysis,选Transient单选钮,选中Full(完全法)单选钮,单击OK按钮。
[步骤2] 添加约束:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Displacement→On Area,在图形区中单击圆柱底面,单击左侧的拾取对话框中的Apply按钮,在施加约束对话框中选择All,单击OK按钮。
[步骤3] 定义函数载荷
a.定义函数载荷:选择菜单Utility Menu: Parameter→Function→Define/Edit,在函数编辑窗口的Function卡中选中Multivalued function based on regime variable(分段函数)单选钮,在下拉式列表框中选择<regime var>为TIME。在regime1卡片中,设自变量范围为[0,0.5],Result=45*{TIME}({TIME}不能输入,列表框中选择TIME)。重复上述步骤,在regime2卡片中,设自变量范围为[0.5,1.0],Result=-25*{TIME}+35。在regime3卡片中,设自变量范围为[1.0,1.5],Result=0。在函数编辑窗口中单击菜单File→Save,在文件保存对话框中设文件名为Load,单击OK按钮,在函数编辑窗口中单击菜单File→Close,完成载荷函数定义。
图7 函数编辑
b.转换为表格载荷:选择菜单UtilityMenu: Parameter→Function→Read from File,选中前一步保存的函数Load.fun,在函数载荷对话框的Table parameter name(表格载荷名称)中输入Fun_load,单击OK按钮,将载荷函数转化为表格载荷。
c.施加表载荷:选择菜单Main Menu: Solution→Define Loads→Apply→Structure→Pressure→On Area,在图形区中单击圆柱顶面,单击OK按钮。在施加载荷对话框中设[SFA]下拉式列表框为Existing Table,在弹出的表载荷选择对话框中选中Table Load表载荷,单击OK按钮。
[步骤4] 设置载荷步:选择菜单Main Menu: Solution→Analysis Type→Sol’s Control,如图8所示,在求解控制对话框的Basic卡中完成以下设置:Time at end of load step(结束时间)为1.5,Number of substep(子载荷步数)为50,Frequency为write Every substep(存储所有计算结果),在求解控制对话框的Transient卡中设置选中Ramped loading单选钮,单击OK按钮。
图8 求解控制对话框
[步骤5] 求解:选择菜单Main Menu→Solution→Solve→Current LS ,单击OK按钮。当求解完成时会出现一个Solutionis done的提示对话框。单击close。
结果处理
重复多载荷步求解中的相应步骤,POST26观察顶面位移时间历程结果。
Finish
/Clear
/PREP7
CYL4, , ,0.03/2, , , ,0.15
ET,1,SOLID185
MP,EX,1,2.06e11
MP,PRXY,1,0.3
MP,DENS,1,7800
ESIZE,0,5,
VSWEEP,All
FINISH
! 定义函数
*DEL,_FNCNAME
*DEL,_FNCMTID
*DEL,_FNCCSYS
*SET,_FNCNAME,'Fun_Load'
*SET,_FNCCSYS,0
! /INPUT,Load.func,,,1
*DIM,%_FNCNAME%,TABLE,6,5,4,,,,%_FNCCSYS%
! Begin of equation: {TIME}
*SET,%_FNCNAME%(0,0,1), 0.0, -999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), 0.0
*SET,%_FNCNAME%(4,0,1), 0.0
*SET,%_FNCNAME%(5,0,1), 0.0
*SET,%_FNCNAME%(6,0,1), 0.0
*SET,%_FNCNAME%(0,1,1), 1.0, 99, 0, 1, 1,0, 0
*SET,%_FNCNAME%(0,2,1), 0
*SET,%_FNCNAME%(0,3,1), 0
*SET,%_FNCNAME%(0,4,1), 0
*SET,%_FNCNAME%(0,5,1), 0
! End of equation: {TIME}
! Begin of equation: 45*{TIME}
*SET,%_FNCNAME%(0,0,2), 0.5, -999
*SET,%_FNCNAME%(2,0,2), 0.0
*SET,%_FNCNAME%(3,0,2), 0.0
*SET,%_FNCNAME%(4,0,2), 0.0
*SET,%_FNCNAME%(5,0,2), 0.0
*SET,%_FNCNAME%(6,0,2), 0.0
*SET,%_FNCNAME%(0,1,2), 1.0, -1, 0, 45, 0,0, 1
*SET,%_FNCNAME%(0,2,2), 0.0, -2, 0, 1, -1,3, 1
*SET,%_FNCNAME%(0,3,2), 0, 99, 0, 1, -2, 0, 0
*SET,%_FNCNAME%(0,4,2), 0
*SET,%_FNCNAME%(0,5,2), 0
! End of equation: 45*{TIME}
! Begin of equation: -25*{TIME}+35
*SET,%_FNCNAME%(0,0,3), 1.0, -999
*SET,%_FNCNAME%(2,0,3), 0.0
*SET,%_FNCNAME%(3,0,3), 0.0
*SET,%_FNCNAME%(4,0,3), 0.0
*SET,%_FNCNAME%(5,0,3), 0.0
*SET,%_FNCNAME%(6,0,3), 0.0
*SET,%_FNCNAME%(0,1,3), 1.0, -1, 0, -25, 0,0, 1
*SET,%_FNCNAME%(0,2,3), 0.0, -2, 0, 1, -1,3, 1
*SET,%_FNCNAME%(0,3,3), 0, -1, 0, 35, 0, 0, -2
*SET,%_FNCNAME%(0,4,3), 0.0, -3, 0, 1, -2,1, -1
*SET,%_FNCNAME%(0,5,3), 0.0, 99, 0, 1, -3,0, 0
! End of equation: -25*{TIME}+35
! Begin of equation: 0
*SET,%_FNCNAME%(0,0,4), 1.5, -999
*SET,%_FNCNAME%(2,0,4), 0.0
*SET,%_FNCNAME%(3,0,4), 0.0
*SET,%_FNCNAME%(4,0,4), 0.0
*SET,%_FNCNAME%(5,0,4), 0.0
*SET,%_FNCNAME%(6,0,4), 0.0
*SET,%_FNCNAME%(0,1,4), 1.0, 99, 0, 0, 0,0, 0
*SET,%_FNCNAME%(0,2,4), 0
*SET,%_FNCNAME%(0,3,4), 0
*SET,%_FNCNAME%(0,4,4), 0
*SET,%_FNCNAME%(0,5,4), 0
! End of equation: 0
!-->
/SOL
ANTYPE,4
TRNOPT,FULL
LUMPM,0
NSUBST,50,0,0
OUTRES,ERASE
OUTRES,ALL,ALL
TIME,1.5
DA,1,ALL,
SFA,2,1,PRES, %FUN_LOAD%
SOLVE
FINISH
/POST26
FILE,'file','rst','.'
NSOL,2,81,U,Z, UZ_2
PLVAR,2,
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删