APDLサンプル:節点データのcsv保存

前回の単純梁曲げ計算のデータを用いたポストプロセス処理のサンプル。
特定の節点の値をテーブルに保存してCSVファイルに保存する処理です。

結果データをExcelで開いてグラフを描いた例

計算結果をまとめるのはだいたいExcel等を使った方が取り回しがいいのですが、手作業でデータを写すと書き間違いなど起きやすいので自動化したいところですね。

ファイル保存系のコマンドはコマンドプロンプトへの逐次入力では動作しないので、必ずインプットファイルを作成しておくことになります。

!APDL_sample2.txt
!単純支持梁の曲げ計算結果取得
!予めAPDL_sample1.txtを実行した計算結果を用意して(必要があれば)RESUMEしておく。
!結果データをcsvファイルに保存するので、本スクリプトをtxtで保存しインプットファイル読込。
/post1
!原点(荷重負荷位置の裏面)の変位を取るので節点番号を変数に格納
postNodeNum=node(0,0,0)
!データ保管用配列を作成
!1;Step番号
!2:荷重
!3:Y方向変位
!4:最大相当応力
*dim,postResultData,array,varForceStepNum,4,1
*do,i,1,varForceStepNum
set,i
postResultData(i,1)=i
postResultData(i,2)=i*varForceStep
*get,tmpResultUY ,node ,postNodeNum ,u ,y
postResultData(i,3)=ABS(tmpResultUY)
*get,tmpResultSEQV ,node , postNodeNum ,s ,eqv
postResultData(i,4)=tmpResultSEQV
*enddo
*CFOPEN,'APDL_sample1_mat%varMatNum%_t%varBeamThinNum%.csv',' ',' '
*VWRITE,'APDL sample bend'
%C
*VWRITE,'Mat No',varMatNum
%C, %f
*VWRITE,'Beam Thin[mm]',varBeamThin
%C, %f
*VWRITE,'Step','F','UY','S EQV'
%C, %C, %C, %C
*VWRITE,postResultData(1,1),postResultData(1,2),postResultData(1,3),postResultData(1,4), , , ,
%f,%f,%f,%f
*CFCLOS

ファイル名に変数を使うことも出来るので、計算パラメータをファイル名に含むことで保存時の誤上書きを防止することが出来ます。あとから整理する場合にも有用。
結果の数値を記録する場合はGUI操作を避けた方が良いと考えています 。インプットファイルで自動化しておくことによって、作業ログを残すことにも繋がるはず。

次回はコンター図の自動保存をするインプットファイルあたりを予定。