它与最大应力s1有什么区别,平常讨论应力分布,应该用等效应力还是最大应力s1呢?1)计算等效应力时是否需要输入等效泊松比呢?好像有效泊松比的默认值是0.5。(2)在实际的应用中,例如在讨论平板上的圆孔应力集中的应力分布问题时,应该用等效应力来描述应力集中的现象,还是采用主应力s1来反应集中的程度呢?还是采用一个单方向的sx来说明问题呢?
答:1)这个等效应力应该就是弹塑性力学里的VonMises应力,他主要考察的是材料在各个方向上的应力差值,因为在实验室里获得材料强度都是单向载荷作用下的强度(当然现在也有三轴应力实验仪),所以有时候材料所受的单向载荷可能很大,但并没有造成破坏,这是就是看他的等效应力,具体表示就是 σ等效=sqrt{0.5[(σ1-σ2)^2+(σ2-σ3)^2+(σ3-σ1)^2]}
2)等效应力是三项主应力的组合
如s,int即为max(si-sj),si,sj为三项主向应力。i,j=1,2,3 i≠j即tresca型
s,eqv为sqrt(0.5*∑(si-sj)**2),i,j=1,2,3 i≠j 即mises型
3)对于第一个问题:
没有听说过等效泊松比这个概念,在网上查了一下也没有明确的答案,还请指教,不过泊松比默认0.5的意思是弹性区满足体积不可压缩
对于第二的问题:
我认为应该采用等小应力来描述应力集中的现象,因为在实际中很难找到真正的单轴拉压的情况,一般结构的受力都没有这么简单,所以在分析的时候需要用等效应力来将各主应力进行转化,因此应该用等效应力来描述应力集中的现象。
4)等效泊松比就是泊松比,一般在前处理中都会输入的!
等效应力计算时不会用到泊松比,不过在计算mises等效应变时会用到。
对于elastic & thermal strains 泊松比取为材料的泊松比;
对于plastic creep hyperelastic strains 泊松比取为0.5
答:应力,拉为正,压为负
外载荷(压力/拉力),压为正,拉为负。外荷载的话应该参考坐标系的方向决定
这是本人在振动论坛上摘抄的一段 我觉得对解决非线性分析收敛很有帮助!希望能给大家些启发!(这个帖子我觉得应该放到这里,对初学者很有帮助)
影响非线性收敛稳定性及其速度的因素很多:
1、模型——主要是结构刚度的大小。对于某些结构,从概念的角度看,可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。 如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元(BEAM->SHELL,SHELL->SOLID)。构件的连接形式(刚接或铰接)等也可能影响到结构的刚度。
2、线性算法(求解器)。ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIRECT SOLVER)、预共轭梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。稀疏矩阵法是性能很强大的算法,一般默认即为稀疏矩阵法(除了子结构计算默认波前法外)。预共轭梯度法对于3-D实体结构而言是最优的算法,但当结构刚度呈现病态时,迭代不易收敛。为此推荐以下算法:
1)、BEAM单元结构,SHELL单元结构,或以此为主的含3-D SOLID的结构,用稀疏矩阵法;
2)、3-D SOLID的结构,用预共轭梯度法;
3)、当你的结构可能出现病态时,用稀疏矩阵法;
4)、当你不知道用什么时,可用稀疏矩阵法。
3、非线性逼近技术。在ANSYS里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。
为此,尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。
4、加快计算速度
在大规模结构计算中,计算速度是一个非常重要的问题。下面就如何提高计算速度作一些建议:
充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。
在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。
选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从1E-8改为1E-4或1E-5即可。
5、荷载步的设置直接影响到收敛。应该注意以下几点:
1、设置足够大的荷载步(将MAXMIUM SUBSTEP=1000000),可以更容易收敛,避免发散的出现(nsub,nsbstp,nsbmx,nsbmn);
2、设置足够大的平衡迭代步数,默认为25,可以放大到很大(100)(eqit,eqit);
3、将收敛准则调整,以位移控制时调整为0.05,以力控制为0.01(CNVTOL,lab,value,toler,norm,minref)。
4、对于线性单元和无中间节点的单元(SOLID65和SOLID45),关闭EXTRA DISPLACEMENTS OPTIONS(在OPTIONS中)。
5、对于CONCRETE材料,可以关闭压碎功能,将CONCRETE中的单轴抗压强度设置为-1(tadata,mat,shrcf-op,shrcf-cl,UntensSt,UnCompSt(-1))。
答:F力,M力矩
crit、L2分别是按照两种收敛准则计算出来的误差量。
F L2就表示按照L2收敛准则计算出来的力的误差量(迭代计算中的概念)
如果计算出来的误差量落在收敛准则之下,则表示该子步计算收敛。
accat和lccat命令好像只能做两个面及两条线的合并,做3个及以上的合并可以通过GUI操作鼠标拾取实现,但有没有命令流方式啊?
答:通过选取,然后对所有对象操作
lsel,......(asel,)
lccat,all (accat,all)
一般来说,在网格划分前用glue,网格划分后用merge.
答:*get
答:你看看这个,别人的
1、整体刚度和质量矩阵的提取。 该功能需要进行二次开发,由ansys形成的二进制文件.full提取整体刚度和质量 矩阵。
基于ansys的一个用户开发程序例子编 了一个程序(附件中)。
开发环境:compaq fortran 6.5
运行环境:win2000。
一个主文件:self.for,
另一个文件matrixout.f90用于矩阵输出 binlib.lib为ansys提供的库文件,将其 引入项目中(也可直接扔进debug目录) .full文件由子空间迭代模态分析获得。 运行编译后的可执行文件.exe
2、单元刚度和质量矩阵的提取。
/DEBUG命令。详细说明可由以下转载文章
finish
/clear
PI=3.1415926
w1=3
w2=10
w3=6
w4=1.2
r=.8
t=0.08
/PREP7
!*
ET,1,SHELL63
R,1,t
ET,2,MASS21
R,2,500,500,500,2000,2000,2000,
!*
UIMP,1,EX, , ,2e11
UIMP,1,NUXY, , ,0.3,
UIMP,1,DAMP, , ,0.2,
UIMP,1,DENS, , ,7800,
BLC4,0,0,w2,w1
ESIZE,1.5,0,
AMESH,all
NSEL,S,LOC,X,0.0
D,all, , , , , ,ALL, , , , ,
allsel,all
SFA,all,1,PRES,12
FINISH
/OUTPUT,cp,out,, ! 将输出信息送到cp.out文件
/debug,-1,,,1 ! 指定输出单元矩阵
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 将输出信息送到output windows中
! 这时用编辑器打开cp.out文件,可以看到按单元写出的质量、刚度等矩阵
裂缝的处理方式有离散裂缝模型、分布裂缝模型和断裂力学模型。 在ANSYS中如何选择模型?
答:ansys中定义混凝土的裂缝为分布型的
答:TB 可用来定义材料的非线性,比如说
TB,BISO,1
TBDATA,,235e6,0.02*235e6
前面一句就是说材料为双线性随动强化,后面的是弹性模量为235e6,按双线性其后来的切线模量为0.02*235e6
mp只能定义时弹性,不能定义弹塑性
定义材料数据时,MP 命令是必须用的,用来定义材料性能的线性部分;TB 命令则需要根据不同情况决定是否使用和如何使用。
答:定义好恰当的材料模型,就可以输入了。比如用理想线弹性的材料,就不可能输入屈服极限吧。
下面的命令流适用于六面体八节点单元的情况,其他类型单元只需稍作修改即可!命令流读取的是节点的温度。
/post1
file,Jobname,rst !指明从哪一个结果文件中读取数据
*get,NodeNum,NODE,0,COUNT !得到模型的所有节点数
*get,nd,NODE,0,NUM,MIN !得到模型的最小节点编号
*dim,nodes,array,NodeNum !定义一个存储节点的数组
*dim,xyz,array,NodeNum,3 !定义一个存储节点坐标的数组
*dim,NodeTemp,array,NodeNum !定义一个存储节点的数组
set,4,1 !读入第四载荷步、第一个子步的结果
*do,i,1,NodeNum,1
nodes(i)=nd !将节点编号存储在nodes数组中
xyz(i,1)=NX(nd) !在xyz(i,1)中存储节点的X坐标
xyz(i,2)=NY(nd) !在xyz(i,1)中存储节点的Y坐标
xyz(i,3)=NZ(nd) !在xyz(i,1)中存储节点的Z坐标
*Get,NodeTemp(i),NODE,nodes(i),TEMP
nd=NDNEXT(nd) !取得下一个节点编号
*enddo
*get,ElementNum,ELEM,0,COUNT !得到模型的所有单元数
*get,el,ELEM,0,NUM,MIN !得到模型的最小单元编号
*dim,elems,array,ElementNum !定义一个存储单元的数组
*dim,ndlst,array,ElementNum,8 !定义一个存储节点坐标的数组
*do,i,1,ElementNum,1
elems(i)=el !将单元编号存储在elems数组中
*do,j,1,8,1
ndlst(i,j)=NELEM(el,j) !将单元对应的节点编号存储在ndlst数组中
*enddo
el=ELNEXT(el) !取得下一个单元编号
*enddo
*cfopen,mesh,dat !输出的文件名为:mesh.dat
!写TecPlot文件的文件头
*vwrite
('TITLE=Ansys Temperature Analysis')
!写变量名
*vwrite
('VARIABLES="X","Y","Z","Temp"')
!写节点数和单元数
*vwrite,NodeNum,ElementNum
('ZONE n='f6.1,' e='f6.1,' f=fepoint',' et=brick')
!写节点的坐标和温度值
*vwrite,xyz(1,1),xyz(1,2),xyz(1,3),NodeTemp(1)
(4f12.6)
!写一个空行
*vwrite
(' ')
!写各单元对应的节点号
*vwrite,ndlst(1,1),ndlst(1,2),ndlst(1,3),ndlst(1,4),ndlst(1,5),ndlst(1,6),ndlst(1,7),ndlst(1,8)
(8f6.0)
!关闭文件
*CFCLOSE
finish
将上述命令流拷贝到记事本中,然后以文件名“Ansys2Tecplot.inp”另存到Ansys的工作路径下。在Ansys中输入如下命令即可:/input,Ansys2Tecplot,inp
作者该类其他博文:
联系客服