5. 計算実行

計算実行は簡単です。ただし、計算中にプロット出力を制御する機能は、デバッグや解析モデルが正しく設定されているかを確認するのに役立ちます。

実行設定

計算実行する前に必要な主な情報:

  • タイムステップ(時間刻み)
  • 解析時間 - 計算させる実時間
  • プロット設定 - 実行中のプロットの制御

タイムステップ

タイムステップは、OnScaleソルバーが効率的に動作できるようにする2つの節点間の最大許容通過時間です。これは、実行前にすべてのモデルで計算されます。OnScaleは、整数のタイムステップを使用して計算を実行します。

Designerモード

タイムステップの計算プロセスは、Designerモード内で自動化されています。

Analystモード

prcsコマンドは、モデルの設定(材料特性、形状、メッシュ)に基づいてタイムステップ計算を実行し、次にsymb #get操作を使用して取得します。

c process command
prcs c execution setup
symb #get { step } timestep /* extract calculated timestep from prcs command

解析時間

解析時間は計算する実時間で、秒単位の値として入力されます。

Designerモード

Model treeAnalysisセクションの下にあるPropertiesウィンドウにある、Simulation Run Timeで指定します。

Analystモード

変数simtimeで解析実時間を指定します。これを使用して、タイムステップの数で同等のシミュレーション時間を計算します。

symb simtime = 40e-6 /* simulation time - 40 cycles @ 1 mhz
symb nexec = $simtime / $step /* determine how many timesteps to run full model

プロット設定

実行中の結果を可視化できるように、データプロットを設定します。プロットは通常、要求されたコンターまたは時刻歴になります。

Designerモード

Run TimePropertiesプロット設定を行うことができます。

  • 表示する数、及びレイアウト
  • フレーム数 - 計算中にプロットするデータを更新頻度
  • 個別の表示設定 
    • Plotする種類 - 時刻歴、あるいはコンター
    • 時刻歴 - 特定の時間履歴データを選択できます
    • コンター - 表示するデータの選択が可能

Analystモード

計算実行する最適な方法は、 procedureを使用することです。 procedureは、pcomコマンドを使用して何度も呼び出すことができるコードです。

プロット設定を行うために、procedure内でgrphコマンドを使って、プロット設定を行います。

symb nloops = 40 /* plotting snapshots during model execution
symb nexec2 = $nexec / $nloops /* partition full simulation into smaller segments for plotting
c set up plotting
grph
arrow off /* turn off arrows
line off /* turn off mesh lines
set imag avi /* set image capture for movie file generation
nvew 3 1 /* set up 3 plotting windows in layout number 3
end
c create procedure - code that can be executed 'x' number of times
proc plot save /* name procedure 'plot' and save the code
exec $nexec2 /* run model partially
grph
plot ydsp /* plot calculated data array
plot 1 /* plot time history 1 - drive function
plot 3 /* plot time history 3 - charge on top electrode
imag /* snapshot of graphics window for movie generation
end

end$ proc /* end of procedure code
c run model by calling 'plot' procedure 'nloops' times
proc plot $nloops

term

解析実時間の合計に達するまで計算出力をプロットできるように、シミュレーションの合計時間ステップを分割していることに注意してください。