(资料来源:半导体仿真论坛—www.iccae.com)
第13章 疲劳
13.1 疲劳的定义
疲劳是结构在承受低于其极限载荷的力的反复作用下发生破裂的现
象。例如,一根钢条或许可以承受只有300KN的静态拉力的作用,但在
200KN的力的反复作用下,就很可能发生破坏。
引起疲劳失效的主要因素包括:
· 经历的载荷周期数;
· 单周期内应力的变化幅度;
· 单周期内的平均应力;
· 局部应力集中的存在。
当计算在预计的生命周期中某个部分的耗用状况时,一个正式的疲劳评
估要涉及以上任何一个因素。
13.1.1 ANSYS程序的任务
ANSYS 疲劳计算是以ASME锅炉与压力容器规范的第3部分(和第8
部分第二章)为依据,采用了简化了的弹塑性假设和Miner累积疲劳准则。
除了基于ASME规范的疲劳计算外,用户也可以自己定义宏指令,或者
用合适的第三方程序与ANSYS分析结果相接。(更多信息请参考ANSYS
APDL程序指南)
ANSYS有以下疲劳计算能力:
· 用户可以对现有的应力结果进行后处理来确定任何实体单元和壳单元的
疲劳耗用因数(对线单元模型疲劳分析用户也可以手工输入应力)。
· 用户可以在预先选定的位置上确定一定数目的事件以及这些事件中的载
荷,然后保存这些位置上的应力。
· 用户可以为每个位置定义应力集中系数和给每个事件定义比例因数。
13.1.2 基本术语
位置 在模型上所要保存疲劳应力的节点。用户通常可以选取结构上
易于发生疲劳破坏的的点的位置。
事件 是在某个特定的应力循环中出现在不同的时刻的一系列应力状
态。更多信息请参考本章后面的获取精确耗用系数指南。
载荷 一个应力状态,是事件的一部分。
交变应力强度是任何两个载荷间的应力状态的差的测量值,程序不因平
均应力的影响而调整交变应力强度。
13.2 疲劳计算的步骤
疲劳计算是应力计算结束后在通用后处理器POST1中进行的。通常包
括以下五个主要步骤:
1. 进入通用后处理POST1,恢复数据库;
2. 设定尺寸(位置﹑事件和载荷的数目),定义疲劳材料特性,确定应
力位置,定义应力集中因数。
3. 保存感兴趣的位置上不同的事件和载荷的应力,指定事件循环和比
例因数。
4. 激活疲劳计算。
5. 查看结果。
13.2.1 进入通用后处理POST1,恢复数据库
为了进行疲劳计算,你须要遵循以下步骤:
1. 进入POST1.
命令: /POST1
GUI:
Main Menu> General Postproc
2. 把数据库文件(jobname.db)读入正运行的内存中。(如果您的疲劳计算
是接着应力计算进行的,那么数据库文件就已经在内存中了),还需要一
个含有节点应力的结果文件(jobname.rst),你可以随后读入。
命令:RESUME
GUI:
Utility Menu> File> Resume from
13.2.2 设定大小,疲劳材料性质和位置
定义以下数据:
·位置﹑事件和载荷的数的最大值;
·疲劳材料性质;
·应力位置和应力集中因数。
1. 定义应力位置﹑事件和载荷的数的最大值。
在默认的条件下,最多可以考虑5个节点位置,10个事件,每个事件中
3个载荷。必要时,用户可以通过以下选项设置更多数目(也就是允许更多的位
置﹑事件或节点)。
命令: FTSIZE
GUI:
Main Menu> General Postproc> Fatigue> Size Settings
2. 定义材料疲劳特性
为了计算疲劳耗用因数和考虑弹塑性简化计算的影响,用户必须定义材
料疲劳特性。在疲劳评价中感兴趣的材料特性有:
· S-N曲线.即交变应力强度((Smax - Smin)/2)和允许循环次数曲线。ASME S-N
曲线解决了最大平均应力的影响。必要时,用户应该调整S-N曲线来解决平
均应力的影响。如果没有输入S-N曲线,关于所有可能应力状态合成的交变
应力强度将会以从大到小的顺序列举出来,但是不进行任何耗用因数的计
算。
命令: FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> S-N Table
· Sm-T曲线:即设计应力集中值-温度曲线,当用户需要程序判别名义应
力范围是否已经进入塑性阶段时就需要用到这条曲线。
命令:FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> Sm_T Table
·弹塑性材料参数M和N(加工硬化指数),只有根据简化的弹塑性规则计
算时,这个参数才会被用到。两个参数值可以从ASME代号中查得。
命令:FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> Elas-plas Par
下面这个例子说明了在输入材料疲劳特性时FP命令的用法:
! 定义S-N曲线图表:
FP,1,10,30,100,300,1000,10000 ! 允许周期数
FP,7,100000,1000000 ! "
FP,21,650,390,240,161,109,59 ! 交互应力强度
FP,27,37,26 ! 强度幅值, S, ksi
! 定义Sm-T 表:
FP,41,100,200,300,400,500,600 ! 温度, deg F
FP,47,650,700,750,800 !
FP,51,20,20,20,18.7,17.4,16.4 ! "设计应力强度值“,
FP,57,16.1,15.9.15.5,15.1 ! Sm (=2/3*Sy 或
! 1/3 *Su), ksi
FP,61,1.7,.3 ! 定义弹塑性参数: M 和N
3.定义应力位置和应力集中因数
下面的选项允许你明确定义疲劳计算中一个感兴趣的节点位置,以及
定义此位置的应力集中因数(SCFs)和为其指定一个不长于20字符的标
题。
命令:FL
GUI:
Main Menu> General Postproc> Fatigue> Stress Locations
注意
并非所有的疲劳分析都要求用到FL命令,当执行FS, FSNODE, 或
FSSECT命令时,节点的位置就会被自动指定。如果你的模型有充足的细网
格,就没必要使用计算出SCFs,因为应力已经相当精确。(然而,由于表面、
尺寸或腐蚀的影响,补充的SCFs仍然需要),
当只有一个位置时,你可以不用定义标题。如果不要求明确定义位置、SCFs
或标题时,FL命令也完全可以不用。
下面这个例子是FL命令的应用。本例中,以坐标Y轴为轴线的圆柱,
有两个感兴趣的壁厚,在外壁上SCFs被用于轴向线形化应力上。
FL,1,281,,,,Line 1 at inside
FL,2,285,,1.85,,Line 1 at outside
FL,3,311,,,,Line 2 at inside
FL,4,315,,2.11,,Line 2 at outside
图 13.1 圆柱壁上的应力集中因数
13.2.3 保存应力,指定事件循环和比例因数
13.2.3.1 保存应力
为了进行疲劳评价,程序必须获知在不同事件点的应力和每个位置
的载荷,也要知道每个事件的循环次数。你可以通过以下选项存储每个位
置,事件和载荷组合的应力:
·手工存储应力;
·从jobname.rst文件中获得节点应力;
·横截面处的应力。
注意
程序假定零应力状态是不存在的,如果零应力是要考虑的应力状态
之一,那么必须在它可能出现的每个事件中明确输入。
下面这些命令列示意地说明了怎样存储应力,在某些情况下,用户
或许更愿意用LCASE命令来而不用SET。
手工存储应力:
FS
从Jobname.RST中获得节点应力:
SET, FSNODE
横截面处的应力:
PATH, PPATH, SET, FSSECT
(横截面处的计算也需要从Jobname.RST文件中获取数据.)
在一个事件中,你可以用多种方法来存储应力,下面详细阐述这些方
法的用法:
13.2.3.1.1 手工存储应力
你可以用此选项手工存储应力和温度(不需要直接访问jobname.RST文
件)。在这种情况下,你不是在POST1中把疲劳分析模块作为后处理器,而
只是作为疲劳计算的工具。象梁单元等线单元必须这样来处理,因为这里
和实体单元和壳单元不同,疲劳模型不能从jobname.RST文件中获取数据。
命令: FS
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses> Specified Val
命令输入如下例所示:
FS,201,1,2,1,-2.0,21.6,15.2,4.5,0.0,0.0
FS,201,1,2,7,450.3
在本例中,输入的只有总应力(第1-6项)和温度(第7项),如
果还要输出线形化的应力,那么应接着温度占第8至13项。
注意
在只有轴向应力的梁单元这种特殊情况下,你只须输入一个方向
(SX)上的应力,其余的皆为空白。
13.2.3.2 从jobname.RST文件中获取节点应力
使用这个选项时,你就生成了要存储的含有6个应力分量的一个节
点矢量,这些应力分量可以直接从结果数据库文件来保存。
注意
在执行FSNODE命令之前,你必须使用SET命令,可能也要SHELL命令。
SET命令用来从结果文件中把对应于某个特定的载荷步的结果读入数据
库文件。SHELL命令为壳单元从顶部﹑中部或底部面(默认为顶面)选择
结果数据。
命令:FSNODE
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
From rst File
下面这个说明了怎样用FSNODE命令在某个节点位置的一个事件中输入应力:
SET,1 ! 为载荷步1定义数据组
FSNODE,123,1,1 ! 节点123初的应力矢量被指定为事件1,载荷1
SET,2 ! 为载荷步2定义数据组
FSNODE,123,1,2 ! ...事件1载荷2
SET,3 ! ...载荷步3
FSNODE,123,1,3 ! ...事件1,载荷3
图13.2. 一事件中的三个载荷
13.2.3.1.3. 横截面处的应力
这个选项用来计算和存储(先前用PATH和PPATH命令定义的)截面路
径末端的总的线形化应力,由于你准备对代表两个表面之间的最短距离
进行线形化,在PPATH命令里只需用两个面的节点来描述路径。这个选项
从结果数据库文件中提取应力信息。因此在使用FSSECT应使用SET命令。
用FSSECT命令存储的应力分量可以用随后的FS命令来更改。
命令: FSSECT
GUI :
Main Menu> General Postproc> Fatigue> Store Stresses> At Cross Sect
下面这个例子介绍了FSSECT输入命令的用法,如果未用FL命令来指定节点位
置,在本例中,FSSECT命令会自动为两个路径节点指定位置编号为391和395。
(请参考在执行FSSECT命令前用PPATH命令识别面节点。)
PATH,Name,2 ! 用两个面节点来定义路径
PPATH,1,391
PPATH,2,395
SET,1
FSSECT,,1,1 ! 存储节点391和395处的应力
图 13.3. 在执行FSSECT命令前用PPATH命令识别面节点
13.2.3.2 列出﹑显示和删除存储的节点应力
用下面的选项来列出﹑显示和删除存储的节点应力:
.列出每个位置﹑事件﹑载荷和每个应力条件的存储应力
命令:FSLIST
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
List Stresses
.显示一个应力项作为某个特定的位置和事件的载荷数的函数
命令:FSPLOT
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
Plot Stresses
. 删除存储在某个位置﹑事件和载荷上的一个应力条件
命令:FSDELE
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
Dele Stresses
.删除某个位置上的所有应力
命令:FL
GUI:
Main Menu> General Postproc> Fatigue> Stress Locations
.删除某个事件的所有载荷上所有应力
命令:FE
GUI:
Main Menu> General Postproc> Fatigue> Erase Event Data
第13章 疲劳
13.1 疲劳的定义
疲劳是结构在承受低于其极限载荷的力的反复作用下发生破裂的现
象。例如,一根钢条或许可以承受只有300KN的静态拉力的作用,但在
200KN的力的反复作用下,就很可能发生破坏。
引起疲劳失效的主要因素包括:
· 经历的载荷周期数;
· 单周期内应力的变化幅度;
· 单周期内的平均应力;
· 局部应力集中的存在。
当计算在预计的生命周期中某个部分的耗用状况时,一个正式的疲劳评
估要涉及以上任何一个因素。
13.1.1 ANSYS程序的任务
ANSYS 疲劳计算是以ASME锅炉与压力容器规范的第3部分(和第8
部分第二章)为依据,采用了简化了的弹塑性假设和Miner累积疲劳准则。
除了基于ASME规范的疲劳计算外,用户也可以自己定义宏指令,或者
用合适的第三方程序与ANSYS分析结果相接。(更多信息请参考ANSYS
APDL程序指南)
ANSYS有以下疲劳计算能力:
· 用户可以对现有的应力结果进行后处理来确定任何实体单元和壳单元的
疲劳耗用因数(对线单元模型疲劳分析用户也可以手工输入应力)。
· 用户可以在预先选定的位置上确定一定数目的事件以及这些事件中的载
荷,然后保存这些位置上的应力。
· 用户可以为每个位置定义应力集中系数和给每个事件定义比例因数。
13.1.2 基本术语
位置 在模型上所要保存疲劳应力的节点。用户通常可以选取结构上
易于发生疲劳破坏的的点的位置。
事件 是在某个特定的应力循环中出现在不同的时刻的一系列应力状
态。更多信息请参考本章后面的获取精确耗用系数指南。
载荷 一个应力状态,是事件的一部分。
交变应力强度是任何两个载荷间的应力状态的差的测量值,程序不因平
均应力的影响而调整交变应力强度。
13.2 疲劳计算的步骤
疲劳计算是应力计算结束后在通用后处理器POST1中进行的。通常包
括以下五个主要步骤:
1. 进入通用后处理POST1,恢复数据库;
2. 设定尺寸(位置﹑事件和载荷的数目),定义疲劳材料特性,确定应
力位置,定义应力集中因数。
3. 保存感兴趣的位置上不同的事件和载荷的应力,指定事件循环和比
例因数。
4. 激活疲劳计算。
5. 查看结果。
13.2.1 进入通用后处理POST1,恢复数据库
为了进行疲劳计算,你须要遵循以下步骤:
1. 进入POST1.
命令: /POST1
GUI:
Main Menu> General Postproc
2. 把数据库文件(jobname.db)读入正运行的内存中。(如果您的疲劳计算
是接着应力计算进行的,那么数据库文件就已经在内存中了),还需要一
个含有节点应力的结果文件(jobname.rst),你可以随后读入。
命令:RESUME
GUI:
Utility Menu> File> Resume from
13.2.2 设定大小,疲劳材料性质和位置
定义以下数据:
·位置﹑事件和载荷的数的最大值;
·疲劳材料性质;
·应力位置和应力集中因数。
1. 定义应力位置﹑事件和载荷的数的最大值。
在默认的条件下,最多可以考虑5个节点位置,10个事件,每个事件中
3个载荷。必要时,用户可以通过以下选项设置更多数目(也就是允许更多的位
置﹑事件或节点)。
命令: FTSIZE
GUI:
Main Menu> General Postproc> Fatigue> Size Settings
2. 定义材料疲劳特性
为了计算疲劳耗用因数和考虑弹塑性简化计算的影响,用户必须定义材
料疲劳特性。在疲劳评价中感兴趣的材料特性有:
· S-N曲线.即交变应力强度((Smax - Smin)/2)和允许循环次数曲线。ASME S-N
曲线解决了最大平均应力的影响。必要时,用户应该调整S-N曲线来解决平
均应力的影响。如果没有输入S-N曲线,关于所有可能应力状态合成的交变
应力强度将会以从大到小的顺序列举出来,但是不进行任何耗用因数的计
算。
命令: FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> S-N Table
· Sm-T曲线:即设计应力集中值-温度曲线,当用户需要程序判别名义应
力范围是否已经进入塑性阶段时就需要用到这条曲线。
命令:FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> Sm_T Table
·弹塑性材料参数M和N(加工硬化指数),只有根据简化的弹塑性规则计
算时,这个参数才会被用到。两个参数值可以从ASME代号中查得。
命令:FP
GUI:
Main Menu> General Postproc> Fatigue> Property Table> Elas-plas Par
下面这个例子说明了在输入材料疲劳特性时FP命令的用法:
! 定义S-N曲线图表:
FP,1,10,30,100,300,1000,10000 ! 允许周期数
FP,7,100000,1000000 ! "
FP,21,650,390,240,161,109,59 ! 交互应力强度
FP,27,37,26 ! 强度幅值, S, ksi
! 定义Sm-T 表:
FP,41,100,200,300,400,500,600 ! 温度, deg F
FP,47,650,700,750,800 !
FP,51,20,20,20,18.7,17.4,16.4 ! "设计应力强度值“,
FP,57,16.1,15.9.15.5,15.1 ! Sm (=2/3*Sy 或
! 1/3 *Su), ksi
FP,61,1.7,.3 ! 定义弹塑性参数: M 和N
3.定义应力位置和应力集中因数
下面的选项允许你明确定义疲劳计算中一个感兴趣的节点位置,以及
定义此位置的应力集中因数(SCFs)和为其指定一个不长于20字符的标
题。
命令:FL
GUI:
Main Menu> General Postproc> Fatigue> Stress Locations
注意
并非所有的疲劳分析都要求用到FL命令,当执行FS, FSNODE, 或
FSSECT命令时,节点的位置就会被自动指定。如果你的模型有充足的细网
格,就没必要使用计算出SCFs,因为应力已经相当精确。(然而,由于表面、
尺寸或腐蚀的影响,补充的SCFs仍然需要),
当只有一个位置时,你可以不用定义标题。如果不要求明确定义位置、SCFs
或标题时,FL命令也完全可以不用。
下面这个例子是FL命令的应用。本例中,以坐标Y轴为轴线的圆柱,
有两个感兴趣的壁厚,在外壁上SCFs被用于轴向线形化应力上。
FL,1,281,,,,Line 1 at inside
FL,2,285,,1.85,,Line 1 at outside
FL,3,311,,,,Line 2 at inside
FL,4,315,,2.11,,Line 2 at outside
图 13.1 圆柱壁上的应力集中因数
13.2.3 保存应力,指定事件循环和比例因数
13.2.3.1 保存应力
为了进行疲劳评价,程序必须获知在不同事件点的应力和每个位置
的载荷,也要知道每个事件的循环次数。你可以通过以下选项存储每个位
置,事件和载荷组合的应力:
·手工存储应力;
·从jobname.rst文件中获得节点应力;
·横截面处的应力。
注意
程序假定零应力状态是不存在的,如果零应力是要考虑的应力状态
之一,那么必须在它可能出现的每个事件中明确输入。
下面这些命令列示意地说明了怎样存储应力,在某些情况下,用户
或许更愿意用LCASE命令来而不用SET。
手工存储应力:
FS
从Jobname.RST中获得节点应力:
SET, FSNODE
横截面处的应力:
PATH, PPATH, SET, FSSECT
(横截面处的计算也需要从Jobname.RST文件中获取数据.)
在一个事件中,你可以用多种方法来存储应力,下面详细阐述这些方
法的用法:
13.2.3.1.1 手工存储应力
你可以用此选项手工存储应力和温度(不需要直接访问jobname.RST文
件)。在这种情况下,你不是在POST1中把疲劳分析模块作为后处理器,而
只是作为疲劳计算的工具。象梁单元等线单元必须这样来处理,因为这里
和实体单元和壳单元不同,疲劳模型不能从jobname.RST文件中获取数据。
命令: FS
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses> Specified Val
命令输入如下例所示:
FS,201,1,2,1,-2.0,21.6,15.2,4.5,0.0,0.0
FS,201,1,2,7,450.3
在本例中,输入的只有总应力(第1-6项)和温度(第7项),如
果还要输出线形化的应力,那么应接着温度占第8至13项。
注意
在只有轴向应力的梁单元这种特殊情况下,你只须输入一个方向
(SX)上的应力,其余的皆为空白。
13.2.3.2 从jobname.RST文件中获取节点应力
使用这个选项时,你就生成了要存储的含有6个应力分量的一个节
点矢量,这些应力分量可以直接从结果数据库文件来保存。
注意
在执行FSNODE命令之前,你必须使用SET命令,可能也要SHELL命令。
SET命令用来从结果文件中把对应于某个特定的载荷步的结果读入数据
库文件。SHELL命令为壳单元从顶部﹑中部或底部面(默认为顶面)选择
结果数据。
命令:FSNODE
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
From rst File
下面这个说明了怎样用FSNODE命令在某个节点位置的一个事件中输入应力:
SET,1 ! 为载荷步1定义数据组
FSNODE,123,1,1 ! 节点123初的应力矢量被指定为事件1,载荷1
SET,2 ! 为载荷步2定义数据组
FSNODE,123,1,2 ! ...事件1载荷2
SET,3 ! ...载荷步3
FSNODE,123,1,3 ! ...事件1,载荷3
图13.2. 一事件中的三个载荷
13.2.3.1.3. 横截面处的应力
这个选项用来计算和存储(先前用PATH和PPATH命令定义的)截面路
径末端的总的线形化应力,由于你准备对代表两个表面之间的最短距离
进行线形化,在PPATH命令里只需用两个面的节点来描述路径。这个选项
从结果数据库文件中提取应力信息。因此在使用FSSECT应使用SET命令。
用FSSECT命令存储的应力分量可以用随后的FS命令来更改。
命令: FSSECT
GUI :
Main Menu> General Postproc> Fatigue> Store Stresses> At Cross Sect
下面这个例子介绍了FSSECT输入命令的用法,如果未用FL命令来指定节点位
置,在本例中,FSSECT命令会自动为两个路径节点指定位置编号为391和395。
(请参考在执行FSSECT命令前用PPATH命令识别面节点。)
PATH,Name,2 ! 用两个面节点来定义路径
PPATH,1,391
PPATH,2,395
SET,1
FSSECT,,1,1 ! 存储节点391和395处的应力
图 13.3. 在执行FSSECT命令前用PPATH命令识别面节点
13.2.3.2 列出﹑显示和删除存储的节点应力
用下面的选项来列出﹑显示和删除存储的节点应力:
.列出每个位置﹑事件﹑载荷和每个应力条件的存储应力
命令:FSLIST
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
List Stresses
.显示一个应力项作为某个特定的位置和事件的载荷数的函数
命令:FSPLOT
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
Plot Stresses
. 删除存储在某个位置﹑事件和载荷上的一个应力条件
命令:FSDELE
GUI:
Main Menu> General Postproc> Fatigue> Store Stresses>
Dele Stresses
.删除某个位置上的所有应力
命令:FL
GUI:
Main Menu> General Postproc> Fatigue> Stress Locations
.删除某个事件的所有载荷上所有应力
命令:FE
GUI:
Main Menu> General Postproc> Fatigue> Erase Event Data