ユーザー定義の熱伝達特性

LOADLIB入出力オプションエントリは、以下と組み合わせて使用できます:
  1. QVOLおよびQVOLLIBバルクデータエントリ: ユーザー定義の外部関数を介した時間依存および温度依存の体積発熱の定義用、および / または
  2. PCONVおよびPCONVLIBバルクデータエントリ: ユーザー定義の外部関数を介した時間依存および温度依存の自然対流係数の定義用。
  3. QBDY1およびQBDYLIBバルクデータエントリ: ユーザー定義の外部関数を介した時間依存および温度依存の均一な熱流束の定義用。
  4. SPCDおよびSPCDLIBバルクデータエントリ: ユーザー定義の外部関数を介した時間依存および温度依存の均一な熱流束の定義用。

外部関数は、FortranまたはCで書くことができます。プログラミング言語にかかわらず、結果のライブラリおよびファイルはOptiStructによってアクセス可能でなければならず、一貫した関数のプロトタイピングが遵守され、適切なコンパイルオプションおよびリンクオプションが使用されていることが前提です。

外部関数の書き出し

2つのFortranサブルーチンが使用できます。1つはユーザー定義の体積加熱を定義するためのもの、もう1つはユーザー定義の自由伝達係数を定義するためのものです。

体積加熱サブルーチン

subroutine USRQVOL(ldsid,elabl,elset,nsetl,nsets,max_elset_len,
temp,max_temp_len,time,dtime,tbllabel,tblxy,tbllen,max_table_len,
ntables,evol,ethick,ecentroid, qheat,itablest,jtablest,rtablest,idtablest,
itables1,rtables1,ntables1,ltables1,ntablest,ltablest,itablemd, 
rtablemd,nitablemd,ntablemd,ltablemd)
表 1 は、OptiStructで外部サブルーチンに渡される引数を簡単に説明したものです。
表 1. サブルーチンの引数
引数 タイプ 入力 / 出力 内容
ldsid 整数 入力 ユーザー定義のQVOL荷重セット 識別番号(ユーザーID)。
elabl 文字、ベクトル 入力 elablelsetのラベル(識別子)。HyperMeshコンポーネント名を表す。
elset 整数、ベクトル 入力 elabl内の要素ID。内部IDと、それに続くユーザー定義のID(デバッグ目的のみ)。
nsetl 整数、ベクトル 入力 elsetの実際の長さ
nsets 整数、ベクトル 入力 elsetの総数
max_elset_len 整数、ベクトル 入力 すべてのelsetの最大長
temp 倍精度浮動小数点数、ベクトル 入力 要素の重心で計算された温度。内部IDに基づく。
time 倍精度浮動小数点数、スカラー 入力 現在時刻
dtime 倍精度浮動小数点数、スカラー 入力 時間ステップ
tbllabel 文字、ベクトル 入力 TABLEGテーブルのラベル
tblxy 倍精度浮動小数点数、ベクトル 入力 TABLEGテーブルのX-Y値を含む
tbllen 整数、ベクトル 入力 TABLEGテーブルの実際の長さ
max_table_len 整数、ベクトル 入力 すべてのTABLEGテーブルの最大長
ntables 整数、ベクトル 入力 TABLEGテーブルの総数
evol 倍精度浮動小数点数、ベクトル 入力 要素の体積
ethick 倍精度浮動小数点数、ベクトル 入力 要素板厚
ecentroid 倍精度浮動小数点数、ベクトル 入力 Element centroid XYZ coordinates
qheat 倍精度浮動小数点数、ベクトル 出力 要素の重心で計算されたq – 体積はOptiStructのメインのソースコード内で計算されます。qheatはベクトルで、すべての加熱された要素のqを含みます。
itablest 整数、ベクトル 入力 TABLEST整数データ
itablest(1) 整数 入力 表識別番号
itablest(3) 整数 入力 jtablestの開始インデックス
itablest(4) 整数 入力 jtablestの終了インデックス
jtablest 整数、ベクトル 入力 TABLEST温度値およびTABLES1エントリのインデックスを含む
rtablest 倍精度浮動小数点数、ベクトル 入力 TABLEST温度値
idtablest 整数、ベクトル 入力 TABLESTおよびTABLES1エントリ
itables1 整数、ベクトル 入力 TABLES1整数データ
itables1(1) 整数 入力 表識別番号
itables1(3) 整数 入力 rtables1の開始インデックス
itables1(4) 整数 入力 rtables1の終了インデックス
rtables1 倍精度浮動小数点数、ベクトル 入力 TABLES1のX-Y値
ntablest 整数、ベクトル 入力 TABLESTテーブルの総数
ltablest 整数、ベクトル 入力 TABLESTテーブルの全長
ntables1 整数、ベクトル 入力 TABLES1テーブルの総数
ltables1 整数、ベクトル 入力 TABLES1テーブルの全長
itablemd 整数、ベクトル 入力 TABLEMD整数データ
rtablemd 整数、ベクトル 入力 TABLEMDのX-Y値
nitablemd 整数、スカラー 入力 TABLEMDテーブルの全長
ntablemd 整数、スカラー 入力 TABLEMDテーブルの総数
ltablemd 整数、スカラー 入力 RTABLEMDテーブルの全長

自由伝達係数サブルーチン

subroutine 
USERHTC(pconvid,pconlabel,num_pconvlabels,cnvlabl,cnvset,cnvnsetl,
cnvnsets,max_cnvset_len,sidtemp,max_sidtemp_len,time,dtime,tbllabel,
tblxy,tbllen,max_table_len,ntables,xyzcoord,qvol_temperatures,
qvol_element_sets,qvol_element_sets_len,qvol_labels,num_qvol_labels,
max_qvol_sets_len,max_qvol_temp_len,htc,itablest,jtablest,rtablest,idtablest,
itables1,rtables1,ntables1,ltables1,ntablest,ltablest,itablemd,rtablemd,nitablemd,
ntablemd,ltablemd)
表 2 は、OptiStructで外部サブルーチンに渡される引数を簡単に説明したものです。
表 2. サブルーチンの引数
引数 タイプ 入力 / 出力 内容
pconvid 整数 入力 熱伝達プロパティ識別番号
pconlabel 文字 入力 熱伝達プロパティ識別ラベル。これはHyperMathプロパティ名。
num_pconvlabels 整数、ベクトル 入力 pconlabelsの数
cnvlabl 文字、ベクトル 入力 cnvsetのラベル(識別子)。これはHyperMathコンポーネント名。
cnvset 整数、ベクトル 入力 要素IDおよびそれらのcnvlabl内の辺。 CONVエントリで定義された内部要素IDと、それに続くユーザー要素ID。
cnvnsetl 整数、ベクトル 入力 cnvsetの実際の長さ
cnvnsets 整数、ベクトル 入力 cnvsetの総数
max_cnvset_len 整数、ベクトル 入力 すべてのcnvsetの最大長
sidtemp 倍精度浮動小数点数、ベクトル 入力 要素辺の中央で計算された温度
time 倍精度浮動小数点数、スカラー 入力 現在時刻
dtime 倍精度浮動小数点数、スカラー 入力 時間ステップ
tbllabel 文字、ベクトル 入力 TABLEGテーブルのラベル
tblxy 倍精度浮動小数点数、ベクトル 入力 TABLEGテーブルのX-Y値を含む
tbllen 整数、ベクトル 入力 TABLEGテーブルの実際の長さ
max_table_len 整数、ベクトル 入力 すべてのTABLEGテーブルの最大長
ntables 整数、ベクトル 入力 TABLEGテーブルの総数
xyzcoord 倍精度浮動小数点数、ベクトル 入力 要素の辺の中央の節点座標値
qvol_temperatures 整数、ベクトル 入力 QVOLバルクデータエントリに関連付けられた要素の重心で計算された温度
qvol_element_sets 整数、ベクトル 入力 QVOLテーブル内の要素ID
qvol_element_sets_len 文字、ベクトル 入力 QVOL要素セットの実際の長さ
qvol_labels 整数、ベクトル 入力 QVOL要素セットのラベル
num_qvol_labels 文字、ベクトル 入力 QVOLラベルの総数
max_qvol_sets_len 整数、ベクトル 入力 QVOL要素セットの最大長
max_qvol_temp_len 整数、ベクトル 入力 すべてのQVOL温度の最大長
htc 倍精度浮動小数点数、ベクトル 出力 辺の中央で計算された対流熱伝達係数
itablest 整数、ベクトル 入力 TABLEST整数データ
itablest(1) 整数 入力 表識別番号
itablest(3) 整数 入力 jtablestの開始インデックス
itablest(4) 整数 入力 jtablestの終了インデックス
jtablest 整数、ベクトル 入力 TABLEST温度値およびTABLES1エントリのインデックスを含む
rtablest 倍精度浮動小数点数、ベクトル 入力 TABLEST温度値
idtablest 整数、ベクトル 入力 TABLESTおよびTABLES1エントリ
itables1 整数、ベクトル 入力 TABLES1整数データ
itables1(1) 整数 入力 表識別番号
itables1(3) 整数 入力 rtables1の開始インデックス
itables1(4) 整数 入力 rtables1の終了インデックス
rtables1 倍精度浮動小数点数、ベクトル 入力 TABLES1のX-Y値
ntablest 整数、ベクトル 入力 TABLESTテーブルの総数
ltablest 整数、ベクトル 入力 TABLESTテーブルの全長
ntables1 整数、ベクトル 入力 TABLES1テーブルの総数
ltables1 整数、ベクトル 入力 TABLES1テーブルの全長

熱流束サブルーチン

subroutine 
USERQBDY1(ldsid,elabl,elset,nsetl,nsets,max_elset_len,temp,max_temp_len,
time,dtime,tbllabel,tblxy,tbllen,max_table_len,ntables,areas,thicknesses,
xyzcoords,qbdy1,itablest,jtablest,rtablest,idtablest,itables1,rtables1,
ntables1,ltables1,ntablest,ltablest,itablemd,rtablemd,nitablemd,ntablemd,
ltablemd)
表 3 は、OptiStructで外部サブルーチンに渡される引数を簡単に説明したものです。
表 3. サブルーチンの引数
引数 タイプ 入力 / 出力 内容
ldsid 整数 入力 ユーザー定義のQBDY1荷重セット識別番号(ユーザーID)
elabl 文字、ベクトル 入力 elablelsetのラベル(識別子)。HyperMeshコンポーネント名を表す。
elset 整数、ベクトル 入力 elabl内の要素ID。内部IDと、それに続くユーザー定義のID(デバッグ目的のみ)。
nsetl 整数、ベクトル 入力 elsetの実際の長さ
nsets 整数、ベクトル 入力 elsetの総数
max_elset_len 整数、ベクトル 入力 すべてのelsetの最大長
temp 倍精度浮動小数点数、ベクトル 入力 要素の重心で計算された温度。内部IDに基づく。
time 倍精度浮動小数点数、スカラー 入力 現在時刻
dtime 倍精度浮動小数点数、スカラー 入力 時間ステップ
tbllabel 文字、ベクトル 入力 TABLEGテーブルのラベル
tblxy 倍精度浮動小数点数、ベクトル 入力 TABLEGテーブルのX-Y値を含む
tbllen 整数、ベクトル 入力 TABLEGテーブルの実際の長さ
max_table_len 整数、ベクトル 入力 すべてのTABLEGテーブルの最大長
ntables 整数、ベクトル 入力 TABLEGテーブルの総数
areas 倍精度浮動小数点数、ベクトル 入力 要素面積
thicknesses 倍精度浮動小数点数、ベクトル 入力 要素板厚
xyzcoords 倍精度浮動小数点数、ベクトル 入力 要素重心の節点座標
qbdy1 倍精度浮動小数点数、ベクトル 出力 要素の重心で計算されたq -qbdy1はベクトルであり、すべての加熱された要素のqを含む
itablest 整数、ベクトル 入力 TABLEST整数データ
itablest(1) 整数 入力 表識別番号
itablest(3) 整数 入力 jtablestの開始インデックス
itablest(4) 整数 入力 jtablestの終了インデックス
jtablest 整数、ベクトル 入力 TABLEST温度値およびTABLES1エントリのインデックスを含む
rtablest 倍精度浮動小数点数、ベクトル 入力 TABLEST温度値
idtablest 整数、ベクトル 入力 TABLESTおよびTABLES1エントリ
itables1 整数、ベクトル 入力 TABLES1整数データ
itables1(1) 整数 入力 表識別番号
itables1(3) 整数 入力 rtables1の開始インデックス
itables1(4) 整数 入力 rtables1の終了インデックス
rtables1 倍精度浮動小数点数、ベクトル 入力 TABLES1のX-Y値
ntablest 整数、ベクトル 入力 TABLESTテーブルの総数
ltablest 整数、ベクトル 入力 TABLESTテーブルの全長
ntables1 整数、ベクトル 入力 TABLES1テーブルの総数
ltables1 整数、ベクトル 入力 TABLES1テーブルの全長
itablemd 整数、ベクトル 入力 TABLEMD整数データ
rtablemd 倍精度浮動小数点数、ベクトル 入力 TABLEMDのX-Y値
nitablemd 整数、スカラー 入力 TABLEMDテーブルの全長
ntablemd 整数、スカラー 入力 TABLEMDテーブルの総数
ltablemd 整数、スカラー 入力 RTABLEMDテーブルの全長

SPCD温度サブルーチン

subroutine 
USERSENSOR(ldsid,nlabl,ndset,ndsetl,cntrlset,cntrlsetl,ndsets,max_ndset_len,
max_cntrlset_len,tempn,max_tempn_len,max_tempinf_len,time,dtime,tbllabel,tblxy,
tbllen,max_table_len,ntables,tempinf,itablest,jtablest,rtablest,idtablest,itables1,
rtables1,ntables1,ltables1,ntablest,ltablest,itablemd,rtablemd,nitablemd,ntablemd,
ltablemd)
表 4 は、OptiStructで外部サブルーチンに渡される引数を簡単に説明したものです。
表 4. サブルーチンの引数
引数 タイプ 入力 / 出力 内容
ldsid 整数 入力 SPCD荷重セットID(ユーザー定義のSPCD ID)
nlabl 文字、ベクトル 入力 NDSETのラベル(識別子)。これはHyperMesh節点のSETラベル(環境節点用)。
ndset 整数、ベクトル 入力 nlabl内の節点ID。内部IDとそれに続くユーザーIDを含む。
ndsetl 整数、ベクトル 入力 ndsetの実際の長さ
ndsets 整数、ベクトル 入力 ndsetの総数
max_ndset_len 整数、ベクトル 入力 すべてのndsetの最大長
cntrlset 整数、ベクトル 入力 制御節点ID。これらは内部IDとそれに続くユーザー定義のID。
cntrlsetl 整数、ベクトル 入力 cntrlsetの実際の長さ
cntrlsets 整数、ベクトル 入力 cntrlsetの総数
max_cntrlset_len 整数、ベクトル 入力 すべてのcntrlsetの最大長
tempn 倍精度浮動小数点数、ベクトル 入力 計算された節点温度
tempinf 倍精度浮動小数点数、ベクトル 出力 制御節点における環境温度
time 倍精度浮動小数点数、スカラー 入力 現在時刻
dtime 倍精度浮動小数点数、スカラー 入力 時間ステップ
tbllabel 文字、ベクトル 入力 TABLEGテーブルのラベル
tblxy 倍精度浮動小数点数、ベクトル 入力 TABLEGテーブルのX-Y値を含む
tbllen 整数、ベクトル 入力 TABLEGテーブルの実際の長さ
max_table_len 整数、ベクトル 入力 すべてのTABLEGテーブルの最大長
ntables 整数、ベクトル 入力 TABLEGテーブルの総数
itablest 整数、ベクトル 入力 TABLEST整数データ
itablest(1) 整数 入力 表識別番号
itablest(3) 整数 入力 jtablestの開始インデックス
itablest(4) 整数 入力 jtablestの終了インデックス
jtablest 整数、ベクトル 入力 TABLEST温度値およびTABLES1エントリのインデックスを含む
rtablest 倍精度浮動小数点数、ベクトル 入力 TABLEST温度値
idtablest 整数、ベクトル 入力 TABLESTおよびTABLES1エントリ
itables1 整数、ベクトル 入力 TABLES1整数データ
itables1(1) 整数 入力 表識別番号
itables1(3) 整数 入力 rtables1の開始インデックス
itables1(4) 整数 入力 rtables1の終了インデックス
rtables1 倍精度浮動小数点数、ベクトル 入力 TABLES1のX-Y値
ntablest 整数、ベクトル 入力 TABLESTテーブルの総数
ltablest 整数、ベクトル 入力 TABLESTテーブルの全長
ntables1 整数、ベクトル 入力 TABLES1テーブルの総数
ltables1 整数、ベクトル 入力 TABLES1テーブルの全長
itablemd 整数、ベクトル 入力 TABLEMD整数データ
rtablemd 倍精度浮動小数点数、ベクトル 入力 TABLEMDのX-Y値
nitablemd 整数、スカラー 入力 TABLEMDテーブルの全長
ntablemd 整数、スカラー 入力 TABLEMDテーブルの総数
ltablemd 整数、スカラー 入力 RTABLEMDテーブルの全長

ユーザー定義材料の外部ライブラリの構築

WindowsまたはLinuxで共有ライブラリを構築できます。詳細については、外部ライブラリの構築をご参照ください。