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。