Single Screw Simulator (Ver.12.0.0)
SSSカスタマイズ機能
補足資料

・ユーザ定義ルーチン ／ Fortran compiler の利用方法
・開発環境の設定例 ① Intel Fortran・開発環境の設定例 ② GFortran
・変数一覧
・サンプルプログラム

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

p. 1
pp. 2- 8
pp. 9-17
pp.18-27
pp.28-49

③ SSSカスタマイズ機能
ユーザ定義ルーチン ／ Fortran compiler の利用方法
SSS Ver.12.0.0 で利用可能な開発環境／下表2種類のいずれかを利用してください.
開発環境（compiler）

使用PCのOS (Operating System)① Intel FortranWindows② GFortran (GNU Fortran)

Windows (MinGWを使用)

SingleScrewSimulatorVer12.0.0¥bin¥x86 内には3つのSystemフォルダが存在します.

フォルダの内容と対象ユーザ
Systemver.12.0.0
Systemver.12.0.0_IFORT
Systemver.12.0.0_GFORT: 通常解析を実施されるユーザ 標準版: ①Intel Fortranを利用されるユーザ
ユーザ定義ルーチン
利用ユーザ: ②GFortranを利用されるユーザ

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

1

開発環境の設定例 ① Intel Fortran1) Intel@ oneAPI HPC Toolkit をダウンロードする.
入手可能なウェブサイト（下図に抜粋）
https://www.intel.com/content/www/us/en/developer/articles/news/free-intel-software-developer-tools.html

コマンドプロンプト上でコンパイルする場合にはHPC Kit のみ
インストールします（当社実施環境）.
インテル社製品のダウンロードには、
インテル社のサイトでアカウントを作成する必要があります.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved2

開発環境の設定例 ① Intel Fortran2) Intel@ oneAPI HPC Toolkit をインストールする.
【補足情報】
・ Intel@ oneAPI HPC Toolkit を使用するためには, Microsoft社の Visual Studio をインストールする必要があります.
(当社使用バージョン: Microsoft Visual Studio Community 2017)・ インテルソフトウェア開発製品の正規販売代理店であるエクセルソフト株式会社のウェブサイトから評価版をインストールすることも可能です. 30日間のサポートサービスを受けられます.
エクセルソフト株式会社のウェブサイト（下図に抜粋）
https://www.xlsoft.com/jp/products/intel/download/eval.html

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

3開発環境の設定例 ① Intel Fortran3) Intel@ oneAPI HPC Toolkit をインストール後, Windows 画面左下のスタートボタンからIntel oneAPI command prompt for Intel32 をクリックしてコマンドプロンプトを起動します.

2. Intel oneAPI command prompt
for Intel32 をクリックする.
(Intel64 も存在するため注意)

3. コマンドプロンプトが起動する. (x86の表記を確認)

1. Windowsスタートボタン
をクリックする.
(当社実施環境 windows10)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

4開発環境の設定例 ① Intel Fortran4) Intel oneAPI command prompt for Intel32 のコマンドプロンプト上で, ユーザルーチンのソースコードが格納されているSSS内のフォルダに移動します.
(¥bin¥x86¥Systemver.12.0.0_IFORT¥SingleScrewSimulatorSolverver1200oneAPI_usr)

cd (ディレクトリ移動コマンド) の後に,SingleScrewSimulatorSolverver1200oneAPI_usr
までのパス(C:ドライブからの絶対パス)を入力して, キーボードのEnterキーを押すと, カレントディレクトリが変更されます.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

5開発環境の設定例 ① Intel Fortran5) ¥SingleScrewSimulatorSolverver1200oneAPI_usr 内に存在するソースコードを用途向きに書き直します（任意のエディタを使用）．

ユーザがカスタマイズ可能な
サブルーチンのソースコード(ファイル名.for)（注）ソースコード以外に格納されているファイル (.obj など) を変更したり削除するとコンパイルができなくなりますので注意して使用ください.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

6開発環境の設定例 ① Intel Fortran6) ソースコードを編集後, コマンドプロンプト上で nmake と入力してキーボードのEnterキーを押すと,makefile を利用したコンパイルが実行されます.

変更したソースコードのみ
コンパイルされます.

コンパイルに成功すると,フォルダ内に実行プログラム
SingleScrewSimulator.exeが作成されます.
コンパイルに失敗した場合はエラーメッセージが出力されるので, ソースコードを修正
後に 再度 nmake を実施してください.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

7

開発環境の設定例 ① Intel Fortran7) ¥ SingleScrewSimulatorSolverver1200oneAPI_usrフォルダ内の SingleScrewSimulator.exe の更新日時が,コンパイルした日時に変更されていることを確認後, Systemver.12.0.0_IFORTフォルダ内に存在する
SingleScrewSimulator.exeを上書き保存して更新すると, SSSのGUIから解析実行した際に,更新された SingleScrewSimulator.exe が実行されます.

上書き保存
して更新

(参考) 更新前のSingleScrewSimulator.exe を
別名でコピーしておく, または別の場所にコピーしておくと, 更新前の実行プログラム
を残しておくことができます.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

8

SSS(GUI)から解析実行すると,Systemver.12.0.0_IFORT
フォルダ内に存在する
SingleScrewSimulator.exeが実行されます.

開発環境の設定例 ② GFortran1) MinGW (Minimalist GNU for Windows, GUNコンパイラのWindows移植版) をダウンロードする.
入手可能なウェブサイト（下図に抜粋）
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

32ビットの開発環境(i686_posix-sjlj)
をダウンロードします.
（当社実施環境）
Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

9開発環境の設定例 ② GFortran2) ダウンロードした圧縮ファイル(.7z)を解凍すると, mingw32というフォルダが作成される.

圧縮ファイルを解凍

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

10開発環境の設定例 ② GFortran3) mingw32 フォルダを任意の場所に移動し（注: 日本語を含むフォルダ名は不可）, Windowsの環境変数の設定から, ¥mingw32¥bin フォルダへの Path を設定する.

（参考）当社実施環境での設定例
Cドライブ直下にmingw32を移動

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

11開発環境の設定例 ② GFortran4) ¥mingw32¥bin フォルダ内の makefile を用いたコンパイル実行プログラム mingw32-make.exe
をフォルダ内にコピーし, nmake32.exe に名前を変更する. ここまでがMinGwのインストール手順例です.

コピーして名前を変更する.
（名前は任意）Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

12開発環境の設定例 ② GFortran5) MinGw をインストール後, Windows 画面左下のスタートボタンから
Windows システムツール内のコマンドプロンプトを起動します.

3. コマンドプロンプトが起動する.
2. コマンドプロンプト
をクリックする.

1. Windowsスタートボタン
をクリックする.
(当社実施環境 windows10)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

13

開発環境の設定例 ② GFortran6) コマンドプロンプト上で, GFortran用ユーザルーチンのソースコードが格納されているTSS内のフォルダ(¥bin¥x86¥Systemver.9.0.0_GFORT¥ SingleScrewSimulatorSolverver1200GFort_user) に移動します.

cd (ディレクトリ移動コマンド) の後に,¥SingleScrewSimulatorSolverver1200GFort_user
までのパス(C:ドライブからの絶対パス)を入力して, キーボードのEnterキーを押すと, カレントディレクトリが 変更されます.
（注: 日本語を含むフォルダ名は不可）

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

14開発環境の設定例 ② GFortran7) ¥SingleScrewSimulatorSolver1200GFort_user 内に存在するソースコードを用途向きに書き直します（任意のエディタを使用）．

ユーザがカスタマイズ可能な
サブルーチンのソースコード(ファイル名.for)（注）ソースコード以外に格納されているファイル (.o など) を変更したり削除するとコンパイルができなくなりますので注意して使用ください.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

15

開発環境の設定例 ② GFortran8) ソースコードを編集後, コマンドプロンプト上で nmake32 (p.12 の4) で変更した名前) と入力してキーボードのEnterキーを押すと, makefile を利用したコンパイルが実行されます.

変更したソースコードのみ
コンパイルされます.

コンパイルに成功すると,フォルダ内に実行プログラム
SingleScrewSimulator.exeが作成されます.
コンパイルに失敗した場合はエラーメッセージが出力されるので, ソースコードを修正
後に 再度 nmake32 を実施してください.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

16

開発環境の設定例 ② GFortran9) ¥SingleScrewSimulatorSolverver1200GFort_user フォルダ内の SingleScrewSimulator.exe の更新日時がコンパイルした日時に変更されていることを確認後, Systemver.12.0.0_GFORT フォルダ内に存在する
SingleScrewSimulator.exe を上書き保存して更新すると, SSSのGUIから解析実行した際に更新された
SingleScrewSimulator.exeが実行されます.

上書き保存
して更新

(参考) 更新前のSingleScrewSimulator.exe を
別名でコピーしておく, または別の場所にコピーしておくと, 更新前の実行プログラム
を残しておくことができます.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

17

SSS(GUI)から解析実行すると,Systemver.12.0.0_IFORT
フォルダ内に存在する
SingleScrewSimulator.exeが実行されます.

変数一覧

表1 ユーザが自由にカスタマイズ可能なサブルーチン

ユーザ定義ルーチン名

機能1) initialsetforchem

化学反応種の初期設定及び解析条件の設定2) viscal

粘度計算3) tempcal

温度計算4) chemfscal

化学反応式の左辺及び右辺荷重ベクト
ルの設定

5) chemvariable

化学反応成分の代数的関係式の計算

6) chemwrite

化学反応解析結果のファイル出力

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved181) initialsetforchem:
移流方程式（化学反応モデル）の初期条件設定熱流動場との連成解析の場合（非連成解析の場合は，chemcalを非ニュートン
反復計算終了後のループ外でコール）

gamcal:
流速，ひずみ速度の計算

unfillcal:
部分充満状態の計算
3) tempcal:
温度の計算
chemcal:
移流方程式(化学反応モデル）の計算

n

収束?

y

6) chemwrite:
移流方程式解析結果の出力
Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

return4) chemfscal(ib):移流方程式左辺係数行列と右辺生成項の設定

Matrixsetchem(ic,ib)
有限要素離散化方程式の構成
Matrixsolve(ic,ib)
有限要素離散化方程式の求解

化学種数(ic)反復計算ループ

fluxcal:
節点流量の計算

移流方程式収束反復計算ループ2) viscal:
粘度の計算

ブロック単位(ib=1～最大ブロック数）で呼出し

非ニュートン熱流動反復計算ループ

heleshaw:
熱流動場の計算5) chemvariable(ib)
解析結果の代数的関係式の計算

y

収束?

n
図1 コーリングシーケンス

19

表2 解析モデル要素情報 (ib: ブロック数）
変数名

内容

nelem(ib)

要素数ndivl(ib)

周方向要素分割数

ndivzs(ib)軸方向要素分割数

ibtype(ib)スクリュモデル定義（0: 標準定義, 1:矩形領域定義）

inqc(ie,ib)

要素構成節点数 （SSSは三角形要素で構成されるため 3 ）ndiv
ientab(ie,ib)
entab(ientab(ie,ib),ib)

肉厚方向の要素分割数
要素ieを構成する節点番号リスト（ローカル）
要素ieを構成する節点番号リスト（グローバル）(例) 要素ieを構成する節点番号は以下で抽出できる.
entab(ientab(ie,ib)+ii-1,ib), ii=1～3(inqc(ie,ib))height(ie,ib)

要素ieの肉厚(ie=1~nelem(ib),単位cm)

vol(ie,ib)

要素ieの体積(ie=1~nelem(ib),単位cm3)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved要素情報(1) 標準定義（フライトあり）
ndivl(ib)*2×(ndivzs(ib)-1)+1

ndivl(ib)*2×ndivzs(ib)=nelem(ib)

j

j=2

j=1

j=3

i=1 i=2 i=3 i=4 i=5 i=6i
1●(i,j)(1) 展開①

ndivl(ib) *2

位置(i,j)の要素番号:ndivl(ib)*2×j+i，
i=1~ndivl(ib)*2, j=0~ndivzs(ib)-1②③

周方向分割数①, ②, ③,・・・ndivl(ib)に対して, 要素は2つずつ配置されるため, 要素数はndivl(ib)*2 となる.

(2) 矩形領域定義
ndivl(ib)*4×(ndivzs(ib)-1)+1

ndivl(ib)*4×ndivzs(ib)=nelem(ib)

(2)
展開

i=11
i=3
i=7
i=4 i=2i=8 i=6i=12 i=10
i=9
i=1
i=5

j
j=3
j=2
j=1

1

i
位置(i,j)の要素番号:ndivl(ib)*4×j+i， ndivl*4(ib)i=1~ndivl(ib)*4, j=0~ndivzs(ib)-1

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

21

①
②
③
周方向分割数①, ②, ③,・・・ndivl(ib)に対して, 要素は4つずつ配置されるため, 要素数はndivl(ib)*4 となる.

表3 解析モデル節点情報 (ib: ブロック数）
変数名

内容

nnode(ib)

節点数

xnode(in,ib),ynode(in,ib),znode(in,ib)

節点inのx,y,z座標(in=1~nnode(ib),単位cm)

nren(in,ib)

節点inを含む（隣接する）要素数

nrelem(inrelem(in,ib)+ii-1,1)

節点inを含む（隣接する）要素番号(ii=1~nren(in,ib))(1) 標準定義（フライトあり）
jndivl(ib)×ndivzs(ib)+1

ndivl(ib)×(ndivzs(ib)+1)=nnode(ib)

展開
1

i
1
●
(i,j)

ndivl(ib)
位置(i,j)の節点番号:ndivl(ib)×j+i，
i=1~ndivl(ib), j=0~ndivzs(ib)Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

22

右端の節点番号は左端
と等しい

●

節点情報

●
●

●
●

(2) 矩形領域定義●●●

外周節点（●）と内部節点（●）に分けて,以下のように定義されます.

●
●

●
●
●

●

外周節点の総数

・外周節点（●）

ndivl(ib)×(ndivzs(ib)+1)

ndivl(ib)×ndivzs(ib)+1

●

●

j

右端の
節点番号は左端
と等しい

●

展開
j=3
j=2
j=1 ●

1

● ●

●
(i,j)

i
位置(i,j)の節点番号:ndivl(ib)×j+i， ndivl(ib)i=1~ndivl(ib), j=0~ndivzs(ib)・内部節点（●）
j
位置(i,j)の節点番号:
ndivl(ib)×(ndivzs(ib)+1)+ ndivl(ib)×j+i，
i=1~ndivl(ib), j=1~ndivzs(ib)内部節点の総数

外周節点の総数

ndivl(ib)×(ndivzs(ib)+1) +ndivl(ib)×(ndivzs(ib)-1)+1

1

ndivl(ib)×(ndivzs(ib)+1) + ndivl(ib)×ndivzs(ib)=nnode(ib)
●

●

●

j=3
j=2
j=1 ●

●

i
ndivl(ib)×(ndivzs(ib)+1) +1
Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

23

ndivl(ib)×(ndivzs(ib)+1) +ndivl(ib)表4 境界条件,成形条件情報 (ib: ブロック数）
変数名

内容

tempinlet

流入温度（℃）

pprescribedinlet

流入口設定圧力（MPa）

pprescribed

流出口圧力（MPa)qprescribed

押出量（kg/h)

flowrateinlet

流入口設定流量(cc/s)

rpm

スクリュ回転数(rpm)href(1,ie,ib)

要素ieのスクリュ面熱伝達係数(W/cm2/K)

tbound(1,ie,ib)

要素ieのスクリュ面境界温度(℃)

href(2,ie,ib)

要素ieのバレル面熱伝達係数(W/cm2/K)

tbound(2,ie,ib)

要素ieのバレル面境界温度(℃)

iboundt(in,ib)

節点inの温度境界条件（0:拘束，非0:自由）ibound(in,ib)

節点inの圧力境界条件（0:拘束，非0:自由）Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved24表5 物性情報 (ib: ブロック数）
変数名

内容

rhoh(i,ie,ib)

要素ieの層(i=1~ndiv+1)の密度(g/cm3)

cph(i,ie,ib)

要素ieの層(i=1~ndiv+1)の比熱(J/g/K)

vish(i,ie,ib)

要素ieの層(i=1~ndiv+1)の粘度(Pa・s)
i=1 : スクリュ表面,i=ndiv+1：バレル表面

表6 解析結果要素情報 (ib: ブロック数）
変数名

内容

temh(i,ie,ib)

要素ieの層(i=1~ndiv+1)の温度(℃)

gam(i,ie,ib)

要素ieの層(i=1~ndiv+1)のひずみ速度(J/g/K)

uh(i,ie,ib),vh(i,ie,ib),wh(i,ie,ib)

要素ieの層(i=1~ndiv+1)の流速ベクトル成分(cm/s)

tempe(ie,ib)

要素ieの温度

fille(ie,ib)

要素ieの充満率

filleavb(ie,ib)

要素ieの平均充満率（濃度計算用）

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved25

表7 解析結果節点情報 (ib: ブロック数）
変数名

内容

pres(in,ib)

節点inの圧力(Pa)temp(in,ib)

節点inの温度(℃)

visn(in,ib)

節点inの粘度(Pa・s)gamn(in,ib)

節点inのひずみ速度(s-1)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved26

表8 ユーザ定義変数 (ib: ブロック数）
変数名

内容

chemcnumber

解析対象とする移流方程式の本数（化学種数）

chemvnumber

解析で考慮する配列変数の数

commonvnumber

ルーチン間で共用するスカラー変数の数

chemcname(i)

化学種の名称（i=1~chemcnumber)

chemvname(i)配列変数の名称（i=1~chemvnumber)

chemc(i,ie,ib)

化学種の要素濃度(i=1~chemcnumber,ie=1~nelem(ib))

chemcn(i,in,ib)

化学種の節点濃度(i=1~chemcnumber,ie=1~nelem(ib))

chempar(i,ie,ib)

化学種依存の要素変数(i=1~chemvnumber,ie=1~nelem(ib))

chemparn(i,in,ib)

化学種依存の節点変数(i=1~chemvnumber,ie=1~nelem(ib))

commonvpar(i)ルーチン間で共用するスカラー変数(i=1~commonvnumber)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

27サンプルプログラム① 濃度計算（フォルダ名:conc）
Initialsetforchem の内容
ポストタイトル
全ブロックに設定
要素濃度の初期設定
単一成分濃度
節点濃度の初期設定
1ブロック目に流入境界条件を設定
流入口に設定されている全流量の計算
流入口境界(in=1~iinletnodenum/2)の半領域に設定されている流量の計算
流入口境界(in=1~iinletnodenum/2)の半領域に濃度を設定，残りの半領域の濃度は0(当設定によって濃度平均
値は0.5に漸近)Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

28chemfscal の内容

ui∇f = 0

ブロック毎に呼出される比較( Ai + ui∇ ) fi = Bi
TSSが解析対象とする移流方程式：( chemf (ic, ie, ib) + ui∇ ) f (ic, ie, ib) = chems(ic, ie, ib)
ic=1, f (1,ie)=chemc(1,ie,ib)
chemf(1,ie,ib)=0.0
chems(1,ie,ib)=0.0

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

Ai , Bi : ユーザ定義任意関数（i=1~n)f i : ユーザ定義未知関数（i=1~n)n : ユーザ定義方程式数
u : 流速ベクトル∇ : ナブラ演算子

29

User define model タブメニューの設定

ユーザ定義ルーチンのコール
当濃度計算は，熱流動解析に影響を及ぼさないため，非連成（チェックボックスを非チェック）線形方程式の定常解
析では，反復計算を要しないため 1 に設定

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved30

② 滞留時間分布（RTD）計算（フォルダ名:rtd）
Initialsetforchem の内容
ポストタイトル
全ブロックに設定

単一成分濃度

要素濃度の初期設定
非定常計算刻みとシミュレーション時間として利用する変数の数

節点濃度の初期設定
1ブロック目を指定
流入口に配置された節点に対する境界条件(濃度：1) の設定

各種配列変数のダイナミックアロケーション（ユーザ定義不要の固定構文）

時間刻み：0.2 sec, GUIから入力可能
シミュレーション時刻

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved31∂f+ ui∇f = 0∂t

chemfscal の内容
ブロック毎に呼出される

後退差分

f n − f n −1
+ ui∇f n = 0∆t
 1
 n 1 n −1f
 + ui∇  f =
∆t
 ∆t

ic=1, f (1,ie,ib)=chemc(1,ie,ib),Δt=commonvpar(1)chemf(1,ie,ib)=1/Δt=1/commvpar(1)chems(1,ie,ib)=f n-1/Δt=chemc(1,ie,ib)/commonvpar(1)比較
TSSが解析対象とする移流方程式：( chemf (ic, ie, ib) + ui∇ ) f (ic, ie, ib) = chems(ic, ie, ib)
Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

32chemvariable の内容
ブロック毎に呼出される

流出口境界条件の影響を緩和するための境界層数: 4ブロック ib のスクリュメッシュが標準定義の場合
周方向要素数分のループ
流出口境界位置の要素番号に変換

ibtype(ib)=0
ibtype(ib)=1

ブロック ib のスクリュメッシュが矩形領域定義の場合
周方向要素数分のループ
流出口境界位置の要素番号に変換

iz=ndivzs(ib): ブロックibの軸(z)方向要素分割数
流出口境界で計算される濃度の周方向体積重み付け
平均値：csum/volsum の計算
filleavb(ie,ib):ブロックibの要素ieの充満率
vol(ie,ib):ブロックibの要素ieの体積
chemc(1,ie,ib):ブロックibの要素ieの濃度
nevolsum =  filleavb(ie, ib) * vol (ie, ib)
ie = ns
ne

iz=1

iz=2

iz=3

ndivl(ib): ブロックibの周方向要素分割数
標準定義の場合(ibtype(ib)=0), 周方向要素数は 2*ndivl(ib)矩形領域定義の場合(ibtype(ib)=1), 周方向要素数は 4*ndivl(ib)csum =  filleavb(ie, ib) * vol (ie, ib) * chemc(1, ie, ib)
ie = ns

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

33

chemvariable の内容（続き）

1ブロック目の場合

t=t+Δtスクリュモデルの最終ブロック(iblock)の場合

cheminf ファイル (出力番号：99)へのシミュレー
ション時刻と流出口平均濃度のエコープリント

実行ウィンドウ(出力番号: *)へのシミュレーシ
ョン時刻と流出口平均濃度のエコープリント

cheminf ファイルの出力内容は, 解析終了後に解析結果ファイル名.rtd に自動コピーされます.

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved34

User define model タブメニューの設定

ユーザ定義ルーチンのコール
滞留時間計算は，熱流動解析に影響を及ぼさないため，
非連成（チェックボックスを非チェック）
非定常計算サイクル数

非定常計算の時間刻み
Δt (sec) = rtdtime

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

35

SSS出力ファイル（xxx.rtd, xxx:プロジェクト名; rtd**）

A:流出口（スクリュ出口）のブロック番号
B:シミュレーション時刻
C:流出口平均濃度

D:滞留時間分布（B vs. C情報より作成）

コンマ区切りでエクセルに読み込み
B vs. C ：流出口平均濃度の時間依存性

B vs. D ：滞留時間分布

シミュレーション時刻 流出口平均濃度
流出口（スクリュ出口）のブロック番号Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved36滞留時間分布情報の作成方法
1) Dカラムの1行目に数式=(C2-C1)/0.2を入力してリターンキーを押す．（(C2-C1)/計算時間刻み：Δt=0.2の場合）

2) Dカラムの1行目をマウスクリックし，マウス右ボタン
を押してコピーを選択．

3) Dカラムの2行目から末尾行までをマウスドラッグ選択し，再度マウス
右ボタンを押して形式の貼り付けをマウスクリック選択．

4) Dカラムの一番最後の行のみ削除する

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved37

③ PP分解反応計算（フォルダ名:pp）
Initialsetforchemの内容
当ルーチン内で利用する変数の型宣言

解析対象とする移流方程式の数＝4

化学反応計算の初期値（境界値）設定

代数的関係式の数＝6コモン変数の数＝2

ポスト項目の見出し

各種平均分子量の初期値設定
Viscalと共用する変数定義

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved38

全ブロックに設定

化学種要素変数の初期設定

ブロック1の流入口(in=1~iinletnodenum)に
濃度境界値を設定
化学種節点変数の初期設定

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

39chemfscalの内容
ブロック毎に呼出される
当ルーチン内で利用する変数の型宣言
Initiator efficiency
ペルオキシド分解速度定数
パラメータ

TSSが解析対象とする移流方程式：
D

chemf
(
ic
,
ie
,
ib
)
+

 f (ic, ie, ib) = chems (ic, ie, ib)
Dt

ペルオキシド分解速度定数の計算
tempe(ie, ib): ブロックibの要素ieの温度

D[I ]

D

= −κ d [ I ]   κ d +[I ] = 0
Dt
Dt 


 Q − 3Q0 
DQ0= 2 f κd [ I ] 1
Dt
 Q1 − Q0 
 Q0 
DQ1= −2 f κ d [ I ] Dt Q1 − Q0 1
 1
 − 3 Q3 + 3 Q1 − 2Q0 
DQ2= 2 f κd [ I ]Dt
Q1 − Q0

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved40

変数対応関係[ I ] : chemc(1, ie, ib)
Q0 : chemc(2, ie, ib)
Q1 : chemc(3, ie, ib)
Q2 : chemc(4, ie, ib)chemvariableの内容
ブロック毎に呼出される
当ルーチン内で利用する変数の型宣言
プロピレンの分子量：4.2D-02 kg/m3

Closure relation

変数対応関係Chempar(1,ie,ib) : Q3
Chempar(2,ie,ib) : 数平均分子量Mn
Chempar(3,ie,ib) : 重量平均分子量Mw
Chempar(4,ie,ib) : Z平均分子量Mz
Chempar(5,ie,ib) : Mw/Mn
Chempar(6,ie,ib) : Mz/Mw

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

41

nonnew : 非ニュートン識別番号
1:Newtonian
2:Power law
3:Log polynomial
4:Carreau
5:Carreau Yasuda
6:Cross

viscalの内容

Tb T + 273.15 

η0 = a exp a→bcoef (Material fit パラメータ),
Tb→tref (Material fit パラメータ),
T→temhi:要素ieの層iの温度3.7

 M (t ) η0 (t ) =  w  η0 (0) M w (0) dc =M z (t ) / M w (t )M z (0) / M w (0)η=Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

42

η0
1− dn

 η * gamm 
1 + dc *exp  0 rcoef chemwriteの内容

ローカル変数の定義：化学種4成分，代数関係式6成分
出力ファイルオープン
機番110: ファイル名CHEMCON, 化学種4成分出力用機番111: ファイル名CHEMPAR, 代数関係式6成分
ブロックのループ
境界節点を除く，節点番号ループ
化学種ループ
節点inを含む要素数ループ
ine:節点inを含む要素番号
unfilmask:0 ; 未充満領域も計算量を表示:1 ; 未充満領域の計算量を非表示

unfilmask:1の場合は，要素充満率を考慮した体積重み付け平均，
unfilmask:0の場合は，要素充満率を無視した体積重み付け平均
nren(in,ib):ブロックibの節点inを含む要素数
nrelem(inrelem(in,1)+ii-1,ib):ブロックibの節点inを含むii番目の要素番号
fille(ine,ib) : ブロックibの要素ineの充満率（0 or 1)

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

43

流入口境界を除く節点の化学種濃度を体積重み付けの要素濃度より計算

非チェック：unfilmask=0
チェック：unfilmask=1＊Surface Renewal Model パラメータ設定フォーム下部

境界節点を除く，節点番号ループ
代数関係式数ループ
節点inを含む要素数ループ
ine:節点inを含む要素番号
unfilmask:0 ; 未充満領域も計算量を表示:1 ; 未充満領域の計算量を非表示

unfilmask:1の場合は，要素充満率を考慮した体積重み付け平均（未充満領域を非表示），
unfilmask:0の場合は，要素充満率を無視した体積重み付け平均（未充満領域も表示）

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

44

流入口境界を除く節点の代数関係式
を体積重み付けの要素濃度より計算

ブロック ib のスクリュメッシュが標準定義の場合
軸方向分割数ループ
軸方向分割数iz断面内の開始節点番号
軸方向分割数iz断面内の終了節点番号

化学種 ic の数平均値の計算

軸垂直断面内の化学種
平均値の計算軸方向分割数iz断面のz座標と各種数平均化学種計算値のファイルCHEMCON への出力
ブロック ib のスクリュメッシュが矩形領域定義の場合
以下の矩形領域定義のコードは省略（詳細は直接ソースコードを参照ください）

化学種変数と数平均
値対応関係[ I ] : chemcon(1)Q0 : chemcon(2)Q1 : chemcon(3)Q2 : chemcon(4)Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

45

ブロック ib のスクリュメッシュが標準定義の場合
軸方向分割数ループ
軸方向分割数iz断面内の開始節点番号
軸方向分割数iz断面内の終了節点番号

代数関係式 ic の数平均値の計算

軸垂直断面内の代数的関係式平均値の計算

軸方向分割数iz断面のz座標と各種数平均代数的関係式
計算値のファイルCHEMPAR
への出力ブロック ib のスクリュメッシュが矩形領域定義の場合
以下の矩形領域定義のコードは省略（詳細は直接ソースコードを参照ください）

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

46

数平均値と代数的関係式対応関係
chemparameter(1) : Q3
chemparameter(2) : 数平均分子量Mn
chemparmeter(3) : 重量平均分子量Mw
chemparameter(4) : Z平均分子量Mz
chemparameter(5) : Mw/Mn
chemparameter(6) : Mz/Mw

User define model タブメニューの設定

ユーザ定義ルーチンのコール
当化学反応計算は，熱流動解析に影響を及ぼすため，
熱流動場との連成解析（チェックボックスをチェック）

非線形反復計算回数

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

47

SSS出力ファイル（CHEMCON, プロジェクト名; pp**）

Z座標

[I]

Q0

Q1

A vs. B ：z座標 vs. ペルオキ
シド濃度

A vs. C ：z座標 vs. Q0

A vs. D ：z座標 vs. Q1

A vs. E ：z座標 vs. Q2

Q2

コンマ区切りでエクセルに読み込み

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

48

SSS出力ファイル（CHEMPPAR, プロジェクト名;pp**）

Z座標

Q3

Mn

Mw

Mz

Mw/Mn

Mz/Mw

A vs. B ：z座標 vs. Q3

A vs. C ：z座標 vs. Mn

A vs. D ：z座標 vs. Mw

A vs. E ：z座標 vs. Mz

A vs. F ：z座標 vs. Mw/Mn

A vs. G ：z座標 vs. Mz/Mw

コンマ区切りでエ
クセルに読み込み

Copyright© 2010 Hyper Advanced Simulation Laboratory Co., Ltd. All Rights Reserved

49