有限元计算注意事项

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、计算原理

任何有限元模拟的第一步都是利用一个有限单元的集合离散结

构的实际几何形状,每个单元(element)代表这个实际结构的一个离散部分.这些单元通过公用的节点(node)来连接.节点和单元的集合成为网格(mesh).在一个特定网格中的单元数目称为网格密度(mesh density).在ansys计算过程中,程序以每个节点的每个自由度建立平衡方程,以节点的位移作为未知量,利用矩阵求解节点的位移.一旦节点位移求出,整个结构的应力和应变都很容易计算出来.这种计算

的过程和方法,数学上称之为隐式方法.从上叙述来看,整个计算过程中就是求解n个n元一次方程组(n表示节点数量),当计算模型复杂而且庞大时,隐式求解方法的计算量还是相当大的.

与之相对应的,显式求解方法.显式求解方法是通过动态方法从

一个增量步前推到下一个增量步得到的.具体显式求解方法和隐式求解方法例子如下:

(1)隐式求解

(2)显式求解

隐式求解中,计算的精度完全控制于计算步数,在一般的计算软件中(flac、abaqus),软件均是利用不平衡力来控制计算步数(当不平衡力<10-5时,停止计算).不平衡力=A+B.A表示施加在节点上的集中力;B表示:在n步数下,根据第n步计算出来的应力,求出节点的内力.

Flac软件中 B,以上公式是根据虚功原

理推倒而得到.具体推倒过程见《flac 原理》.

2、Ansys计算注意事项:

计算单位、参数、荷载、标准值、设计值,计算过程中系数的加入. (1)b eam单元

对于beam单元.Ansys软件中我们常用的有两种梁单元:beam188和beam4.这两种单元均是三维的梁单元,每个节点都具有6个自由度(ux、uy、uz、mx、my、mz),并且单元坐标系x轴是i点指向j 点.Beam188单元是基于铁木辛哥理论的梁,beam4单元是我们常用的经典结构力学梁.(铁木辛哥理论考虑了梁的剪切变形,而我们常用的经典结构力学梁只考虑了弯矩对结构的变形影响)所以说,beam188可以更精确的计算梁单元,因此我们结构计算中,一般都采用beam188单元.当然还有beam189单元,189单元属于三维二次的梁单元(beam188属于三维一次梁单元),精度比beam188更加高.定义beam188单元,一般采用如下形式:

!定义单元

/prep7 !进入前处理

et,1,beam188 !定义单元188号标号为1

!定义材料属性

mp,ex,1,2.55e7 !定义弹性模量(kn/m2)

mp,nuxy,1,0.167 !定义泊松比

mp,dens,1,2.5 !定义密度(KN/N*KG/M3)

nummrg,all !合并重合节点

numcmp,all !压缩编号

!定义梁截面

SECTYPE,1,BEAM,RECT,A1,0 ! 1表示梁编号 ; RECT表示是矩形梁(还有其他t型等

等,具体见ansys帮助); A1 表示梁的名称 ; 0表示

薄壁梁单元网格划分精细程度(0~5). SECDATA,1,3,4,12 !1表示梁b ; 3表示梁h ; 4和12定义对应宽长等分

份数.

SECOFFSET,CENT !cent质心 ; shrc剪切中心 ; origin原始中心 ; user

用户定义;

!注意:当梁单元和壳单元一起使用时,可以设置梁单元的偏心,使梁的一面和壳的一面共面.(secoffset,user,offset-y,offset-z),如下图:

!划分网格

LSEL,S,,,1 !选中编号为1的线.

LATT,1,1,1,,,,1 !mp,r,et,,方向点,,SECTYPE截面号.

LESIZE,ALL,0.2,,,,,,,1 !0.2是单元大小,1是确认细分规则.

LMESH,ALL !用beam单元离散模型,形成网格.

!对于划分网格,空间的beam单元,由于需要确定b、h的方向,ansys软件利用方向点来控制b、h的方向.方向点的编号最好定义的很大,如果定义太小,会影响后面的加载.

具体方向点如何控制见上面的latt命令和ansys帮助.自己试两下就知道怎么用了. Alls

FINISH

!加载加约束

/SOLU

ACEL,,,9.8 !重力加速度.注意方向,数值和整体坐标相反,比如重力指向z轴

负向,则为正值.

SFCUM,ALL,ADD !设置单元荷载是叠加还是替代,只对加在单元和节点上的荷载有

效,对于加在面、线上的荷载,都只有替代作用(对同一个面,第

二次加的荷载替代第一次加的荷载)

!对于beam单元,只能根据sfbeam命令增加均布荷载

①等大小的均布荷载.

Lsel,s,,,1

ESLL,S,1

sfbeam,ALL,1,PRES,-161.5 !1表示作用在beam单元的①面上(如下图,③面表示beam

单元的轴向,②面表示单元侧面,①面表示beam单元顶

面),-161.5表示均布荷载大小,正负号可以控制作用力的

方向.

②梯形均布荷载

Sfbeam命令是对每个单元进行加载.如果一根梁承受10~100的梯形均布荷载,而且这根梁被分成了10个beam单元,这样施加荷载就非常困难.因此我将这种加载过程写成命令流,让软件自动进行加载.命令流如下:

LSEL,S,,,1 !选中要加载的那根梁(线)

ESLL,S,1 !选中属于这根梁(线)的beam单元

*GET,Nelem,ELEM,,COUNT, , , , !获得当前所选单元个数,赋予参数Nelem

*GET,Ne,ELEM,,NUM,MIN, , , , !获得当前所选单元最小编号,赋予参数Ne

*DO,I,1,Nelem !循环加载,循环次数=单元个数

ESEL,S,,,Ne

NSLE,S,1

*GET,Nnode,NODE,,COUNT, , , , !获得当前所选节点个数,赋予参数Nnode

*GET,Nn,NODE,,NUM,MIN, , , , !获得当前所选节点最小编号,赋予参数Nn

NN1X=NX(NN) !将nn节点的x坐标赋予NN1X(NX表示x坐标,NY表示y坐标) NN=NDNEXT(NN) !NN=当前所选节点的下一个编号

NN2X=NX(NN) !将nn节点的x坐标赋予NN2X

sfbeam,ALL,1,PRES,-1630.76/3.23*(3.23-NN1X),-1630.76/3.23*(3.23-NN2X)

!以上荷载公式应根据实际情况进行调整

LSEL,S,,,1

ESLL,S,1

NE=ELnext(NE) !NE=当前所选单元的下一个编号

*ENDDO

!对于此命令流,根据不同的实际情况,ABC部分需要修改,其他不需要修改.

相关文档
最新文档