您的位置:网站首页 > CAD新闻

基于ANSYS宏-对空间任意曲面施加任意方向压力荷载

时间:2011-02-25 10:06:17 来源:

  在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文件的方式执行,如果单元数很多直接在命令行执行会较慢。