提供Ansys計算結果(比如加速度值)寫成fre文件的命令流

[轉貼] 提供Ansys計算結果(比如加速度值)寫成fre文件的命令流


提供Ansys計算結果(比如加速度值)寫成fre文件的命令流


將Ansys計算結果(比如加速度值)寫成fre文件的命令流。位移值更簡單。


/POST26


NSOL,2,10,U,Y,UY_2 ! 定義第二個變量為UY_2,值為10號節點Y方向的位移,節點可任選,但要保證其值非0
XVAR,1 ! 定義時間變量為坐標橫軸
PLVAR,2
*GET,num_var,VARI,0, NSETS ! 將變量長度值賦給變量num_var
k=num_var


*DIM,SYSNOISE_TITLE,CHAR,5,4
SYSNOISE_TITLE(1,1)='SYSNOISE '
SYSNOISE_TITLE(1,2)=' ACCELER '
SYSNOISE_TITLE(1,3)='ATIONS '
SYSNOISE_TITLE(1,4)=' FILE'


SYSNOISE_TITLE(2,1)='Rev 5.5 '
SYSNOISE_TITLE(2,2)=' IBM P2E '
SYSNOISE_TITLE(2,3)='SSL 11'
SYSNOISE_TITLE(2,4)='-AUG-02 '


SYSNOISE_TITLE(3,1)='ACCELERA'
SYSNOISE_TITLE(3,2)='TION_St'
SYSNOISE_TITLE(3,3)='ructure '
SYSNOISE_TITLE(4,1)='11-AUG-2002 '
SYSNOISE_TITLE(4,2)=' 10:07 '
SYSNOISE_TITLE(4,3)=':13 '


SYSNOISE_TITLE(5,1)='TIME'
*CFOPEN,ACCE,fre ! 定義數據結果文件,ACCE.fre


*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNOISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)
%C%C%C%C


*get,nmax,node,,num,max, !得到節點編號的最大數


*DIM,T_U,ARRAY,k,4! 定義保存時間歷程結果的矩陣T_U,有num_var行,4列
VGET,T_U(1,1,1),1 ! 矩陣的第一列保存第一個時間歷程變量(默認為TIME)


*dim,num_t,,1,5 !定義一個數組


*DIM,SYSNOISE_SUBT1,CHAR,1,4
SYSNOISE_SUBT1(1,1)='NODAL AC'
SYSNOISE_SUBT1(1,2)='CELERATI '
SYSNOISE_SUBT1(1,3)='ON VALU'
SYSNOISE_SUBT1(1,4)='ES'


*do,i,1,k,1
num_t(1,1)=T_U(i,1,1) !按次序取TIME值
*VWRITE,num_t(1,1)
%20.8E


*VWRITE,SYSNOISE_SUBT1(1,1) ,SYSNOISE_SUBT1(1,2) ,SYSNOISE_SUBT1(1,3) ,SYSNOISE_SUBT1(1,4)
%C%C%C%C


*do,j,1,nmax,1


NSOL,2,j,U,X,UX ! 定義第二個變量為UX,值為j號節點X方向的位移
DERIV,3,2,1,,,,,1 ! 將位移對時間求導,得到速度,存為變量3
DERIV,4,3,1,,,,,1 ! 將速度對時間求導,得到加速度,存為變量4


VGET,T_U(1,2,1),4 ! 矩陣的第2列保存第四個時間歷程變量,j號節點X方向的加速度時間歷程結果
num_t(1,2)=T_U(i,2,1) !將與i對應的j節點的X加速度值賦給num_t的第2列


NSOL,5,j,U,Y,UY ! 定義第5個變量為UY,值為j號節點Y方向的位移
DERIV,6,5,1,,,,,1 ! 將位移對時間求導,得到速度,存為變量6
DERIV,7,6,1,,,,,1 ! 將速度對時間求導,得到加速度,存為變量7


VGET,T_U(1,3,1),7 ! 矩陣的第3列保存第7個時間歷程變量,j號節點Y方向的加速度時間歷程結果
num_t(1,3)=T_U(i,3,1) !將與i對應的j節點的Y加速度值賦給num_t的第3列


NSOL,8,j,U,Z,UZ ! 定義第8個變量為UZ,值為j號節點Z方向的位移
DERIV,9,8,1,,,,,1 ! 將位移對時間求導,得到速度,存為變量9
DERIV,10,9,1,,,,,1 ! 將速度對時間求導,得到加速度,存為變量10


VGET,T_U(1,4,1),10 ! 矩陣的第4列保存第10個時間歷程變量,j號節點Z方向的加速度時間歷程結果
num_t(1,4)=T_U(i,4,1) !將與i對應的j節點的Z加速度值賦給num_t的第4列


num_t(1,5)=j


*VWRITE,num_t(1,5),num_t(1,5),num_t(1,2),0,num_t(1,3) ! 將時間歷程結果數據寫到數據結果文件中,0為虛部及旋轉加速度值
%10I%10I%20.8E%20.8E%20.8E


*VWRITE,0,num_t(1,4),0
(20X,E20.8,E20.8,E20.8)


*VWRITE,0,0,0
(20X,E20.8,E20.8,E20.8)


*VWRITE,0,0,0
(20X,E20.8,E20.8,E20.8)


*enddo


*IF,i,EQ,k,THEN
*EXIT
*ENDIF


*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNOISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)
%C%C%C%C


*enddo


*CFCLOS


FINISH


其中參考了yiby的一部分,謝謝!



登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

2