0711Ansys论坛精华集 2.docx
《0711Ansys论坛精华集 2.docx》由会员分享,可在线阅读,更多相关《0711Ansys论坛精华集 2.docx(27页珍藏版)》请在冰豆网上搜索。
0711Ansys论坛精华集2
学习ANSYS经验总结
Ansys论坛精华集
一、关于荷载步
1.荷载步中荷载的处理方式
无论是线性分析或非线性分析处理方式是一样的。
①对施加在几何模型上的荷载(如fk,sfa等):
到当前荷载步所保留的荷载都有效。
如果前面荷载步某个自由度处有荷载,而本步又在此自由度处施加了荷载,则后面的替代前面的;如果不是在同一自由度处施加的荷载,则施加的所有荷载都在本步有效(删除除外!
)。
②对施加在有限元模型上的荷载(如f,sf,sfe,sfbeam等):
ansys缺省的荷载处理是替代方式,可用fcum,sfcum命令修改,可选择三种方式:
替代(repl)、累加(add)、忽略(igno)。
当采用缺省时,对于同一自由度处的荷载,后面施加的荷载替代了前面施加的荷载(或覆盖);而对于不是同一自由度的荷载(包括集中或分布荷载),前面的和本步的都有效。
当采用累加方式时,施加的所有荷载都在本步有效。
特别注意的是,fcum只对在有限元模型上施加的荷载有效。
2.线性分析的荷载步
从荷载步文件(file.snn)中可以看到,本步的约束条件和荷载情况,而其处理与上述是相同的。
由于线性分析叠加原理是成立的,或者讲每步计算是以结构的初始构形为基础的,因此似乎可有两种理解。
①每个荷载步都是独立的:
你可以根据你本步的约束和荷载直接求解(荷载步是可以任意求解的,例如可以直接求解第二个荷载步,而不理睬第一个荷载步:
lssolve,2,2,1),其结构对应的是你的约束和荷载情况,与前后荷载步均无关!
(事实上,你本步可能施加了一点荷载,而前步的荷载继续有效,形成你本步的荷载情况)
②后续荷载步是在前步的基础上计算的(形式上!
)。
以荷载的施加先后出发,由于本步没有删除前面荷载步的荷载,你在本步仅仅施加了一部分荷载,而结构效应是前后荷载共同作用的结果。
不管你怎样理解,但计算结果是一样的。
(Ansys是怎样求解的,得不到证实。
是每次对每个荷载步进行求解,即[K]不变,而[P]是变化的,且[P]对应该荷载步的所有荷载向量呢?
或是[P]对应一个增量呢?
不用去管他,反正结果一样)
也有先生问,想在第N步的位移和应力的基础上,施加第N+1步的荷载,如何?
对线性分析是没有必要的,一是线性分析的效应是可以叠加的,二是变形很小(变形大时不能采用线性分析)。
总之,线性分析是可以理解为后续步是在前步的基础上计算的(当然都基于初始构形)。
3.非线性分析时的荷载步
如下两点是要明确的:
①对于保守系统(无能量耗散),最后结果与荷载的施加顺序(或荷载历史、或加载路径)无关。
②后续荷载步计算是在前步的基础上(以前步的构形和应力为基础)计算的。
关于①:
设置荷载步,并顺序求解;设置荷载步,直接求解荷载步2;不用荷载步,直接同时施加所有荷载;使用重启动,不设荷载步,顺序求解;使用生死单元等方法,其求解结果相同。
通过计算证明了荷载顺序不影响最终结果,从这里也证明了保守系统的计算结果与荷载路径无关。
关于②:
虽然从file.snn比较看,除了非线性分析的设置外,几乎与线性分析的荷载步文件没有什么差别,
但如果顺序求解,则后续荷载步中用于每个子步计算的荷载=前步荷载不变+本步新施加的荷载按子步内插值。
而不是在本步有效的所有荷载点点施加。
举例1:
重力和预应力分为两个荷载步,在求预应力作用时,重力不变,而将预应力按子步要求施加;所以这样计算即为考虑了重力的先作用,而预应力则在重力作用的基础上计算的。
即第二荷载步中的每个子步所对应的荷载=重力+预应力总荷载/nsubst,而不是=(重力+预应力总荷载)/nsubst.
举例2:
设一悬臂梁,先在1/2处作用2000为第一荷载步,且设nsubst=10,time=1;然后悬臂端再作用3000,且nsubst=20,time=2,为第二荷载步。
顺序求解,则3000即在2000先作用的基础上计算的,即当time=1.6时,这时子步的荷载=2000+3000/20*(1.6-1.0)*20=3800,而不是(2000+3000)*0.6=3000。
以上讨论不考虑删除荷载的情况。
二、关于弧长法
对于许多物理意义上不稳定的结构可以应用弧长方法(ARCLEN),(ARCTRM)来获得数值上稳定的解,应用弧长方法时,请记住下列考虑事项:
Ø弧长方法仅限于具有渐进加载方式的静态分析。
Ø程序由第一个子步的第一次迭代的载荷(或位移)增量计算出参考弧长半径,公式为:
参考弧长半径=总体载荷(或位移)/NSBSTP。
NSBSTP是NSUBST命令中指定的子步数
Ø选择子步数时,考虑到较多的子步导致求解时间过长,因此理想情况是选择一个最佳有效解所需的最小子步数。
有时需要对子步数进行评诂,按照需要调整再重新求解。
Ø弧长方法激活时,不要使用线搜索(LNSRCH)、预测(PRED)、自适应下降(NROPT,,,ON)、自动时间分步(AUTOTS,TIME,DELTIM)或时间积分效应(TIMINT)。
Ø不要使用位移收敛准则(CNVTOL,U)。
使用力的收敛准则(CNVTOL,F)。
Ø要用弧长方法帮助缩短求解时间时,单一子步内最大平衡迭代数应当小于或等于15。
Ø如果一个弧长求解在规定的最大迭代次数内没能收敛,程序将自动进行二分且继续分析或者采用最小弧长半径(最小半径由NSUBSTNSUBST)和MINARC(ARCLEN)定义)
Ø一般地,不能应用这种方法在确定载荷或位移处获得解,因为这个载荷或者位移值随获得的平衡态改变(沿球面弧)。
注意图1-4中给定的载荷仅用作一个起始点。
收敛处的实际载荷有点小。
类似地,当在一个非线性屈曲分析中应用弧长方法在某些已知的范围内确定一个极限载荷或位移的值可能是困难的。
通常不得不通过尝试-错误-再尝试调整参考弧长半径(使用NSUBST)来在极限点处获得一个解。
此时,应用带二分法(AUTOTS)的标准NEWTON-RAPHSON迭代来确定非线性载荷屈曲临界负载的值可能会更方便。
Ø通常应当避免和弧长方法一起使用JCG或者PCG求解器(EQSLV),因为弧长方法可能会产生一个负定刚度矩阵(负的主对角线),导致求解失败。
Ø在任何载荷步的开始,可以从Newton-Raphson迭代方法到弧长方法自由转换。
然而,要从弧长到Newton-Raphson迭代转换,必须终止分析然后重起动,且在重起动的第一个载荷步中去关闭弧长方法(ARCLEN,OFF)。
注意:
弧长求解发生中止的条件:
(1)当由ARCTRM或NCNV命令定义的极限达到时。
(2)当在所施加的载荷范围内求解收敛时。
(3)当使用一个放弃文件时(Jobname.ABT)。
Ø通常,一个不成功的弧长分析可以归因于弧长半径或者太大或者太小沿载荷一偏移曲线原路返回的“回漂”是一种由于使用太大或太小弧长半径导致的典型难点。
研究载荷偏移曲线来理解这个问题。
然后使用NSUBST和ARCLEN命令来调整弧长半径的大小和范围为合适的值。
Ø总体弧长载荷因子(SOLU命令中的ALLF项)或者会是正的或者会是负的。
类似地,TIME,其在弧长分析中与总体弧长载荷因数相关,不是正的就是负的。
ALLF或TIME的负值表示弧长特性正在以反方向加载,以便保持结构中的稳定性。
负的ALLF或者TIME值一般会在各种突然转换分析中遇到。
Ø读入基本数据用于POSTI后处理时(SET),应该以载荷步和子步号(LSTEP和SBSTEP)或者进它的数据设置号为依据。
不要引用TIME值的结果,因为TIME值在一个弧长分析中并不总是单调增加的。
单一的一个TIME值可能涉及多于一个的解。
此外,程序不能正确地解释负的TIME值(可能在一个突然转换分析中遇到)。
Ø如果TIME为负的,记住在产生任何POST26图形前定义一个合适的变化范围((IXRANGE)或者(IYRANGE))。
三、关于预应力混凝土分析
众所周知,在ANSYS中,预应力混凝土分析(有粘结)可采用等效荷载法和实体力筋法。
所谓等效荷载法,就是将力筋的作用以荷载的形式作用于混凝土结构;所谓实体力筋法就是用solid模拟混凝土,而link模拟力筋。
1等效荷载法的优缺点
优点是建模简单,不必考虑力筋的具体位置而可直接建模,网格划分简单;对结构的在预应力作用下的整体效应比较容易求得。
其主要缺点是:
①等效荷载法没有考虑力筋对混凝土的作用分布和方向,力筋对混凝土作用显然在各处是不同的,等效荷载法则无法考虑;水平均布分量没有考虑。
②对某些线形的力筋模拟困难,例如通常采用的是直线(较短)+曲线+直线(很长)+曲线+直线(较短),这种形式的布筋等效起来麻烦,且可能不合理。
③难以求得结构细部受力反映,否则荷载必须施加在力筋的位置上,这又失去建模的方便性。
④在外荷载作用下的共同作用难以考虑,不能确定力筋在外荷载作用下的应力增量。
⑤对张拉过程无法模拟。
⑥无法模拟应力损失引起的力筋各处应力不等的因素。
其最大的一个缺点是:
较粗!
得到的结果与实际情况误差较大!
最近做了点实际计算,经过比较发现,结果与实际的误差相差较多(可能是特例),所以采用该方法需要谨慎和校验一下。
2实体力筋法的优缺点
将混凝土和力筋划分为不同的单元,预应力的模拟可以采用降温方法和初应变方法。
降温方法比较简单,同时可以模拟力筋的损失,单元和实常数几种即可;初应变通常不能考虑预应力损失,否则每个单元的实常数各不相等,工作量较大。
可消灭等效荷载法的缺点。
但建模工作量似乎要大些。
有两种处理方法,一是体分割法,二是采用独立建模耦合法。
1体分割法
用工作平面和力筋线拖拉形成的一个面,将将体积分割(divide),分割后体上的一条线定义为力筋线。
这样不断分割下去,最终形成许多复杂的体和多条力筋线,然后分别进行单元划分,施加预应力、荷载、边界条件后求解。
这种方法是基于几何模型的处理,即几何模型为一体,力筋位置准确,求解结果精确,但当力筋线形复杂时,建模特别麻烦。
2独立建模耦合法
该法的基本思想是实体和力筋独立建几何模型,分别划分单元,然后采用耦合方程将力筋单元和实体单元联系起来,这种方法是基于有限元模型的处理。
其基本步骤如下:
①建立实体几何模型(不考虑力筋);
②建立力筋线的几何模型(不考虑体的存在);
③将几何模型按一定的要求划分单元(这时也是各自独立的);
④选择所有力筋线;
⑤选择与上述力筋相关的节点(nsll命令),并定义选择集;
⑥将上述力筋节点存入数组;
⑦选择所有节点,并去掉⑤中的节点集(这时是除力筋节点外的所有节点);
⑧按力筋节点数组搜寻所有最近的实体节点号,并存入数组中;
⑨耦合力筋节点与最近的节点,一一耦合(cp命令)(不能使用cpintf命令,这样可能耦合其它节点,且容易不耦合)
⑩选择所有,并施加边界条件和荷载,可以求解了。
这种方法建模特别简单,耦合处理也比较简单(APDL要熟悉些),缺点是当实体单元划分不够密时,力筋节点位置可能有些走动,但误差在可接受范围之内!
这种方法是解决力筋线形复杂且力筋数量很多时的较佳方法。
四、关于混凝土的计算问题
一、关于模型
钢筋混凝土有限元模型根据钢筋的处理方式主要分为三种,即分离式、分布式和组合式模型。
考虑钢筋和混凝土之间的粘结和滑移,则采用引入粘结单元的分离式模型;假定混凝土和钢筋粘结很好,不考虑二者之间的滑移,则三种模型都可以;分离式和分布式模型适用于二维和三维结构分析,后者对杆系结构分析比较适用。
裂缝的处理方式有离散裂缝模型、分布裂缝模型和断裂力学模型,后者目前尚处研究之中,主要应用的是前两种。
离散裂缝模型和分布裂缝模型各有特点,可根据不同的分析目的选择使用。
随着计算速度和网格自动划分的快速实现,离散裂缝模型又有被推广使用的趋势。
就ANSYS而言,她可以考虑分离式模型(solid65+link8,认为混凝土和钢筋粘结很好,如要考虑粘结和滑移,则可引入弹簧单元进行模拟,比较困难!
),也可采用分布式模型(带筋的solid65)。
而其裂缝的处理方式则为分布裂缝模型。
二、关于本构关系
混凝土的本构关系可以分为线弹性、非线性弹性、弹塑性及其它力学理论等四类,其中研究最多的是非线性弹性和弹塑性本构关系,其中不乏实用者。
混凝土破坏准则从单参数到五参数模型达数十个模型,或借用古典强度理论或基于试验结果等,各个破坏准则的表达方式和繁简程度各异,适用范围和计算精度差别也比较大,给使用带来了一定的困难。
就ANSYS而言,其问题比较复杂些。
1ANSYS混凝土的破坏准则与屈服准则是如何定义的?
采用tb,concr,matnum则定义了W-W破坏准则(failurecriterion),而非屈服准则(yieldcriterion)。
W-W破坏准则是用于检查混凝土开裂和压碎用的,而混凝土的塑性可以另外考虑(当然是在开裂和压碎之前)。
理论上破坏准则(failurecriterion)和屈服准则(yieldcriterion)是不同的,例如在高静水压力下会发生相当的塑性变形,表现为屈服,但没有破坏。
而工程上又常将二者等同,其原因是工程结构不容许有很大的塑性变形,且混凝土等材料的屈服点不够明确,但破坏点非常明确。
定义tb,concrmatnum后仅仅是定义了混凝土的破坏准则和缺省的本构关系,即W—W破坏准则、混凝土开裂和压碎前均为线性的应力应变关系,而开裂和压碎后采用其给出的本构关系。
但屈服准则尚可另外定义(随材料的应力应变关系,如tb,MKIN,则定义的屈服准则是VonMises,流动法则、硬化法则也就确定了)。
2定义tb,concr后可否定义其它的应力应变关系
当然是可以的,并且只有在定义tb,concr后,有些问题才好解决。
例如可以定义tb,miso,输入混凝土的应力应变关系曲线(多折线实现),这样也就将屈服准则、流动法则、硬化法则等确定了。
这里可能存在一点疑问,即ANSYS中的应力应变关系是拉压相等的,而混凝土材料显然不是这样的。
是的,因为混凝土受拉段非常短,认为拉压相同影响很小,且由于定义的tb,concr中确定了开裂强度,所以尽管定义的是一条大曲线,但应用于受拉部分的很小。
三、具体的系数及公式
1定义tb,concr时候的两个系数如何确定?
一般的参考书中,其值建议先取为0.3~0.5(江见鲸),原话是“在没有更仔细的数据时,不妨先取0.3~0.5进行计算”,足见此0.3~0.5值的可用程度。
根据我的经验和理由,建议此值取大些,即开裂的剪力传递系数取0.5,(定要>0.2)闭合的剪力传递系数取1.0。
支持此说法的还有现行铁路桥规的抗剪计算理论,以及原公路桥规的容许应力法的抗计剪计算。
2定义混凝土的应力应变曲线
单向应力应变曲线很多,常用的可参考国标混凝土结构规范,其中给出的应力应变曲线是二次曲线+直线的下降段,其参数的设置按规范确定即可。
当然如有实测的应力应变曲线更好了。
四、关于收敛的问题
ANSYS混凝土计算收敛(数值)是比较困难的,主要影响因素是网格密度、子步数、收敛准则等,这里讨论如下。
1网格密度:
网格密度适当能够收敛。
不是网格越密越好,当然太稀也不行,这仅仅是就收敛而言的,不考虑计算费用问题。
但是究竟多少合适,没有找到规律,只能靠自己针对情况慢慢试算。
2子步数:
NSUBST的设置很重要,设置太大或太小都不能达到正常收敛。
这点可以从收敛过程图看出,如果F范数曲线在[F]曲线上面走形的很长,可考虑增大nsubst。
或者根据经验慢慢调正试算。
3收敛精度:
实际上收敛精度的调正并不能彻底解决收敛的问题,但可以放宽收敛条件以加速吧。
一般不超过5%(缺省是0.5%),且使用力收敛条件即可。
4混凝土压碎的设置:
不考虑压碎时,计算相对容易收敛;而考虑压碎则比较难收敛,即便是没有达到压碎应力时。
如果是正常使用情况下的计算,建议关掉压碎选项;如果是极限计算,建议使用concr+MISO且关闭压碎检查;如果必设压碎检查,则要通过大量的试算(设置不同的网格密度、NSUBST)以达到目的,但也很困难。
5其他选项:
如线性搜索、预测等项也可以打开,以加速收敛,但不能根本解决问题。
6计算结果:
仅设置concr,不管是否设置压碎,其一般P-F曲线接近二折线;采用concr+miso则P-F曲线与二折线有差别,其曲线形状明显是曲线的。
以上浅见,望大家继续讨论。
五、关于梁壳体连接问题
梁壳体连接情况的讨论
1按“杆梁壳体”的顺序,只要后一种单元的自由度完全包容了前一种单元的自由度,则有公用结点即可,不需要约束方程。
例如:
杆与梁、壳、体有公用结点即可,不需要写约束方程;
梁与壳有公用结点即可,不需要写约束方程;
梁与体则要同位置的不同结点,需要耦合自由度和约束方程;
壳与体则要同位置的不同结点,需要耦合自由度和约束方程;
2壳梁自由度数目相同,自由度也相同,尽管壳的rotz是虚的自由度,也不妨碍二者之间的关系,这有点类同于梁与杆的关系。
3尽管可以采用耦合自由度和约束方程,但建议尽量不同时采用多种单元于一个结构中,除非你对结果的正确性有十足的把握。
4当然,采用约束方程可能存在应力集中点,不必在意此点的应力。
5我自认为是正确的,希望各位大侠批评指正。
六、关于荷载工况组合
对单层或二层框架进行弹性分析,需要考虑四种荷载
恒荷载,活荷载,风荷载和吊车荷载
1,几何模型(beam3和beam54)建立后,定义所需的elementtable,主要包括杆端力和最大应力,最小应力等。
然后保存数据库。
分别施加四种荷载的标准值(不乘分项系数),并分别存成四个loadstepfile。
2,使用solution->fromlsfiles,求解四种荷载
3,荷载组合,命令流如下:
/post1
lcdef,1,1
lcdef,2,2
lcdef,3,3
lcdef,4,4!
定义四种工况,分别为四种荷载下的计算结果
lcfact,1,1.2
lcfact,2,1.4
lcfact,3,1.19
lcfact,4,1.4!
指定各工况的组合系数
lcase,1!
读入工况1,database=1
sumtype,prin!
指定加操作的对象
lcoper,add,2!
荷载组合,database=database+2
lcoper,add,4!
荷载组合,database=database+4
lcoper,lprin!
计算线性主应力
lcwrite,11!
把database结果写到工况11,即恒荷载+活荷载+吊车荷载的结果
lcase,1
lcfact,2,1.19
lcfact,4,1.19!
改变组合系数
sumtype,prin
lcoper,add,2
lcoper,add,3
lcoper,add,4
lcoper,lprin
lcwrite,12!
把database结果写到工况12,即恒荷载+活荷载+吊车荷载+风荷载的结果
!
......其他荷载组合
!
之后使用lcase,n就可调入工况n,并查看它的变形和内力
!
可使用如下命令流得到工况11和12,13的较大者99,进而查看最大应力
lcase,11
lcase,min,12
lcase,min,13
lcwrite,98
lcase98
!
查看工况98的应力分布......
lcase,11
lcase,max,12
lcase,max,13
lcwrite,99
lcase99
!
查看工况99的应力分布......
七、关于几何非线性
笔者在答“请教“stressstiffness”是什么意思?
”时,笔者认为是在求应变时考虑了位移中的二阶项。
从某种意义上说,就是考虑了大应变(有限应变)。
可是,在ANSYS的理论说明书中对几何非线性分成了下列4类(准确地说,是“ANSYS可计算下列4类几何非线性问题”):
1。
Largestrainassumesthatthestrainsarenolongerinfinitesmal(theyarefinite).Shapechanges(e.g.area,thickness,etc.)arealsoaccountedfor.Deflectionsandrotationsmaybearbitrarilylarge.
2。
Largerotationassumesthattherotationsarelargebutthemechanicalstrains(thosethatcausestresses)areevaluatedusinglinearizedexpressions.Thestructureisassumednottochangeshapeexceptforrigidbodymotions.Theelementsofthisclassrefertotheoriginalconfiguration.
3。
Stressstiffeningassumesthatbothstrainsandrotationsaresmall.A1storderapproximationtotherotationsisusedtocapturesomenonlinearrotationeffects.
4。
Spinsofteningalsoassumesthatbothstrainsandrotationsaresmall.Thisoptionaccountsfortheradialmotionofabody'sstructuralmassasitissubjectedtoanangularvelocity.Henceitisatypeoflargedeflectionbutsmallrotationapproximation.
这时冒出了个疑问,上述4类几何非线性究竟对应什么物理意义呢?
下面作个浅析,旨在抛砖引玉,望各位参与讨论,指正和补充,在讨论中共同学习非线性有限元。
1。
LARGESTRAIN:
从ANSYS理论说明书的推导来看,似乎引入了对数应变(也叫真应变),就算考虑了大应变了。
为了便于理解,我把工程应变和对数应变的定义说明一下:
设有一长L0,面积为A的圆钢被拉伸到L1,又从L1到L2,这时的工程应变和对数应变是:
工程应变的定义:
对L0->L1段eps0=(L1-L0)/L0
对L1->L2段eps1=(L2-L1)/L1
对L0->L2段eps==(L2-L0)/L0
本来,eps=eps0+eps1,但各位可把上述定义代入确认一下该等式是否成立,答案是不成立。
对数应变