您的位置:网站首页 > Ansys教程

[ANSYS宏]对空间任意曲面施加任意方向压力荷载

时间:2010-01-29 05:07:46 来源:

在ANSYS中对曲面施加压力荷载时,SFA命令只能实现沿曲面法向施加压力荷载,荷载转换到单元上时方向也是相对单元法向的。工程中,许多荷载(如屋面恒载、活载等)的方向都是沿着一个方向的,在ANSYS中实现起来就不那么容易了。下面的宏命令是将此文修改而得,借助它可以方便的进行任意曲面任意方向压力的施加。

!宏文件定义开始
*CREATE,PRESONAREA
!使用说明:将要加载的面置为选中状态,然后调用该宏
!例子:*USE,PRESONAREA,ARG1,ARG2,ARG3,ARG4
!                ARG1:1或0,是否进行面积投影
!                ARG2: 'X'、'Y'或'Z',当ARG1=1时有效,指定面积投影方向
!                ARG3: 压力荷载值
!                ARG4: 'FX'、'FY'或'FZ',指定压力的加载方向
ESLA,S$NSLA,S,1
*GET,ENMAX,ELEM,,NUM,MAX 
DOFSEL,S,FX,FY,FZ 
FCUM,ADD
*DO,I,1,ENMAX 
*IF,ESEL(I),EQ,1,THEN

*IF,ARG1,EQ,1,THEN
*GET,AE,ELEM,I,APROJ,ARG2    !用单元投影面积
*ELSE
*GET,AE,ELEM,I,AREA                !用单元真实面积
*ENDIF

P_E=ARG3                                    !压力荷载值
F_TOT=P_E*AE
ESEL,S,ELEM,,I
NSLE,S,CORNER
*GET,NN,NODE,,COUNT
F_N=F_TOT/NN
*DO,J,1,NN
!施加节点荷载
F,NELEM(I,J),ARG4,F_N
*ENDDO
*ENDIF
ESLA,S
*ENDDO
FCUM,REPL
DOFSEL,ALL
ALLSEL
!清除临时变量
AE=
ENMAX=
EMAX=
P_E=$F_TOT=$F_N=
NN=
*END
!宏文件结束

提示:由于此宏循环较多,运行时最好通过读入inp文件的方式执行,如果单元数很多直接在命令行执行会较慢。