
疲劳分析
体检通知-管待
2023年2月22日发(作者:小黄鱼怎么做)疲劳是指结构在低于静态极限强度载荷的重复载荷作用下,出现断裂破坏的现
象;例如一根能够承受300KN拉力作用的钢杆,在200KN循环载荷作用下,经
历1,000,000次循环后亦会破坏;导致疲劳破坏的主要因素如下:
载荷的循环次数;
每一个循环的应力幅;
每一个循环的平均应力;
存在局部应力集中现象;
真正的疲劳计算要考虑所有这些因素,因为在预测其生命周期时,它计算“消
耗”的某个部件是如何形成的;
ANSYS程序处理疲劳问题的过程
ANSYS疲劳计算以ASME锅炉和压力容器规范ASMEBoilerandPressureVessel
Code第三节和第八节第二部分作为计算的依据,采用简化了的弹塑性假设和
Mimer累积疲劳准则;
除了根据ASME规范所建立的规则进行疲劳计算外,用户也可编写自己的宏指
令,或选用合适的第三方程序,利用ANSYS计算的结果进行疲劳计算;ANSYS
APDLProgrammer‘sGuide讨论了上述二种功能;
ANSYS程序的疲劳计算能力如下:
对现有的应力结果进行后处理,以确定体单元或壳单元模型的疲劳寿命耗用系
数fatigueusagefactors用于疲劳计算的线单元模型的应力必须人工输入;
可以在一系列预先选定的位置上,确定一定数目的事件及组成这些事件的载荷,
然后把这些位置上的应力储存起来;
可以在每一个位置上定义应力集中系数和给每一个事件定义比例系数;
基本术语
位置Location:在模型上储存疲劳应力的节点;这些节点是结构上某些容易产
生疲劳破坏的位置;
事件Event:是在特定的应力循环过程中,在不同时刻的一系列应力状态,见本
章§;
载荷Loading:是事件的一部分,是其中一个应力状态;
应力幅:两个载荷之间应力状态之差的度量;程序不考虑应力平均值对结果的影
响;
疲劳计算
完成了应力计算后,就可以在通用后处理器POST1中进行疲劳计算;一般有五
个主要步骤:
1、进入后处理POST1,恢复数据库;
2、建立位置、事件和载荷的数目,定义材料疲劳性质,确定应力位置和定义应力
集中系数;
3、存储不同事件和不同载荷下关心位置的应力,并指定事件的重复次数和比例
系数;
4、激活疲劳计算;
5、查看结果;
进入POST1和恢复数据库
依照下列步骤进行疲劳计算:
1、进入POST1
命令:POST1
GUI:MainMenu>GeneralPostproc
2、把数据库文件读入到在内存中如果所要做的疲劳计算是正在进行的ANSYS
计算过程的继续,则文件已在内存中;结果文件必须已经存在并将其读入内存;
命令:RESUME
GUI:UtilityMenu>File>Resumefrom
建立疲劳计算的规模、材料疲劳性质和疲劳计算的位置
定义下列数据:
位置、事件和载荷的最大数目;
材料的疲劳性质;
应力位置与应力集中系数SCFs;
1、定义位置、事件和载荷的最大数目
缺省情况下,疲劳计算最多包括5个节点位置,10个事件,每个事件中3个载荷;
如果需要,可以通过下面的命令来设置较大的规模即较多的位置、事件和载荷;
命令:FTSIZE
GUI:MainMenu>GeneralPostproc>Fatigue>SizeSettings
2、定义材料的疲劳性质
为了计算各种耗用系数,以及为了包含简化弹塑性效应,必须定义材料的疲劳性
质;在疲劳计算中,感兴趣的材料性质有:
S-N曲线:应力幅S
max
-S
min
/2-疲劳循环次数的关系曲线;ASMES-N曲线考虑了
最大平均应力的影响;如果需要,应把输入的S-N曲线进行调节以便考虑平均应
力强度效应;如果不输入S-N曲线,那么对于各种可能的应力状态的组合,应力幅
将降序排列,但不计算耗用系数;
命令:FP
GUI:MainMenu>GeneralPostproc>Fatigue>S-NTable
S
m
-T曲线:设计应力强度值-温度曲线;如要考虑检查应力范围是否进入塑性,
就必须定义该曲线;
命令:FP
GUI:MainMenu>GeneralPostproc>Fatigue>Sm_TTable
弹塑性材料参数M和N应变强化指数;只在需要使用简化的弹塑性准则时,才
输入M、N;这些参数可以从ASME规范中获得;
命令:FP
GUI:MainMenu>GeneralPostproc>Fatigue>Elas-plasPar
下述例子说明了用于输入疲劳材料性质的FP命令的使用方法:
DefinetheS-Ntable:
FP,1,10,30,100,300,1000,10000AllowableCycles,N
FP,7,100000,1000000"
FP,21,650,390,240,161,109,59AlternatingStress-
FP,27,37,26IntensityRange,S,ksi
DefinetheSm-Ttable:
FP,41,100,200,300,400,500,600Temperature,degF
FP,47,650,700,750,800"
FP,51,20,20,20,,,"DesignStress-Intensity
FP,57,,,Value",Sm=2/3Syor
1/3Su,ksi
Definetheelastic-plasticmaterialparameters:
FP,61,,.3MandN
3、定义应力位置和应力集中系数
下面的选项允许用户显式地定义疲劳计算中关心的节点位置、该位置的应力集
中系数,以及在该位置的一个短的标题可用20个字母;
命令:FL
GUI:MainMenu>GeneralPostproc>Fatigue>StressLocations
注意--不是所有的疲劳分析都需要使用FL命令;如果使用FS、FSNODE或
FSSECT等命令见下,则疲劳节点位置是自动定义的;假使在建模时包含有足够细
的网格,则所计算的应力是准确的,因此不必指定应力集中系数SCFs但是如果
考虑表面影响、尺寸影响和腐蚀影响,则仍然需要指定SCFs;在计算疲劳时如果
只需要考察一个位置,则可以省略标题;假使定位明确,或是不需要应力集中系数
和标题,则可完全不使用FL命令;
这里给出了在一个圆柱筒分析中应用FL命令的例子;整体坐标Y轴为旋转
轴;在不同璧厚交界处的外壁给出了应力集中系数SCFs针对轴向线性化应力;
FL,1,281,,,,Line1atinside
FL,2,285,,,,Line1atoutside
FL,3,311,,,,Line2atinside
FL,4,315,,,,Line2atoutside
图3-1圆柱筒应力集中系数SCFs
储存应力、指定事件循环次数和比例因子
储存应力
为了进行疲劳计算,程序必须知道每一个位置上不同事件和载荷时的应力,以及
每一个事件的循环次数;可采用下列选项来存储每一个位置、事件和载荷组合情
况下的应力:
人工储存应力;
从文件中取得节点应力;
横截面应力;
警告:程序从不假定存在0应力条件;如果一定要考虑零应力条件,就必须在每
一个事件中明确地输入何处产生零应力;
下面的命令序列,说明如何存储应力;在某些情况下,用户也可以用LCASE命令
代替SET命令;
人工储存应力:FS
从中取出节点应力:SET,FSNODE
横截面应力:PATH,PPATH,SET,FSSECT
横截面计算也需从的数据中取得
可以用不同的方法在一个事件中储存应力;下面说明各种不同的方法;
.1人工储存应力
可以人工存储应力和温度不是直接从的结果文件取得;在这种情况下,实际并
没有将POST1的疲劳模块作为后处理器,而是仅仅作为疲劳计算器使用;线单元
如梁单元的应力必须人工输入,因为疲劳模块不能如体元或壳元那样从结果文件
中读取数据;
命令:FS
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
SpecifiedVal
下面的例子说明用上述命令输入的方式:
FS,201,1,2,1,,,,,,
FS,201,1,2,7,
在这个例子中,只输入了全应力1~6项和温度;如果还要输入线性化应力,它们
将紧随在温度后面,即8~13项;
注意--对只有轴向应力的梁单元,只需输入一个应力分量SX,其余各项空白;
.2从结果文件中提取应力
该方法把包含有6个分量的节点应力向量直接储存在结果的数据库内;随后可
以用FS命令修正存入的应力分量;
注意--在执行FSNODE命令之前,必须使用SET命令,可能还有SHELL命
令;SET命令从数据库的文件中读取某一特殊载荷子步下的结果,SHELL命令
可选择从壳单元的顶面、中面或底面读取结果缺省是从顶面读取结果;
命令:FSNODE
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
FromrstFile
下面给出用FSNODE命令在一个事件的一个节点位置输入应力结果的例子:
SET,1Definedatasetforloadstep1
FSNODE,123,1,1Stressvectoratnode123assignedtoevent1,
loading1.
SET,2Definedatasetforloadstep2
FSNODE,123,1,2...event1,loading2
SET,3...loadstep3
FSNODE,123,1,3...event1,loading3
图3-2一个事件中的三个荷载
.3横截面应力
本选项计算和存储截面路径它是由以前的PATH和PPATH命令定义的端点的
线性化应力;因为通常线性化应力计算是在能代表两个表面的最短距离的线段上
进行的,因此,只需在两个表面上各取一个点来描述PPATH命令中的路径;这一
步骤将从计算结果的数据库中获得应力;因此必须在SET命令之前使用FSSECT
命令;用FSSECT命令储存的应力分量可用FS命令修正;
命令:FSSECT
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
AtCrossSect
使用FSSECT命令的方法可用下述例子说明;如果节点位置没有在FL命令中
指定,则在该例子中命令FSSECT将自动给两个路径节点391和395设定位置
编号;见图3-3;
图3-3在执行FSSECT命令之前由PPATH命令识别的表面节点
列表、显示或删除储存的应力
用下列选项对储存的应力进行列表、绘图或删除;
1、列出每一个位置、每一个事件、每一种载荷或每一种应力状态下的储存应力:
命令:FSLIST
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
ListStresses
2、对某一位置和事件,以载荷号的函数来显示应力项:
命令:FSPLOT
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
PlotStresses
3、删除储存在某一位置、事件和载荷下的应力状态:
命令:FSDELE
GUI:MainMenu>GeneralPostproc>Fatigue>-StoreStresses-
DeleStresses
4、删除某一位置上的所有应力:
命令:FL
GUI:MainMenu>GeneralPostproc>Fatigue>StressLocations
5、删除在某一事件中各种载荷下的所有应力:
命令:FE
GUI:MainMenu>GeneralPostproc>Fatigue>EraseEventData
设定事件重复次数和比例系数
本选项确定事件重复次数对该事件的所有荷载和所有位置;也可对该事件中构
成载荷的所有应力施加比例系数;
命令:FE
GUI:MainMenu>GeneralPostproc>Fatigue>AssignEvents
下面给出该步骤的一个例子:
FE,1,-1Eraseallparametersandfatiguestressesformerly
usedforevent1.
FE,2,100,Assign100occurrencestoevents2,3and4,
REPEAT,3,1andscaleby.
FE,5,500Assign500occurrencestoevent5.
获得准确的耗用系数
结构常常承受各种最大和最小应力,它们发生的顺序是未知的甚至是随机的;因
此就必须小心地考虑如何在各种可能的应力范围内,得到正确的重复循环次数,
以获得有效的疲劳寿命耗用系数;
ANSYS程序自动计算所有可能的应力范围,同时采用我们通常所知道的“雨
流”法记数,跟踪这些应力发生的次数;在选定的节点位置,对所有事件进行搜
索,以寻找产生最大应力幅的载荷对应力矢量;记录这些应力幅的重复次数,同时
包含这些载荷的事件的剩余重复次数随之减少;最终至少有一个事件在某一位置
被“用光”,而属于这一事件的其它应力状态,在随后的过程中将被忽略;这一过
程一直进行着,直到所有的应力幅及重复次数都被计及后结束;
警告通常容易误用疲劳模块的记数功能;如果需要使疲劳计算得到正确的耗用
系数,就必须小心地设计好事件;
设计事件时遵循下列规则:
1、了解ANSYS的内部逻辑记数算法,参见ANSYSTheoryReference§,详细地
讲述ANSYS程序如何记数;
2、由于在三维应力状态,很难预测哪一个载荷步具有极值应力,因此可以对每一
个事件采用多个载荷群,以便成功获得极值应力见图3-2;
3、如果在某一给定的事件中,只包含一个极值应力,则将获得一个较保守的结
果;如果在一个事件中,引入不止一个极值应力,则有时将产生不保守的结果;如
下例所示:
考察一个加载历程,由两个稍有不同的循环构成:
载荷循环1:做500次循环,Sx=+~ksi;
载荷循环2:做1000次循环,Sx=+~ksi;
显然这是应力幅为50Ksi的1500次循环;然而,如果不小心把这些载荷划分
成两个事件,则将导致不正确的记数结果;请看该结果如何:
事件1载荷1:Sx=500次循环
载荷2:Sx=
事件2载荷1:Sx=1000次循环
载荷2:Sx=
可能的应力幅是:
a、从E1,L1到E1,L2:ksi
b、从E1,L1到E2,L1:ksi
c、从E1,L1到E2,L2:ksi
d、从E1,L2到E2,L1:ksi
e、从E1,L2到E2,L2:ksi
f、从E2,L1到E2,L2:ksi
把这些应力幅从大到小排列:
d、从E1,L2到E2,L1:ksi
a、从E1,L1到E1,L2:ksi
f、从E2,L1到E2,L2:ksi
c、从E1,L1到E2,L2:ksi
b、从E1,L1到E2,L1:ksi
e、从E1,L2到E2,L2:ksi
则记数将如此:
d、从E1,L2到E2,L1500次循环-E1和E2用去500次循环
a、从E1,L1到E1,L20次循环-E1已用光
f、从E2,L1到E2,L2500次循环-E2又用去500次循环
c、从E1,L1到E2,L20次循环-两个事件都用光
b、从E1,L1到E2,L10次循环-两个事件都用光
e、从E1,L2到E2,L20次循环-两个事件都用光
上面记录了50ksi应力幅的1000次循环,而不是已知的1500次循环;这个
错误的结果是由于不恰当的事件组合导致的;
假使载荷被描述为各自分离的事件如E1,L1=>E1;E1,L2=>E2;E2,L1=>E3;
E2,L2=>E4,则将得到下列的记数范围:
d、从E2到E3的500次循环,用去500次循环
a、从E1到E2的0次循环,因为E2“用光”了
f、从E3到E4的500次循环,E3又用去500次循环,E4用去500次循环
c、从E1到E4的500次循环,E4又用去500次循环
d、从E1到E3的0次循环,因为E3“用光”了
e、从E2到E4的0次循环,因为E2和E4都“用光”了;
上述情况恰当地记录了累积疲劳损伤被,即50ksi应力幅的1500次循环;
4、相反,对每一个最大和最小应力条件应用分离的事件,则将使记录变得太保
守;在这种情况下,应小心地选择应被一起记数的载荷,将它们划分为同一事件;
下面的示例说明一些事件如何才能够包括多个极值应力条件;
考虑由两个载荷循环组成的载荷历程:
载荷循环1:从Sx=+到+ksi,做500次循环
载荷循环2:从Sx=+到+ksi,做1000次循环
显然这些循环的最不利组合为以大约25ksi的应力幅做500次循环;
在本例中,如果将载荷划分为两个事件,则产生了25ksi范围内进行500次
循环的正确记录;如每一个载荷作为一个独立的事件,将产生一种过于保守的记
录,形成25ksi应力幅的1000次循环;
激活疲劳计算
现在有了位置、应力、事件及所有指定的材料参数,可在指定位置执行疲劳计算;
位置的确定可用节点本身,也可用位置编号;
命令:FTCALC
GUI:MainMenu>Generalpostproc>Fatigue>CalculateFatig
查看计算结果
疲劳计算结果被输出在输出窗口;如果你将输出转向/OUTPUT到文件中如,就可
打开该文件查看结果;
命令:LIST
GUI:UtilityMenu>List>Files>Other>
如果用户已输入S-N曲线,则所有部位的应力幅从大到小排列与相应的事件/
载荷、使用循环次数、允许循环次数、温度和阶段耗用系数一起以表格形式输出;
随后输出累积寿命耗用系数;
正如前面提到的,FTCALC输出时,将对任一给定的应力幅显示相应的事件和载
荷,这些信息能帮助分离出那些引起最大的疲劳损伤的事件与载荷;
修正事件的一个方便的方法是把所有的疲劳数据写入文件中它可以在执行
FTCALC命令前或后做;写入文件的数据是疲劳模块的命令流;可通过编辑文
件文本文件来修改事件,然后用/INPUT命令重新读入被修改的疲劳命令;
命令:FTWRITE
GUI:MainMenu>Generalpostproc>Fatigue>WriteFatigData.
其它记数方法
前面曾介绍过“雨流”记数法;在时间-载荷历程未知的情况下,这一技术才有
用处;如果时间-载荷历程已知,对每一个接连的事件分别做疲劳分析FTCALC,然
后人工相加这些耗用系数,则可避免得到不恰当的保守结果;
疲劳分析示例命令流方法
下面是一个疲劳计算输入命令流:
EnterPOST1andResumetheDatabase:
/POST1
RESUME,...
NumberofLocations,Events,andLoadings
FTSIZE,...
MaterialFatigueProperties:
FP,1,....Nvalues
FP,21,...Svalues
FP,41,...Tvalues
FP,51,...Smvalues
FP,61,...Elastic-plasticmaterialparameters
Locations,StressConcentrationFactors,andLocationTitles
FL,...
StoreStresses3DifferentMethods
StoreStressesManually:
FS,...
RetrieveStressesfromtheResultsFile:
SET,...
FSNODE,...
StoreStressesataCross-Section:
PPATH,...
SET,...
FSSECT,...
EventRepetitionsandScaleFactors
FE,...
ActivatetheFatigueCalculations
FTCALC,...
ReviewtheResultsListtheoutputfile
FINISH
其中的FTSIZE,FP,FL,FS,FSNODE,PPATH,FSSECT,FE和FTCALC命令,请参考
ANSYSCommandsReference;
ANSYS疲劳计算以ASME锅炉和压力容器规范ASMEBoilerandPressureVesse
lCode第三节和第八节第二部分作为计算的依据,采用简化了的弹塑性假设和M
imer累积疲劳准则;除了根据ASME规范所建立的规则进行疲劳计算外,用
户也可编写自己的宏指令,或选用合适的第三方程序,利用ANSYS计算的结果进
行疲劳计算;ANSYSAPDLProgrammer‘sGuide讨论了上述二种功能;ANSYS
程序的疲劳计算能力如下:对现有的应力结果进行后处理,以确定体单元或壳
单元模型的疲劳寿命耗用系数fatigueusagefactors用于疲劳计算的线单元
模型的应力必须人工输入;可以在一系列预先选定的位置上,确定一定数目的
事件及组成这些事件的载荷,然后把这些位置上的应力储存起来;可以在每一
个位置上定义应力集中系数和给每一个事件定义比例系数;基本术语位置
Location:在模型上储存疲劳应力的节点;这些节点是结构上某些容易产生疲劳
破坏的位置;事件Event:是在特定的应力循环过程中,在不同时刻的一系列应
力状态,见本章§;载荷Loading:是事件的一部分,是其中一个应力状态;应
力幅:两个载荷之间应力状态之差的度量;程序不考虑应力平均值对结果的影响;
疲劳计算完成了应力计算后,就可以在通用后处理器POST1中进行疲劳计
算;一般有五个主要步骤:1、进入后处理POST1,恢复数据库;2、建立位
置、事件和载荷的数目,定义材料疲劳性质,确定应力位置和定义应力集中系数;
3、存储不同事件和不同载荷下关心位置的应力,并指定事件的重复次数和比
例系数;4、激活疲劳计算;5、查看结果;进入POST1和恢复数据库
依照下列步骤进行疲劳计算:1、进入POST1命令:POST1GUI:MainM
enu>GeneralPostproc2、把数据库文件读入到在内存中如果所要做的疲劳计
算是正在进行的ANSYS计算过程的继续,则文件已在内存中;结果文件必须已
经存在并将其读入内存;命令:RESUMEGUI:UtilityMenu>File>Resume
from建立疲劳计算的规模、材料疲劳性质和疲劳计算的位置定义下列数据:
位置、事件和载荷的最大数目;材料的疲劳性质;应力位置与应力集
中系数SCFs;1、定义位置、事件和载荷的最大数目缺省情况下,疲劳计算
最多包括5个节点位置,10个事件,每个事件中3个载荷;如果需要,可以通过下
面的命令来设置较大的规模即较多的位置、事件和载荷;命令:FTSIZEGU
I:MainMenu>GeneralPostproc>Fatigue>SizeSettings2、定义材料的疲
劳性质为了计算各种耗用系数,以及为了包含简化弹塑性效应,必须定义材料
的疲劳性质;在疲劳计算中,感兴趣的材料性质有:S-N曲线:应力幅-疲劳循
环次数的关系曲线;ASMES-N曲线考虑了最大平均应力的影响;如果需要,应把
输入的S-N曲线进行调节以便考虑平均应力强度效应;如果不输入S-N曲线,那
么对于各种可能的应力状态的组合,应力幅将降序排列,但不计算耗用系数;
命令:FPGUI:MainMenu>GeneralPostproc>Fatigue>S-NTableSm-T曲
线:设计应力强度值-温度曲线;如要考虑检查应力范围是否进入塑性,就必须定
义该曲线;命令:FPGUI:MainMenu>GeneralPostproc>Fatigue>Sm_TTa
ble弹塑性材料参数M和N应变强化指数;只在需要使用简化的弹塑性准则
时,才输入M、N;这些参数可以从ASME规范中获得;命令:FPGUI:Main
Menu>GeneralPostproc>Fatigue>Elas-plasPar下述例子说明了用于输入疲
劳材料性质的FP命令的使用方法:DefinetheS-Ntable:FP,1,10,30,1
00,300,1000,10000AllowableCycles,NFP,7,100000,1000000"FP,2
1,650,390,240,161,109,59AlternatingStress-FP,27,37,26Intensity
Range,S,ksiDefinetheSm-Ttable:FP,41,100,200,300,400,500,60
0Temperature,degFFP,47,650,700,750,800"FP,51,20,20,20,,,"
DesignStress-IntensityFP,57,,,Value",Sm=2/3Syor1/3Su,ksi
Definetheelastic-plasticmaterialparameters:FP,61,,.3Mand
N3、定义应力位置和应力集中系数下面的选项允许用户显式地定义疲劳计
算中关心的节点位置、该位置的应力集中系数,以及在该位置的一个短的标题可
用20个字母;命令:FLGUI:MainMenu>GeneralPostproc>Fatigue>Str
essLocations注意--不是所有的疲劳分析都需要使用FL命令;如果使用F
S、FSNODE或FSSECT等命令见下,则疲劳节点位置是自动定义的;假使在建模时
包含有足够细的网格,则所计算的应力是准确的,因此不必指定应力集中系数SC
Fs但是如果考虑表面影响、尺寸影响和腐蚀影响,则仍然需要指定SCFs;在计
算疲劳时如果只需要考察一个位置,则可以省略标题;假使定位明确,或是不需要
应力集中系数和标题,则可完全不使用FL命令;这里给出了在一个圆柱筒分
析中应用FL命令的例子;整体坐标Y轴为旋转轴;在不同璧厚交界处的外壁给
出了应力集中系数SCFs针对轴向线性化应力;