【分享】ANSYS7.0超弹材料的定义-新的曲线拟合功能--摘自ansys用户专区 几何非线性
几何非线性不受敛主要原因
1.网格质量,特别是warpage 2.约束方程,少用刚性连接 3.收敛准则,可适当加大容差 4.荷载步设置,可适当加大步数
最近碰到一个对我来说很意外的问题: 如果确实如此希望大家以后小心
大家知道定义接触后会自动生成一组实常数,
前几天我碰到一个问题,需定义超过10组实常数,接触对很多,好像有20多处, 按照常规步骤划分完所有网格,当时因为有一个实常数参数没确定, 便预留了最后一组(第10组)实常数里面的参数为空, 接下来就定义了所有的接触对,由于所有接触对里的设置一样,ANSYS在我保存db完重新打开后
便把我所有的接触对综合成一个了!
接下来我就把第十组实常数里面的参数补上了,但在求解时却提示我该实常数同时被两种单元(包括CNTACT单元) 同时占用,出现错误!!
检查了半天才发现自动生成的接触对实常数把第10组实常数也占用了! 我实在没找到什么好的解决办法,
只得把接触对删除了重新定义,那可是上百多个面的选取过程,痛苦不堪简直! ANSYS里接触对面的选取时还不能针对Component操作!
ANSYS7.0超弹材料的定义-新的曲线拟合功能
ANSYS7.0中的超弹材料模拟能力得到了很大的加强,在ANSYS6.1的超弹材料模型的基础上又增加了Gent, Yeoh, Blatz-Ko, and Ogden (Foam)四种超弹性材料模型,使得其超弹模拟能力得到了
进一步扩展。
ANSYS7.0中对超弹能力最吸引人的增强还不在于此,而是在于其曲线拟合能力的大幅度扩展,不再像ANSYS6.1以前的版本一样曲线拟合仅仅局限于Mooney-Rivlin模型,而是将其扩展到所有的超弹模型,这样,用户可以利用实验得到的应力应变数据直接让程序自己拟合出任意一种超弹材料模型的参数,
大大方便了用户的使用。以下就ANSYS7.0的超弹拟合功能做一简单介绍。
在ANSYS6.1中,*mooney命令或对应的GUI菜单可以根据试验数据拟合Mooney-Rivlin超弹材料参数,但只局限于这一种模型,而且其使用也受到了限制,其数据只能用于hyperXX单元,若要用于18x单元还需要将拟合出的参数直接输入tb hyper对应的超弹模型中,由于其使用的不方便性,Ansys7.0的超弹模型中剔除了Ansys6.1版本中的*mooney命令对应的曲线拟合菜单而增加了新的可适用于多个超弹模型的拟合功能,但*mooney命令仍然存在,也就是说如果您需要使用经典的拟合方
法,可以定义相应的数组参数,然后用命令流的方式进行拟合。
其实,在Ansys7.0中不再推荐使用*mooney命令来进行拟合,而建议采用新的拟合技术,可以进行多
个超弹模型的拟合,而且可以直接用于18x单元。其拟合菜单的路径为:
Material->Nonlinear->Elastic->Hyperelastic->Curve Fitting
然后按照wizard的提示一步步输入单轴、双轴、剪切、体积试验数据文本文件名称,如果没有任何一种试验数据,只需将该名称处空置即可,最后选择需要拟合数据的超弹模型,程序就会自动计算出相应的参数,并立刻在图形窗口显示拟合曲线与试验曲线的比较图,如果不理想,可以点击prev回到前面的步骤重新选取模型,如果拟合结果满意,则点击update,拟合出来的材料参数就会被输入激活的材料号中,
使用起来非常方便。
试验数据的文件格式需要进行说明:
单轴、等双轴、剪切数据为应变-应力数据,依次输入应变、应力值,第一列为应变,第二列为应力,每一行两个数之间用空格隔开(空格数目不限),代表一个数据点。数据符号:拉为正,压为负。体积试验数据有所不同,每一行两个数据同样用空格隔开,第二个数为静水压力,但第一个数不是体积应变e,而是相对体积,即1+e,例如体积应变为-0.01,则应该在第一列输入0.99。而且程序假定体积试验为线性关系,拟合时也只拟合出一条直线,所以通常输入两个值即可。数据符号:使体积减小的静水压力为正,
这需要注意,如下例:
0 0 0.99 20
在选用mooney模型的情况下,单轴、等双轴、剪切试验数据用来计算参数c1-c9,而体积数据用来计算最后一个数据d(不可压缩性因子,与泊松比有关),如果不给出体积试验曲线,则d=0,这种情况下
可能需要手工修改d值,如果知道泊松比u,则可用如下公式计算: d=(1-2u)/(c1+c2) 此式是建立在几乎不可压缩(u接近于或等于0.5)的前提下的。因为准确的公式应该如下:
剪切模量G=2(c1+c2) 体积模量k=E/(3(1-2u)) G=E/(2(1+u)) k=2/d
于是 d=2/k=6(1-2u)/(4(1+u)(c1+c2))
可以看到,如果u约等于0.5,则上式可以简化为前面的式子。
mooney还有其他一些推导基于几乎不可压缩,所以对mooney模型而言,输入参数时一定要注意其
泊松比应该接近0.5,一般大于0.49。
4.2.4.4 求解步骤(命令流方法) fini /cle l=60 l1=15 w=10 ri=50 ro=160
routn=200 pp=600 pp1=30 pex=5000 /prep7 et,1,42 et,2,14
keyopt,1,3,2 keyopt,2,3,2
确定Mooney-Rivlin常数的个数
概略地说,数据点的个数(即上面的 N )应至少为Mooney-Rivlin常数个数的两部。常数个数越多,曲线的统计量越与真实值相接近(即拟合得更好),但曲线的形状可能会比常数个数少的曲线要差。鉴于此,用户可以按顺序尝试2项、5项、9项函数,并检查其所生成的应力-应变曲线以确定到底哪一个函数在综合曲线形状以及拟合质量两方面做得最好。 表4-1 建议的Mooney-Rivlin常数
应力-应变曲线中的点数 无拐点(即单个曲线) 一个拐点(即2条曲线) 2个拐点 建议的Mooney-Rivlin函数 2项 5项 9项
图4-14 典型的超弹性应力-应变曲线
输出应力数组(CALC) :其大小为 N ×3, N 与前面的一样,该数组保存计算出来的应力值,这些应力值保存的顺序与其相应的应变保存值的顺序一致(后者以升序排列)。 排序应变数组(SORTSN) :其大小为 N ×3,它保存经过排序的输入应变。 排序应变数组(SORTSN) :其大小为 N ×3,它保存经过排序的输入应力。 例如,如果任一个类型的测试数据包含直到20个数据点,而想生成5项的Mooney-Rivlin常数,则可以应用下面的命令来定义所需要的数组(记住:用户可以代入任意有效的参数名): *DIM,STRAIN,,20,3 ! Dim. array (STRAIN) for 20 input strain-data points *DIM,STRESS,,20,3 ! Dim. array (STRESS) for input stress data (20 pts.) *DIM,CONST,,5,1 ! Dim. array (CONST) for 5-term M-R constants *DIM,CALC,,20,3 ! Dim. array (CALC) for sorted calculated stresses *DIM,SORTSN,,20,3 ! Dim. array (SORTSN) for sorted input strain data *DIM,SORTSS,,20,3 ! Dim. array (SORTSS) for sorted input stress data 参见 * DIM 命令的说明。 第二步:填充输入数据数组
当数组定义完成之后,就可以用 * SET 命令(GUI:Utility Menu> Parameters>Array Parameters)将实验数据填入STRAIN数组和STRESS数组。请再一次记住,用户可以给这些数组任意有效的参数名;在这里所采用的参数名,只是为了讨论方便。
注意--*MOONEY 命令将所有输入应力和应变都解释为工程应力和工程应变。 这些数组大小都为 N *3,其每一列各自表示一类测试数据,顺序是: 第一列:单轴拉伸和/或单轴压缩;
第二列:等双轴拉伸和/或等双轴压缩; 第三列:剪切(平面拉伸或压缩)。
注意这并不是说,变形模式及其等同存在1:1的关系。第一个变形模式--单轴拉伸--与等效双轴压缩等同,但数组第一列包含从单轴拉伸和/或单轴压缩得到的数据。类似地,第二个变形模式--等双轴拉伸--与单轴压缩等同,但数组第二列包含从等双轴拉伸和/或等双轴压缩得到的数据。
表4-2 应力-应变输入数组中的数据位置
变形模态 单轴拉伸 等双轴拉伸 剪切 等效测试类型 单轴拉伸 等双轴压缩 等双轴拉伸 单轴压缩 平面拉伸 平面压缩 测试数据的在数组中的位置 第一列 第二列 第二列 第一列 第三列 第三列 如果只作了一种或两种测试,则须将未做的测试的相应的列置空。可用 图4-15 来说明。
图4-15 在应力和应变输入数组中的数据位置
现在考虑一个得到了单轴拉伸和剪切测试数据时的情况。在数组中存储应变和应力的命令可能象下面那样(当然,数组可以有任意的名字,而且在本例中用N1和N2表示的数据点数,可以是任意整数): ! Uniaxial Tension Data
*SET,STRAIN(1,1), ... ! First 10 strain data points
*SET,STRAIN(11,1), ...! Strain data points 11 through N1 (if N1<21) *SET,STRESS(1,1), ... ! First 10 stress data points
*SET,STRESS(11,1), ...! Stress data points 11 through N1 ! Shear Data
*SET,STRAIN(1,3), ... ! Strain data points 1 through N2 (if N2<11) *SET,STRESS(1,3), ... ! Stress data points 1 through N2 参见 * SET 命令的说明。
第三步:计算Mooney-Rivlin常数 要自动生成Mooney-Rivlin常数,首先应执行 TB 命令,并使该命令的 Lab =MOONEY, TBOPT =1。然后,执行 * MOONEY 命令,将已生成好的数组名填入其中(用户可以给这些数组任意有效的参数名,在这里所采用的参数名,只是为了讨论方便):
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育ANSYS材料非线性分析 全文阅读和word下载服务。
相关推荐: