ユーザー定義の熱伝達特性
外部関数は、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)
引数 | タイプ | 入力 / 出力 | 内容 |
---|---|---|---|
ldsid |
整数 | 入力 | ユーザー定義のQVOL 荷重セット
識別番号(ユーザーID)。 |
elabl |
文字、ベクトル | 入力 | elabl はelset のラベル(識別子)。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 |
倍精度浮動小数点数、ベクトル | 入力 | 要素板厚 |
|
倍精度浮動小数点数、ベクトル | 入力 | 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)
引数 | タイプ | 入力 / 出力 | 内容 |
---|---|---|---|
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)
引数 | タイプ | 入力 / 出力 | 内容 |
---|---|---|---|
ldsid |
整数 | 入力 | ユーザー定義のQBDY1荷重セット識別番号(ユーザーID) |
elabl |
文字、ベクトル | 入力 | elabl はelset のラベル(識別子)。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)
引数 | タイプ | 入力 / 出力 | 内容 |
---|---|---|---|
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で共有ライブラリを構築できます。詳細については、外部ライブラリの構築をご参照ください。