ansys常见问题及回答.docx
《ansys常见问题及回答.docx》由会员分享,可在线阅读,更多相关《ansys常见问题及回答.docx(22页珍藏版)》请在冰点文库上搜索。
ansys常见问题及回答
(一)普通问题:
问题1:
一个面,赋予材料特性、截面特性,网格划分后如何在不/solu的前提下,知道其质量?
初步解答有五种办法:
第一种办法:
用XSUM命令族,但其限制较多(例如无法考虑象mass21这样单元的质量),且除了vsum命令,其它XSUM命令并不能得到实体的质量,不管这些实体是否分网并赋予单元特性
第二和第三种办法:
利用psolve部分求解命令,或者联合irlf和psolve命令求解,前者或者较快但是结果不够精确,后者速度很慢,但是结果精确
第四种办法:
利用APDL编写命令流宏,求解每个单元的质量和几何信息,然后叠加求解
第五种办法:
利用etable,建立单元表,利用单元操作完成。
注:
计划写一个有关的宏,希望可以交流
问题2:
CFX是否有像ANSYS一样可以利用的命令流,通过直接编写命令流来算题,如果有可否提供一个命令流模版,或者实例,参考书籍
一致的观点认为没有类似于ansys的命令流,通常用CCL(CFXCommandLanguage)和CEL表达式
问题3:
多工况下结构体的优化设计——一个结构体,分析其在不同工况下的强度和刚度,进而对其进行优化设计,我们该如何着手?
例如,如果单以承压工况,优化设计后,其结构体在承拉工况下未必合理;而在承拉工况下优化得到的结构体,在承压工况下也未必合理;如何兼顾两者,同时优化,同时最优合理?
单工况的优化设计都会做,多工况的优化设计有人考虑过?
首先,找到不同工况下最大应力值所处的位置
然后,进入时间历程后处理器,定义这些位置相应的变量,如等效应力,然后绘出时间历程曲线
再次,在变分优化中寻找对应力结果影响较显著的变量
最后,在优化设计中,忽略不必要的、影响不大的变量,进行结果优化分析
问题4:
两个结构体,分别采用焊接(即几何glue和节点融合)和绑定接触/CEINTF(MPC多点约束方法),给定同样的边界条件,得到的计算结果,相似?
几何gule和NUMMRG节点融合,可能更容易引发连接局部的应力奇异现象。
用MPC在局部可能会造成应力集中,且在MPC附近的单元的应力是不可信的!
问题5-1:
瞬态分析中,如何限制刚体位移?
一个例题,在结构端部施加X方向的载荷,进而产生加速度,在delt时间内预计产生某一位移,结果却出现刚体位移,如何避免、处理?
问题5-2:
ANSYS的multibodyanalysis是不是等同于ADAMS的运动分析,可以完全替代,或者可以完成其部分功能哪?
初步分析后认为,5-1和5-2是同一问题,那就是
ansys的multibodyanalysis并不能代替MSC的ADAMS
MULTIBODYANALYSIS只能做一些简单的机构关联运动分析,
并不能实现机构相对于地面的运动分析
附件1:
是一个刚做完的有关油缸起竖过程动画演示的文件,其中颇多纰漏,有兴趣者可相互讨论、交流。
附命令流1:
!
两个宏块:
托架起竖过程受力分析和起竖过程动画演示
FINISH
/CLEAR,START
/FILENAME,Tub,1
/CONFIG,NRES,5000
!
(一)创建宏
!
一、宏块1
!
宏描述:
托架起竖过程受力分析
*CREATE,Tray.mac
/PMACRO
*AFUN,DEG
!
1.参数定义与赋值
!
1)多参数变量
MULTIPRO,'START',4!
重物
*CSET,61,62,'THEPARAMETEROFMatter:
'
*CSET,1,3,Matter_M,'THEMASSOFMatter:
T',15
*CSET,4,6,Matter_L0,'THEWHOLELENGTHOFMatter:
M',15.4
*CSET,7,9,Matter_L,'THELENGTHTOROTATER-AREAFROMCENTROID:
M',5.6
*CSET,10,12,Matter_R,'THERADUISOFMatter:
M',0.75
MULTIPRO,'END'
MULTIPRO,'START',3!
虚拟/托架
*CSET,61,62,'THEPARAMETEROFTray:
'
*CSET,1,3,Tray_L,'THELENGTHOFTray:
M',3.457!
控制起竖上支点
*CSET,4,6,Tray_H,'THEHIGHOFTray:
M',0!
控制回转支点
*CSET,7,9,Tray_D,'THEDISPLACEMENTOFTrayINXDIRECTION:
M',0!
控制滑动
MULTIPRO,'END'
MULTIPRO,'START',5!
油缸
*CSET,61,62,'THEPARAMETEROFOIL:
'
*CSET,1,3,OIL_UX0,'THEXCOORDINATEOFOILUP_SUPPORTIN0DEG:
M',Tray_L
*CSET,4,6,OIL_UY0,'THEYCOORDINATEOFOILUP_SUPPORTIN0DEG:
M',0
*CSET,7,9,OIL_DY0,'THEYCOORDINATEOFOILDOWN_SUPPORTIN0DEG:
M',-1.137
*CSET,10,12,OIL_L0,'THEINITIALLENGTHOFOIL:
M',2.7
*CSET,13,15,OIL_N,'THESECT-NUMOFOIL',3
MULTIPRO,'END'
MULTIPRO,'START',3!
空气/风载
*CSET,61,62,'THEPARAMTEROFAIR:
'
*CSET,1,3,K,'THERESISTANCECOEFFICIENTOFAIR:
',1.2
*CSET,4,6,AIR_Ro,'THEDENSITYOFAIR:
KG/M^3',1.47
*CSET,7,9,AIR_V,'THEWINDVELOCITYOFAIR:
M/S',21
MULTIPRO,'END'
!
2)参数数组
*DIM,Matter_G1,ARRAY,91!
顺风
*DIM,Matter_G2,ARRAY,91!
逆风
*DIM,OIL_ALFA,ARRAY,91!
油缸角度
*DIM,OIL_F0,ARRAY,91!
无风
*DIM,OIL_F0X,ARRAY,91
*DIM,OIL_F0Y,ARRAY,91
*DIM,Tray_RX0,ARRAY,91
*DIM,Tray_RY0,ARRAY,91
*DIM,OIL_F1,ARRAY,91!
起竖载荷:
顺风
*DIM,OIL_F1X,ARRAY,91
*DIM,OIL_F1Y,ARRAY,91
*DIM,Tray_RX1,ARRAY,91
*DIM,Tray_RY1,ARRAY,91
*DIM,OIL_F2,ARRAY,91!
逆风
*DIM,OIL_F2X,ARRAY,91
*DIM,OIL_F2Y,ARRAY,91
*DIM,Tray_RX2,ARRAY,91
*DIM,Tray_RY2,ARRAY,91
*DIM,Tray_DX,ARRAY,91!
限位位移:
X向
*ABSET,ThisisaTray.MACProcessBar,BOTH
!
2.计算程序
!
1)油缸长度优化
OIL_UXY=SQRT(OIL_UX0**2+OIL_UY0**2)!
上支点斜距
OIL_UAng0=ATAN(OIL_UY0/OIL_UX0)!
上支点斜距初始水平夹角
OIL_UX90=OIL_UXY*Cos(90+OIL_UAng0)!
上支点90度横坐标
OIL_UY90=OIL_UXY*Sin(90+OIL_UAng0)!
上支点90度纵坐标
*DO,I,1,1.0E9
OIL_DX0=OIL_UX0-SQRT(OIL_L0**2-(OIL_UY0-OIL_DY0)**2)!
0度时油缸下支点X坐标
OIL_DX90=OIL_DX0-Tray_D!
90度时油缸下支点X坐标
OIL_DY90=OIL_DY0!
Y坐标
OIL_L90=SQRT((OIL_UX90-OIL_DX90)**2+(OIL_UY90-OIL_DY90)**2)!
90度时油缸长度
OIL_LMax=OIL_L90-OIL_L0!
最大行程
OIL_LAve=OIL_LMax/OIL_N!
平均行程
OIL_LT=OIL_L0-OIL_LAve!
不可用部分/预留长度
*IF,OIL_LT,GE,0.690,AND,OIL_LT,LE,0.691,THEN
*EXIT
*ENDIF
*IF,OIL_LT,LT,0.690,THEN
OIL_L0=OIL_L0+1.0E-5
*ENDIF
*IF,OIL_LT,GT,0.691,THEN
OIL_L0=OIL_L0-1.0E-5
*ENDIF
*ENDDO
!
2)载荷计算
*DO,I,1,91
THETA=I-1
Tray_DX(I)=Tray_D/90*(I-1)
!
<1>重力和风载
Matter_G0=Matter_M*1000*10!
重力
AIR_P=0.5*AIR_Ro*AIR_V**2!
风压
AREA1=2*Matter_L0*Matter_R*Sin(THETA)+3.14*Matter_R**2*Cos(THETA)$AREA2=AREA1
Matter_G1(I)=K*AIR_P*AREA1!
顺风
Matter_G2(I)=K*AIR_P*AREA2!
逆风
!
<2>油缸
OIL_UX=OIL_UXY*Cos(THETA+OIL_UAng0)$OIL_UY=OIL_UXY*Sin(THETA+OIL_UAng0)!
上支点坐标
OIL_DX=OIL_DX0-Tray_DX(I)$OIL_DY=OIL_DY0!
下支点坐标
OIL_L=SQRT((OIL_UX-OIL_DX)**2+(OIL_UY-OIL_DY)**2)!
油缸即时长度
OIL_ALFA(I)=ACOS((OIL_UX-OIL_DX)/OIL_L)!
上下支点与水平正方向夹角
K0=Matter_L*Cos(THETA)+(Tray_H-Matter_R)*Sin(THETA)
K12=Matter_L*Sin(THETA)+(Tray_H-Matter_R)*Cos(THETA)
K012=Tray_L*Sin(OIL_ALFA(I)-THETA)+Tray_H*Cos(OIL_ALFA(I)-THETA)
!
CASE0:
无风
OIL_F0(I)=K0*Matter_G0/K012
OIL_F0X(I)=OIL_F0(I)*Cos(OIL_ALFA(I))
OIL_F0Y(I)=OIL_F0(I)*Sin(OIL_ALFA(I))
!
CASE1:
顺风
OIL_F1(I)=K0*Matter_G0/K012-Matter_G1(I)*K12/K012
OIL_F1X(I)=OIL_F1(I)*Cos(OIL_ALFA(I))
OIL_F1Y(I)=OIL_F1(I)*Sin(OIL_ALFA(I))
!
CASE2:
逆风
OIL_F2(I)=K0*Matter_G0/K012+Matter_G2(I)*K12/K012
OIL_F2X(I)=OIL_F2(I)*Cos(OIL_ALFA(I))
OIL_F2Y(I)=OIL_F2(I)*Sin(OIL_ALFA(I))
!
<3>托架
!
CASE0:
无风
Tray_RX0(I)=-OIL_F0X(I)
Tray_RY0(I)=Matter_G0-OIL_F0Y(I)
!
CASE1:
顺风
Tray_RX1(I)=-OIL_F1X(I)+Matter_G1(I)
Tray_RY1(I)=Matter_G0-OIL_F1Y(I)
!
CASE2:
逆风
Tray_RX2(I)=-OIL_F2X(I)-Matter_G2(I)
Tray_RY2(I)=Matter_G0-OIL_F2Y(I)
*ABCHECK,8+I,THISISCOMPUTING......
*ENDDO
!
3.结果输出
*CREATE,ansuitmp
*CFOPEN,Tray,DAT
*VWRITE,
('1.油缸基本参数:
')
*VWRITE,
(8X,'0度:
上支点X坐标',12X,'Y坐标',12X,'下支点X坐标',12X,'Y坐标')
*VWRITE,OIL_UX0,OIL_UY0,OIL_DX0,OIL_DY0
(5X,F12.3,7X,F12.3,8X,F12.3,9X,F12.3)
*VWRITE,
(8X,'90度:
上支点X坐标',12X,'Y坐标',12X,'下支点X坐标',12X,'Y坐标')
*VWRITE,OIL_UX90,OIL_UY90,OIL_DX90,OIL_DY90
(8X,F16.3,7X,F12.3,8X,F12.3,9X,F12.3)
*VWRITE,
(8X,'最大行程',12X,'平均行程',12X,'油缸级数',12X,'最大长度',12X,'初始长度')
*VWRITE,OIL_LMax,OIL_LAve,OIL_N,OIL_L90,OIL_L0
(5X,F12.3,7X,F12.3,7X,F12.3,7X,F12.3,6X,F12.3)
*VWRITE,
('2.重物基本参数:
')
*VWRITE,
(8X,'质量',6X,'到回转耳轴面距离',6X,'总长',6X,'半径')
*VWRITE,Matter_M,Matter_L,Matter_L0,Matter_R
(6X,F8.2,3X,F16.3,6X,F8.3,3X,F8.3)
*VWRITE,
('3.托架基本载荷(无风):
')
*VWRITE,
(8X,'托架长',6X,'托架高',6X,'托架X向位移')
*VWRITE,Tray_L,Tray_H,Tray_D
(8X,F6.3,6X,F6.3,6X,F12.3)
*VWRITE,
(8X,'起竖角度',6X,'起竖载荷',6X,'起竖X向载荷',6X,'起竖Y向载荷',6X,'油缸角度',6X,'X向支反力',6X,'Y向支反力',6X,'X向位移')
*VWRITE,SEQU,OIL_F0
(1),OIL_F0X
(1),OIL_F0Y
(1),OIL_ALFA
(1),Tray_RX0
(1),Tray_RY0
(1),Tray_DX
(1)
(8X,F5.2,6X,F12.3,4X,F12.3,6X,F12.3,6X,F6.2,4X,F12.3,4X,F12.3,6X,F5.3)
*CFCLOS
*END
/INPUT,ansuitmp
*ABCHECK,100,THECOMPUTATIONISCOMPLTED...
*ABFINISH
*END
!
二、宏块2
!
宏描述:
托架起竖过程动画演示
!
备注:
以虚拟/托架回转耳轴/后支为坐标圆点O、水平长度L方向为X轴、竖直高度H方向为Y轴
*CREATE,ANIMATE_SUP,MAC
*AFUN,RAD
!
0.参数定义与赋值
!
0.1截面形式和几何参数
!
1)虚拟/托架
Tray_L1=0!
后支
Tray_L2=1.575!
中支
Tray_L3=Tray_L!
前支
Tray_R=0.25!
主梁截面
!
2)重物
Matter_L1=Tray_L2!
中联支
Matter_L2=Tray_L3!
前支面
Matter_L3=Matter_L!
质心点
Matter_R=Matter_R!
半径
Matter_M=1000*Matter_M!
质量
!
0.2起竖要求
TTIME=2!
时间
ACCEL=3.14*50/180!
最大角加速度
!
0.3边界条件
!
1)起竖载荷
*DIM,F_X,TABLE,91,1,,THETA!
水平载荷,THETA起竖角度
F_X(0,1)=1!
X水平方向
*DO,I,1,91
F_X(I,0)=3.14*(I-1)/180
F_X(I,1)=OIL_F0X(I)
*ENDDO
*DIM,F_Y,TABLE,91,1,,THETA!
垂直载荷,THETA起竖角度
F_Y(0,1)=2!
Y垂直方向
*DO,I,1,91
F_Y(I,0)=3.14*(I-1)/180
F_Y(I,1)=OIL_F0Y(I)
*ENDDO
!
2)限位位移
*DIM,D_X,TABLE,91,1,,THETA!
水平位移,THETA起竖角度
D_X(0,1)=3!
X水平方向
*DO,I,1,91
D_X(I,0)=3.14*(I-1)/180
D_X(I,1)=Tray_DX(I)
*ENDDO
!
3)起竖角度
*DIM,D_Y,TABLE,91,1,,THETA!
起竖位移,THETA起竖角度
D_Y(0,1)=4!
Y垂直方向
*DO,I,1,91
D_Y(I,0)=3.14*(I-1)/180
D_Y(I,1)=Tray_L*Sin(3.14*(I-1)/180)
*ENDDO
*DIM,THETA,TABLE,91,1,,TIME!
起竖角度,TIME起竖时间
DTIME=TTIME/90$ANG_V=3.14*90/180/TTIME!
时间增量、平均角速度
THETA(0,1)=4!
y转动方向
*DO,I,1,91
THETA(I,0)=DTIME*(I-1)
THETA(I,1)=ANG_V*DTIME*(I-1)
*ENDDO
/PREP7
!
1.有限单元模型
!
1)单元类型与实常数
ET,1,BEAM188$R,1
ET,2,MASS21$KEYOPT,2,3,2$R,2,Matter_M
ET,3,MPC184$KEYOPT,3,1,1$KEYOPT,3,2,1
!
2)材料模型
MP,EX,1,2.1E11
MP,NUXY,1,0.27
!
3)截面特性——梁单元
SECTYPE,1,BEAM,CSOLID!
托架
SECDATA,Tray_R,64,4
SECOFFSET,USER,-Tray_R
SECTYPE,2,BEAM,CSOLID!
重物
SECDATA,Matter_R,64,4
!
4)单元模型
CSYS,0
!
<1>虚拟/托架
N,1,Tray_L1,0!
后支
N,2,Tray_L2,0!
中支
N,3,Tray_L3,0!
前支
N,10,Tray_L3+0.001!
边界点——载荷
N,11,Tray_L3+0.002!
边界点——位移
TYPE,1$REAL,1$SECNUM,1$E,1,2$E,2,3$E,3,10$E,10,11
!
<2>重物
N,4,Matter_L1,Matter_R!
中联支
N,5,Matter_L2,Matter_R!
前支面
N,6,Matter_L3,Matter_R!
质心点
TYPE,1$REAL,1$SECNUM,2$E,4,5$E,5,6
TYPE,2$REAL,2$E,6
N,7,Matter_L1,0!
中联支——托架
N,8,Matter_L2,0!
前支面——托架
TYPE,3$E,4,7$E,5,8
!
<3>联接关系
ET,4,MPC184$KEYOPT,4,1,6$KEYOPT,4,4,1
ET,5,MPC184$KEYOPT,5,1,11
NWPAVE,2$CSWPLA,11,0
SECTYPE,4,JOINT,REVO
SECJOINT,LSYS,11
NWPAVE,3$CSWPLA,12,0
SECTYPE,5,JOINT,CYLI
SECJOINT,LSYS,12
TYPE,4$SECNUM,4$E,2,7!
中联耳——托架和重物
TYPE,5$SECNUM,5$E,3,8!
前支面——托架和重物
ALLSEL,ALL
EPLOT$SAVE
FINISH
!
2.起竖过程
/SOLU
!
1)分析类型与求解控制
!
<1>分析类型
ANTYPE,4!
瞬态分析
TRNOPT,FULL,,,,,HHT
LUMPM,ON
!
<2>求解控制
OUTRES,ALL,ALL
SOLCONTROL,1,1
!
<3>时间与频率
TIME,TTIME
DELTIM,DTIME,DTIME/10,DTIME*1.2,ON
!
<4>动力学选项——时间积分
TIMINT,ON,STRUC
TINTP,0.005,,,1.0,0.5
!
<5>非线性分析选项
NLGEOM,ON
NROPT,FULL,,ON
AUTO,ON$KBC,1
NEQIT,75
!
<6>求解器
EQSLV,SPARSE
!
2)初边条件
!
<1>初始条件
ACEL,0,10,0!
整体重力加速度
!
<2>边界条件
!
A.位移边界条件
D,1,UZ,0,,,,UY,ROTX!
托架后支点
D,1,UX,%D_X%
D,11,UZ,0!
托架边界点——位移
D,11,UY,%D_Y%
!
B.载荷边界条件
F,10,FX,%F_X%!
托架边界点——载荷
F,10,FY,%F_Y%
!
3)计算求解
ALLSEL,ALL
SOLVE
FINISH
*END
!
(二)调用宏块
*USE,TRAY.MAC!
起竖过程受力分析
!
注意:
一定要一个一个单独执行,否则有错
!
这也是,我一直没有解决的问题
!
如何让一个宏模块优先执行,而其它操作,比如变量赋值、模型构建、另一个宏块的调用,都在第一个宏块调用完成后
!
再依次,执行相应操作,欢迎建议,希望帮助!
*USE,ANIMATE_SUP.MAC!
起竖过程动画演示
!
(三)后处理
!
1)基本设置
/POST26
FILE,'Tub','rst','.'
NUMVAR,200
SOLU,191,NCMIT$STORE,MERGE
FILLDATA,191,,,,1,1
REALVAR,191,191
!
2)定义变量并存储
NSOL,2,1,U,X,UX_2$STORE,MERGE
NSOL,3,1,ROT,Z,ROTZ_3$STORE,MERGE
NSOL,4,1,V,X,VX_4$STORE,MERGE
NSOL,5,1,OMG,Z,OMGZ_5$STORE,MERGE
NSOL,6,1,A,X,AX_6$STORE,MERGE
NSOL,7,1,DMG,Z,DMGZ_7$STORE,MERGE
RFORCE,8,1,F,X,FX_8$STORE,MERGE
RFORCE,9,1,F,Y,FY_9$STORE,MERGE
RFORCE,10,1,F,Z,FZ_10$STORE,MERGE
问题6:
不同分析中,刚体的建立?
解答:
在线性分析中,可利用CERIG命令
在非线性分析中,可利用RBE3命令和MPC184单元;或者