1)ANSYS中等效应力最大应力s1有什么区别,平常讨论应力分布,应该用等效应力还是最大应力s1呢?
2)计算等效应力时是否需要输入等效泊松比呢?
3)在实际的应用中,例如在讨论平板上的圆孔应力集中的应力分布问题时,应该用等效应力来描述应力集中的现象,还是采用主应力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)个人认为应该采用等小应力来描述应力集中的现象,因为在实际中很难找到真正的单轴拉压的情况,一般结构的受力都没有这么简单,所以在分析的时候需要用等效应力来将各 主应力进行转化,因此应该用等效应力来描述应力集中的现象。
4)等效泊松比就是泊松比,等效应力计算时不会用到泊松比,不过在计算mises等效应变时会用到。对于泊松比的取值原则应遵循以下两条:
a:对于elastic & thermal strains 泊松比取为材料的泊松比; b:对于plastic creep hyperelastic strains 泊松比取为0.5。2.ANSYS后处理中负值的应力是压应力还是拉应力?
答:在力学范畴内对描述应力的准则是拉为正,压为负。外载荷(压力/拉力),压为正,拉为负。
3. 解决非线性分析不收敛的技巧
在进行非线性问题的分析时,影响非线性收敛稳定性及其速度的因素很多,在实际应用时,主要应注意几个以下方面:
1)模型——主要是结构刚度的大小。对于某些结构,从概念的角度看,可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。
如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元(BEAM->SHELL,SHELL-
>SOLID)。构件的连接形式(刚接或铰接)等也可能影响到结构的刚度。
2)线性算法(求解器选择)。ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIRECT SOLVER)、预共轭梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。稀疏矩阵法是性能很强大的算法,一般默认即为稀疏矩阵法(除了子结构计算默认波前法外)。预共轭梯度法对于3-D实体结构而言是最优的算法,但当结构刚度呈现病态时,迭代不易收敛。为此推荐以下算法选择准则:
a:BEAM单元结构,SHELL单元结构,或以此为主的含3-D SOLID的结构,用稀疏矩阵法;
b:3-D SOLID的结构,用预共轭梯度法;
c:当你的结构可能出现病态时,用稀疏矩阵法;
d:当你不知道该用什么算法时,可用稀疏矩阵法。
3)非线性逼近技术。在ANSYS里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。
为此,尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。
4)加快计算速度
在大规模结构计算中,计算速度是一个非常重要的问题。下面就如何提高计算速度作一些建议:
a:充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。
b:在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。
c:选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从默认设置1E-8改为1E-4或1E-5即可。
5)荷载步的设置直接影响到收敛。应该注意以下几点: a:设置足够大的荷载步(将MAXMIUM SUBSTEP=1000000),可以更容易收敛,避免发散的出现(nsub,nsbstp,nsbmx,nsbmn);
b:设置足够大的平衡迭代步数,默认为25,可以放大到很大(100) (eqit,eqit);
c:将收敛准则调整,以位移控制时调整为0.05,以力控制为0.01(CNVTOL,lab,value,toler,norm,minref)。
d:对于线性单元和无中间节点的单元(SOLID65和SOLID45),关闭EXTRA DISPLACEMENTS OPTIONS(在OPTIONS中)。
e:对于CONCRETE材料,可以关闭压碎功能,将CONCRETE中的单轴抗压强度设置为-1(tadata,mat,shrcf-op,shrcf-
cl,UntensSt,UnCompSt(-1))。
4. 非线性计算完的收敛图线,如何看他的收敛性呢,每条颜色的线代表什么意思呢?
答:F:力;
M:力矩;
crit/L2: 按照两种收敛准则计算出来的误差量。
如果计算出来的误差量落在收敛准则之下,则表示该子步计算收敛。
5.如何读出ANSYS的刚度矩阵?
答:整体刚度和质量矩阵的提取需要进行二次开发,由ansys形成的二进制文件.full提取整体刚度和质量矩阵。程序的具体实现方式可参照如下程序代码:
*************************单元刚度和质量矩阵的提取
*************************
/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,tET,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中
.TB命令怎么用?TB命令是用在非线性材料里吗?那么mp和TB有什么区别啊?什么情况下可以用TB命令?
答:TB可用来定义材料的非线性,比如说
TB,BISO,1
TBDATA,,235e6,0.02*235e6
说明:前面一句就是说材料为双线性随动强化,后面的是弹性模量为235e6,按双线性其后来的切线模量为0.02*235e6。
命令MP只能定义时弹性,不能定义弹塑性,在定义材料数据时,MP 命令是必须用的,用来定义材料性能的线性部分;TB 命令则需要根据不同情况决定是否使用和如何使用。
7. 在混凝土的计算中,如何选择裂缝模型?
答:ansys中定义混凝土的裂缝为分布型的裂缝的处理方式有离散裂缝模型、分布裂缝模型和断裂力学模型。
8、如何将ANSYS计算结果输出到Tecplot?
下面为六面体八节点单元输出到Tecplot的命令流,其他类型单元参照如下命令流修改相关设置即可。
********************************输出结果命令流
********************************
/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
!写节点数和单元数
*vwrite,NodeNum,ElementNum
("ZONE n="f6.1," e="f6.1," f=fepoint
!写节点的坐标和温度值
*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) (8f6.0)
!关闭文件
*CFCLOSE
finish
********************************输出结果命令流
9、如何将数组中数据导入表中命令流并用曲线画出?
问题描述:将路径数据导出为数组后,直接将parameter->array
parameter->define/edit中的数组用plot->array parameter画出的是柱状图,如图1所示,但是现在想降柱状图转化为曲线图。
图1 柱状图
解决思路:
1)将路径数据导出后,数组的弟四列是路径长度S,第五列是ux,我们想用S做横坐标,ux做纵坐标画出曲线。数组是ARUX02(21,30,1),如图2。定义一个表E_TABLE(21,1,1),将数组的弟四列路径长度符给表的弟0列,将数组弟五列ux符给表的弟1列。
图2 E_TABLE表2)导出表中的数据,弹出窗口如图3所示。
图3 导出数据对话框
3)执行绘制曲线命令。
parameter->array parameter->define/edit中的PARX=E_TABLE(1,0,1),PARY=E_TABLE(1,0,1), 结果如图4所示。
图4 结果曲线图
10、 温度载荷问题
问题描述:在桥梁施工过程中箱粱内和外部有一定的温差,底板内的温度为5℃,底板外侧的温度为0℃,其间是线性变化的,如何施加这个温度荷载?
答:ANSYS的tunif命令是给所有节点指定一个均布温度,体荷载温度用“BF”、“BFE”、“BFK”。 定义一个一维表来处理也可以,温度可以施加到线、面、体、KP 点、节点、单元上。先对已知温度的表面施加温度边界条件,做一次稳态热分析,就可以得到所有节点的温度了。
11、 节点(线、面或模型其他对象类似)编号问题
问题描述:怎样把指定位置的节点的节点号提取出来?用什么命令?例如想把坐标为(5,6,7)的节点的节点号提取出来,该如何实现?答:1)、先选择节点,再获得编号,比如取得坐标为(5,6,7)处的节点号码:
nsel,s,loc,x,5
nsel,r,loc,y,6
nsel,r,loc,z,7
*get,kcon,kp,,num,min
解释:
kcon--该节点编号对应的变量名;
kp--所要定义编号的组员属性为关键点;
nm--操作对象属性为该组员的编号;
min--与所操作对象编号离得最近的组员编号。
12、ANSYS的合并于粘结命令?
问题描述:
1)merge节点与glue-mesh的区别?做一模型,在建模时,两者生成面时共用同一线,计算时对此两面做不做glue是否有区别?如果是不glue 的情况,如果是一实际相邻但并未联着的模型 ,是用不glue的模型还是用在那条线上再重合一条线以示未联?两者是否相同?
2)模型边界glue与不glue的区别?
答:1)Glue 相当于刚性连接,即连接面上有相同的单元和节点划分;当两个实体的接触部分所划分的单元和节点完全相同时,merge才能相当于刚性连接;如果两边的网格不完全一样,merge 只对部分节点起作用,不是完全的刚性连接,如果网格相差很大,merge 后的误差也会很大。不能 glue也不适合 merge 的地方,可以考虑使用节点耦合。
2)如果两者生成面时共用同一线”,用不用GLUE,模型都是共KEYPOINT的。 如果“做一实际相邻但并未联着的模型”,不仅要重新生成一条线, 还要修改一个面,使之由这条新生成的线构成。如
果“相邻,而且相连”,用MERGE更合适。
实际相邻、但并未连着的模型可以这样做: 单独做两个面,分别检查构成两个面的线、KEYPOINT, PLOT KEYPOINT,如果相同位置有两个点,相同位置的线也为两条,则对两个面划分网格后,单元、节点是互不相连的。如果想让模型相连,MERGE KEYPOINT或MERGE NODE 或AGLUE都可以。
13、如何在结果后处理中,画等应力线?
答:求解完毕后,可以参照以下的步骤进行等应力线的绘制与显示:1) plotcrtls -> device options -> vector mode wireframe: on,在每条等应力线边上产生好多字母,可以在第2步修改 ;
2)plotcrtls -> style -> contours -> contour labeling -> Key vector mode countour labels: on every Nth els 填入一个数字看效果,直到觉得在每条等应力线边上的字母数差不多为止;
3) plotcrtls -> style -> contours -> uniform contours: NCONT Number of contours 填入等应力线的数量;
4 )plotcrtls -> style -> colors -> banded contours colors: band color选择选定等应力线的颜色,选定等应力线由下面的
N1,N2,INC决定;
5 )plotcrtls ->windows contours ->windows options 里面的选项都很有用,自己可以一个个试试看看效果;
6 ) file -> report generator 可以作出白底黑字的图片,如果决得图片合适得话可以用plotcrts -> capture image把图片抓下来;7)去掉背景颜色:Utility
Menu>PlotCtrls>Style>Background>Display Picture Background (单击,去除其前的√号,背景变为黑色) ;
8)显示网格时,去除网格颜色,只显示线条:Utility ;
Menu>PlotCtrls>Style>Colors>Picked Entity Clors ,单击OK。再重新显示Utility Menu>Plot>Replot即为线条;
9)硬拷贝为.bmp文件,以便插入到word文档中:Utility
Menu>PlotCtrls>Hard Copy>To files, 给出文件名。所存文件即在进入Ansys时设的工作目录下。在Ansys图形输出窗口中,显示各种有用图形,需要储存并输出时,均可以该方式存为.bmp文件,以备用。
14、怎样划分不平行于全球坐标系xy的面?
问题描述:怎样划分不平行于全球坐标系xy的面?我直接amesh,结果提示不与全球xy面平行,不能划分,该如何解决?
答:"施加对称对称边界条件,可以直接在 area 上施加,不必使用面
单元过渡的。"意思是对称边界条件可以直接施加在面上,而不必施加
在单元上,但是该面还是需要划分网格的,否则它不会参与计算的。
15、在ANSYS中用表面效应单元加任意方向的荷载
答:参照以下命令段来进行任意方向载荷的施加。通过以上命令流得到
的荷载图如图1所示。
示例命令流
********************************************************************* finish
/PREP7
et,1,45 !定义实体单元solid45
et,2,154 !定义三维表面效应单元
KEYOPT,2,2,0 !指定表面效应单元的K2=0,所加荷载与单元坐标系
方向相同
KEYOPT,2,4,1 !指定表面效应单元的K4=0,去掉边中点,成为四结
点表面单元
block,-5,5,-5,5,0,5 !建实体模型
mp,dens,1,2000
mp,ex,1,10e9
mp,prxy,1,0.2
asel,s,loc,z,5.0,5.0 !选中实体上表面
AATT,1,,2,0, !指定实体上表面用154号单元
MSHAPE,0,2D
MSHKEY,1
esize,,5
amesh,all !对上表面划分网格
allsel,all
VATT,1,,1,0 !指定实体用45号单元
MSHAPE,0,3D
MSHKEY,1
vmesh,all
/PSYMB,ESYS,1 !显示单元坐标系
esel,s,type,,2 !选中实体上表面的表面效应单元以
方便加荷载
sfe,all,1,pres,,50 !在面内加Z向荷载,大小为50,荷载方向可通
过值的正负控制sfe,all,2,pres,,100 !在面内加X向荷载,大小为100
sfe,all,3,pres,,150 !在面内加Y向荷载,大小为150
/psf,pres,,2,0,1 !以箭头方式显示所加荷载
!如果已经知道荷载在整体坐标系内的方向失量为(0,1,1),可以用如语
句加该方向的荷载
sfe,all,5,pres,,100,0,1,1 !荷载值100后的三个数为方向失量
allsel,all
eplot
*********************************************************************
图1 模型示意图下载本文