疲劳是指结构在低于静态极限强度载荷的重复载荷作用下,出现断裂破坏的现 象例如一根能够承受300 KN拉力作用的钢杆,在200 KN循环载荷作用下, 经历1, 000, 000次循环后亦会破坏导致疲劳破坏的主要因素如下:载荷的循环次数;每一个循环的应力幅;每一个循环的平均应力;存在局部应力集中现象真正的疲劳计算要考虑所有这些因素,因为在预测其生命周期时,它计算 “消耗”的某个部件是如何形成的3. 1. 1 ANSYS程序处理疲劳问题的过程ANSYS疲劳计算以ASME锅炉和压力容器规范(ASME Bo订er and Pressure Vessel Code)第三节(和第八节第二部分)作为计算的依据,采用简化了的弹塑性 假设和Mimer累积疲劳准则除了根据ASME规范所建立的规则进行疲劳计算外,用户也可编写自己的 宏指令,或选用合适的第三方程序,利用ANSYS计算的结果进行疲劳计算《ANSYS APDL Programmer s Guide》讨论了上述二种功能ANSYS程序的疲劳计算能力如下:对现有的应力结果进行后处理,以确定体单元或壳单元模型的疲劳寿命耗 用系数(fatigue usage factors)(用于疲劳计算的线单元模型的应力必须人工输 入);可以在一系列预先选定的位置上,确定一定数目的事件及组成这些事件的 载荷,然后把这些位置上的应力储存起来;可以在每一个位置上定义应力集中系数和给每一个事件定义比例系数。
3. 1. 2基本术语位置(Location):在模型上储存疲劳应力的节点这些节点是结构上某些 容易产生疲劳破坏的位置事件(Event):是在特定的应力循环过程中,在不同时刻的一系列应力状 态,见本章3. 2. 3. 4o载荷(Loading):是事件的一部分,是其中一个应力状态应力幅:两个载荷之间应力状态之差的度量程序不考虑应力平均值对结 果的影响3. 2疲劳计算完成了应力计算后,就可以在通用后处理器P0ST1中进行疲劳计算一 般有五个主要步骤:1、 进入后处理P0ST1,恢复数据库;2、 建立位置、事件和载荷的数目,定义材料疲劳性质,确定应力位置和 定义应力集中系数;3、 存储不同事件和不同载荷下关心位置的应力,并指定事件的重复次数 和比例系数;4、 激活疲劳计算;5、 查看结果3. 2. 1进入P0ST1和恢复数据库依照下列步骤进行疲劳计算:1、进入 P0ST1命令:P0ST1GUI: Main Menu>General Postproc2、把数据库文件(Jobname. DB)读入到在内存中(如果所要做的疲劳计算是 正在进行的ANSYS计算过程的继续,则Jobname. DB文件已在内存中)。
结果文 件(Jobname. RST)必须已经存在并将其读入内存命令:RESUMEGUI: Utility Menu>File>Resume from3. 2. 2建立疲劳计算的规模、材料疲劳性质和疲劳计算的位置定义下列数据:位置、事件和载荷的最大数目;材料的疲劳性质;应力位置与应力集中系数(SCFs)1、 定义位置、事件和载荷的最大数目缺省情况下,疲劳计算最多包括5个节点位置,10个事件,每个事件中3 个载荷如果需要,可以通过下面的命令来设置较大的规模(即较多的位置、事 件和载荷)命令:FTSIZEGUI: Main Menu>General Postproc>Fatigue>Size Settings2、 定义材料的疲劳性质为了计算各种耗用系数,以及为了包含简化弹塑性效应,必须定义材料的 疲劳性质在疲劳计算中,感兴趣的材料性质有:S-N曲线:应力幅:(Sma-Smin)/2]-疲劳循环次数的关系曲线ASME S-N曲 线考虑了最大平均应力的影响如果需要,应把输入的S-N曲线进行调节以便 考虑平均应力强度效应如果不输入S-N曲线,那么对于各种可能的应力状态的 组合,应力幅将降序排列,但不计算耗用系数。
命令:FPGUI: Main Menu>General Postproc>Fatigue>S~N TableS,-T曲线:设计应力强度值-温度曲线如要考虑检查应力范围是否进入 塑性,就必须定义该曲线命令:FPGUI: Main Menu>General Postproc>Fatigue>Sm_T Table弹塑性材料参数M和N(应变强化指数)只在需要使用简化的弹塑性准 则时,才输入M、No这些参数可以从ASME规范中获得命令:FPGUI: Main Menu>General Postproc>Fatigue>Elas-plas Par下述例子说明了用于输入疲劳材料性质的FP命令的使用方法:! Define the S~N table:FP, 1, 10, 30, 100, 300, 1000, 10000 ! Allowable Cycles, NFP, 7, 100000, 1000000 ! 〃FP, 21, 650, 390, 240, 161, 109, 59 ! Alternating Stress-FP, 27, 37, 26 ! Intensity Range, S, ksi! Define the Sm-T table:FP, 41, 100, 200, 300, 400, 500, 600 ! Temperature, deg FFP, 47, 650, 700, 750, 800 ! 〃FP, 51, 20, 20, 20, 18. 7, 17. 4, 16. 4 ! "Design Stress-IntensityFP, 57, 16. 1, 15. 9. 15. 5, 15. 1 ! Value", Sm (二2/3*Sy or! 1/3 *Su), ksi! Define the elastic-plastic material parameters:FP, 61, 1. 7,. 3 ! M and N3、定义应力位置和应力集中系数下面的选项允许用户显式地定义疲劳计算中关心的节点位置、该位置的应力集中系数,以及在该位置的一个短的标题(可用20个字母)。
命令:FLGUI: Main Menu>General Postproc>Fatigue>Stress Locations注意一不是所有的疲劳分析都需要使用FL命令如果使用FS、FSNODE或 FSSECT等命令(见下),则疲劳节点位置是自动定义的假使在建模时包含有足 够细的网格,则所计算的应力是准确的,因此不必指定应力集中系数SCFs (但 是如果考虑表面影响、尺寸影响和腐蚀影响,则仍然需要指定SCFs )o在计算 疲劳时如果只需要考察一个位置,则可以省略标题假使定位明确,或是不需要 应力集中系数和标题,则可完全不使用FL命令这里给出了在一个圆柱筒分析中应用FL命令的例子整体坐标Y轴为 旋转轴在不同璧厚交界处的外壁给出了应力集中系数SCFs (针对轴向线性化 应力)FL, 1, 281,,,, Line 1 at insideFL, 2, 285,, 1. 85,, Line 1 at out sideFL, 3, 311,,,, Line 2 at insideFL, 4, 315,, 2. 11,, Line 2 at out side图3-1圆柱筒应力集中系数SCFs3.2.3储存应力、指定事件循环次数和比例因子3. 2. 3. 1储存应力为了进行疲劳计算,程序必须知道每一个位置上不同事件和载荷时的应 力,以及每一个事件的循环次数。
可采用下列选项来存储每一个位置、事件和载 荷组合情况下的应力:人工储存应力;从(Jobname. RBT)文件中取得节点应力;横截面应力[警告]:程序从不假定存在0应力条件如果一定要考虑零应力条件,就 必须在每一个事件中明确地输入何处产生零应力下面的命令序列,说明如何存储应力在某些情况下,用户也可以用LCASE 命令代替SET命令人工储存应力:FS从Jobname. RST中取出节点应力:SET, FSN0DE横截面应力:PATH, PPATH, SET, FSSECT(横截面计算也需从Jobname. RST的数据中取得)可以用不同的方法在一个事件中储存应力下面说明各种不同的方法3. 2. 3. 1. 1人工储存应力可以人工存储应力和温度(不是直接从Jobname. RST的结果文件取得) 在这种情况下,实际并没有将POST1的疲劳模块作为后处理器,而是仅仅作为 疲劳计算器使用线单元(如梁单元)的应力必须人工输入,因为疲劳模块不能如 体元或壳元那样从结果文件中读取数据命令:FSGUI: Main Menu>General Postproc>Fatigue>~Store Stresses-Specified Vai下面的例子说明用上述命令输入的方式:FS, 201, 1, 2, 1,-2. 0, 21. 6, 15. 2, 4. 5, 0. 0, 0. 0FS, 201, 1, 2, 7, 450. 3在这个例子中,只输入了全应力(1〜6项)和温度。
如果还要输入线性化 应力,它们将紧随在温度后面,即8~13项注意一对只有轴向应力的梁单元,只需输入一个应力分量(SX),其余各项 空白3. 2. 3. 1. 2从结果文件中提取应力该方法把包含有6个分量的节点应力向量直接储存在结果的数据库内随 后可以用FS命令修正存入的应力分量注意一在执行FSN0DE命令之前,必须使用SET命令,可能还有SHELL命 令SET命令从数据库的Jobname. RST文件中读取某一特殊载荷子步下的结果, SHELL命令可选择从壳单元的顶面、中面或底面读取结果(缺省是从顶面读取结 果)命令:FSN0DEGUI: Main Menu>General Postproc>Fatigue>-Store Stresses-From rst File下面给出用FSNODE命令在一个事件的一个节点位置输入应力结果的例子:SET,1 ! Define data set for load step 1FSNODE, 123, 1, 1 ! Stress vector at node 123 assigned to event 1, ! loading 1.SET,2 ! Define data set for load step 2FSNODE, 123, 1, 2 !・・・ event 1, loading 2SET,3 ! ...load step 3FSNODE, 123, 1, 3 !・・・ event 1, loading 3图3-2 —个事件中的三个荷载3. 2. 3. 1. 3横截面应力本选项计算和存储截面路径(它是由以前的PATH和PPATH命令定义的) 端点的线性化应力。
因为通常线性化应力计算是在能代表两个表面的最短距离的 线段上进行的,因此,只需在两个表面上各取一个点来描述PPATH命令中的路 径这一步骤将从计算结果的数据库中获得应力;因此必须在SET命令之前使 用FSSECT命令用FSSECT命令储存的应力分量可用FS命令修正命令:FSSECTGUI: Main Menu>General Postproc>Fatigue> -Store Stresses -At Cross Sect使用FSSECT命令的方法可用下。