DRESP3
バルクデータエントリ DRESP3カードは、呼び出す外部関数を識別し、その関数に渡すパラメータを定義します。
OptiStructから目的の応答が直接または式を通じて得ることができない場合、共有ライブラリ / ダイナミックライブラリまたは外部ファイルに実装されているユーザー指定の外部関数で計算することができます(外部応答および外部ライブラリの構築をご参照ください)。
フォーマット
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
DRESP3 | ID | LABEL | GROUP | FUNCT | REGION | RESP | |||
DRESPM | RID1 | MODEL NAME1 |
RID2 | MODEL NAME2 |
同様 | 同様 | |||
VTYPE1 | RID1 | VOPT1 | RID2 | VOPT2 | 同様 | 同様 | |||
同様 | |||||||||
VTYPE2 | RID1 | VOPT1 | RID2 | VOPT2 | 同様 | 同様 | |||
同様 | |||||||||
VTYPEL1 | RID1 | LID1 | VOPT1 | RID2 | LID2 | VOPT2 | |||
etc. | |||||||||
VTYPEL2 | RID1 | LID1 | VOPT1 | RID2 | LID2 | VOPT2 | |||
同様 | |||||||||
VARTYPE1 | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 | ID7 | ||
ID8 | 同様 | 同様 | |||||||
VARTYPE2 | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 | ID7 | ||
ID8 | 同様 | 同様 | |||||||
同様 | |||||||||
VARTYPEn | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 | ID7 | ||
ID8 | |||||||||
CELLIN | CI1 | CI2 | CI3 | 同様 | CIn | ||||
CELLOUT | CO | ||||||||
SENSOPT | METHOD |
CELLIN(セル入力)指定に対する別フォーマット
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
CELLIN | CI1 | thru | CIn |
別フォーマット(VARTYPEがDEIGVの場合)
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
DEIGV | EIGV1 | LID1 | G1 | C1 | |||||
EIGV2 | LID2 | G2 | C2 | ||||||
同様 | 同様 | 同様 | 同様 |
別フォーマット(VARTYPEがUSRDATAの場合)
USRDATA | STRNG | ||
同様 |
定義
フィールド | 内容 | SI単位の例 |
---|---|---|
ID | 応答識別番号。それぞれのDRESP3は、他のすべてのDRESP番号カードを合わせた中で固有のIDを持つ必要があります。 デフォルトなし(整数 > 0) |
|
LABEL | 応答のユーザー定義名。LABELは英字で始まる必要があります。 デフォルトなし(文字) |
|
GROUP | 使用する共有 / ダイナミックライブラリまたは外部のMicrosoft Excelワークブックを定義します。18 入力デック内の既存のLOADLIBエントリを参照します。 デフォルトなし(文字) |
|
FUNCT | 使用する外部関数を定義します。 デフォルトなし(文字) |
|
REGION | 領域識別子 4 デフォルト = 空白(整数 > 0、または空白) |
|
RESP | 外部関数によって返される応答を定義します。 デフォルト = 1(ライブラリ内の最初の応答)(整数 > 0) |
|
DRESPM | 継続行の始まりを示します。この行は、マルチモデル最適化実行で使用するモデル固有の応答IDおよびモデル名ペアを定義します。 | |
RID# | モデル固有応答の識別番号。 20 | |
MODEL NAME# |
ASSIGN, MMOエントリで定義されているユーザー定義のモデル名。 20 | |
VTYPE# | 次に続く変数タイプ。
デフォルトなし(文字) |
|
RID# | 上記のVTYPE#フィールドで定義された、対応する応答の識別番号。 デフォルトなし(整数 ≥ 0) |
|
VOPT# | 上記のVTYPE#フィールドとRID#フィールドで指定された、対応するベクトル応答に適用される関数タイプ。
(文字) |
|
VTYPEL# | 次に続く変数タイプ。
デフォルトなし(文字) |
|
LID# | 上記のRID#フィールドの対応する応答のサブケース識別番号。 デフォルトなし(整数 ≥ 0) |
|
VARTYPE# | 次に続く変数タイプ。次のいずれかにできます:DESVAR、DTABLE、DGRID、DGRIDL、DGRIDB、DEIGV、DFREQ1、DFREQ1L、DRESP1、DRESP1L、DRESP2、DRESP2L、DVPREL1、DVPREL2、DVCREL1、DVCREL2、DVMREL1、DVMREL2、DVMBRL1、DVMBRL2、USRDATA、またはSAME。 17 22 デフォルトなし(文字) |
|
ID# | VARTYPEがDESVAR、DTABLE、DRESP1、DRESP2、DFREQ1、DVPREL1、DVPREL2、DVCREL1、DVCREL2、DVMREL1、DVMREL2、DVMBRL1、またはDVMBRL2のいずれかの場合、このIDのリストは定義されているVARTYPEのエンティティを参照します。 VARTYPEがDGRIDまたはDGRIDBの場合、このリストはグリッド / 成分のペアのリストであり、2の倍数番目に成分の値(1、2、または3)を指定します。例えば、DGRID, 11, 2は、グリッド11のY成分を示します。 17 VARTYPEがDGRIDLの場合、このリストはグリッド、成分ID、および座標系IDのリストであり、それぞれの2番目の値は成分(1、2、または3)、3番目の値は座標系の識別番号です。例えば、DGRIDL, 11, 2, 1は、ID = 1である座標系内のグリッド11のY成分を示します。 17 VARTYPEがDEIGVの場合、ID番号のリストは固有ベクトルのリストによって置き換えられます。各行では、固有ベクトルID、サブケースID、およびグリッド / 成分のペアが定義されます(成分は1、2、3、4、5、6のいずれかです)。 VARTYPEがDRESP1L、DRESP2L、またはDFREQ1Lの場合、このリストは応答 / サブケースのペアのリストであり、2の倍数番目の値がサブケースIDとなります。例えば、DRESP1l, 9, 1, 9, 3は、サブケース1に対して計算された応答9、およびサブケース3に対して計算された応答9を示します。 VARTYPEがUSRDATAの場合、リストはユーザー定義の文字列によって置き換えられ、これが外部関数に渡されます。この文字列は32,000文字未満である必要があります。 VARTYPEがSAMEの場合、次に1個のIDのみを指定します。これは、データのコピー元となる別のDRESP3エントリのIDです。 デフォルト値はありません(整数 ≥ 0または文字) |
|
CELLIN | 応答入力値を定義する、Microsoft Excelワークシートのセル参照のリストが次に続くことを示します。 18 19 | |
CI# | 応答入力値を定義する、Microsoft Excelワークシートのセル参照のリスト。 18 19 デフォルト値はありません(英数字)。 |
|
CELLOUT | 応答出力値を定義する、Microsoft Excelワークシートのセル参照が次に続くことを示します。 1819 | |
CO | 応答出力値を定義する、Microsoft Excelワークシートのセル参照。 18 19 デフォルト値はありません(英数字)。 |
|
SENSOPT | 感度評価方法が次に続くことを示します。 | |
METHOD | 感度評価方法。 16
|
|
EIGVi | 固有ベクトルの番号。 デフォルトなし(整数 > 0) |
|
LIDi | サブケースID。 デフォルトなし(整数 > 0) |
|
Gi | グリッドID。 デフォルトなし(整数 > 0) |
|
Ci | コンポーネントID。 デフォルト値はありません(1、2、3、4、5、または6) |
|
STRNG | 外部関数に渡されるユーザー定義の文字列。 デフォルト値はありません(文字列 < 32,000文字) |
コメント
- DRESP3エントリは、DESOBJ、DESSUB、DESGLBのいずれかを通して、サブケースから参照されます。
- DRESP3のエントリは、DRESP2とDRESP1のエントリを合わせた中で固有の識別番号を持つ必要があります。
- DRESP1LはDRESP1LとSUBCASE、DRESP2LはDRESP2とSUBCASEによって定義された応答です。グローバル応答では、SUBCASE番号0を使用する必要があります。同様に、DFREQ1Lは、参照先のDRESP1応答に関連付けられた加振周波数を抽出するためのサブケースIDと一緒に対応するDRESP1応答を定義します。
- 同じ領域識別子を持つ応答は、同じ領域にグループ化されます。領域識別子が空ならば、DRESP3のそれぞれの定義に対して個別の領域が形成されます。DSCREENの定義におけるRTYPE EXTERNALは、DRESP3応答を参照します。同じ領域識別子を持つ応答では同じ外部応答を参照することが重要です。詳細については、ユーザーズガイドの制約条件のスクリーニングをご参照ください。
- VARTYPE#の継続行はいくつでも定義することができます。DRESP2カードでVARTYPE#の継続行を記述する際の順番は指定されていません。カード上の任意の位置に、同じVARTYPE#を何度でも繰り返すことができます。
- DRESP3カード上のエントリは、外部関数に渡されるパラメータに順次割り当てられます。
- DRESPiカードとDRESPiLカードを1つのDRESP3定義上に混在させることはできません。
- 制約条件が設定されたDRESP3に対してDRESP1L、DRESP2L、およびDFREQ1Lを使用する場合、DESGLBを使用してDRESP3を識別する必要があります。
- DRESP3の目的関数の中でDRESP1L、DRESP2L、およびDFREQ1Lが使用されている場合、DRESP3を参照するDESOBJは、最初のサブケースより前に定義されている必要があります。
- DRESP3データがDESOBJデータによって参照される場合、以下のような状況ではDESOBJデータは最初のSUBCASEよりも上の位置になければなりません:
- DRESP3にDRESP1L、DRESP2L、およびDFREQ1Lのデータが含まれる
- DRESP3にDRESP1、DRESP2、DRESP1L、DFREQ1L、またはDRESP2Lのデータが含まれない
- DRESP3にDRESP1、DRESP2のグローバル応答が含まれる。
DRESP3に静的または固有値のDRESP1応答が含まれている場合、DESOBJデータが適切な静的または固有値のSUBCASEに含まれている必要があります。
- RTYPE = WCOMP、WFREQ、およびCOMBのDRESP1は、DRESP3データから参照することができません。
- RESPフィールドを使用して、外部関数からの特定の応答を要求することができます。外部関数は、任意の数の応答を計算し、それらの応答の任意のサブセットを返すように実装することができます。このアプローチには、主に次の2つの利点があります:
- 計算したい応答ごとに特定の外部関数を記述する必要がありません。代わりに、1つの一般的な関数を記述することができます。多くの場合、これによってコードの保守性と再利用性が向上します。
- OptiStructは、同じ外部関数を指し、同じ入力データのセットを使用する応答を、自動的にグループ化します。外部関数はその応答グループに対して1回のみ呼び出されるため、ライブラリでの計算時間の短縮が可能となります。
- SAMEの継続行は、現在のDRESP3カードの入力データ(DESVARなど)と、メインのDRESP3カードの入力データが同じであることを示します。SAMEが使用されている場合、他の継続行は指定できません。
これによってDRESP3の定義が簡素化され、HyperMeshインターフェースを通じた、または手動による入力デック変更の際に発生する可能性のあるエラーが削減されます。また、上の説明にあるように、OptiStructは同じ入力データを共有する応答をグループ化します。
- STRNGフィールドのデータは文字列をベースにしています。これは、外部応答サーバールーチンに定数を渡す便利な手段を提供します。使用できる文字数は最大32,000文字です。
- DEIGVの継続行で提供される固有ベクトルの値は、質量マトリックスに対して正規化されます。これらの値に関する感度は計算されません。
- 感度評価方法のパフォーマンスは問題よって異なります。また、方法の選択は引数の数や各評価のコストに応じて決定されます。ほとんどの問題では、デフォルトの方法が最適です。ただし、デフォルトでは近似モジュールが非常に遅いようであれば、AUTOまたはUSERを試すことができます。
USER:この設定ではユーザー計算による勾配が必要なため、より複雑です。ただし、有限差分法が使用されていないため、勾配の質を向上させることができます。また、勾配の計算速度が速くなる場合があります。
- DGRIDおよびDGRIDBVARTYPEを使用して、指定した式または関数に渡す変数として節点の場所を選択することができます。節点の場所は、節点ID / 成分ペアのリスト(2の倍数番目の値が成分)として指定します。節点IDは固有の節点の識別番号であり、成分はGRIDバルクデータエントリ上の節点の場所X1、X2、およびX3フィールドです。
DGRIDB:
VARTYPE DGRIDBを使用して、基準座標系で節点の場所を選択できます。OptiStructでは、基準座標系はデフォルトの直交座標系です。
DGRID:
VARTYPE DGRIDを使用して、各節点の局所座標系で節点の場所を選択できます。この局所座標系は、特定の節点に対するGRIDバルクデータエントリのCPフィールドで指定できます。すべての局所(またはユーザー定義)座標系は、デフォルトの基準座標系に直接的または間接的に基づいています。
VARTYPE DGRIDLを使用して、ユーザー定義の座標系に関して指定された式や関数に変数として渡される節点位置を選択できます。これらの節点位置は、節点ID、成分、および座標系IDのリストとして指定され、それぞれの2番目の値は成分、3番目の値はユーザー定義の座標系IDとなります。節点IDは固有の節点の識別番号(ID)であり、成分はGRIDバルクデータエントリ上の節点の場所X1、X2、およびX3フィールドです。DGRIDL:
VARTYPE DGRIDLを使用して、各成分についてユーザー定義の座標系内の節点位置を選択できます。このユーザー定義の座標系は、それぞれの3番目の値として指定できます。すべての局所(またはユーザー定義)座標系は、デフォルトの基準座標系に直接的または間接的に関連付いています。
- GROUPフィールドでLOADLIB入出力オプションエントリを使用して、外部のMicrosoft Excelワークブックを参照できます。
- 複数のCELLIN継続行を指定できます。CELLIN継続行の各CI#エントリは、VARTYPE番号継続行で定義されている応答(ID#)に対応しています。詳細については、ユーザーズガイドの外部応答をご参照ください。
- 1つのDRESPM継続行で、複数のRID-モデル名ペアを指定できます。これらの応答は、VARTYPE番号 -ID番号エントリによって定義された応答と同様に使用できます。ASSIGN, MMO を使用して、モデルのファイル名、および参照された応答定義を含むユーザー定義のモデル名を指定できます。
- VTYPE#、RID#、およびVOPT#の各フィールドを使用して、DRESP3エントリにベクトルとして渡されるDRESP1応答とDRESP2応答を指定できます。VTYPEL#、RID#、LID#、およびVOPT#の各フィールドを使用して、DRESP3エントリにベクトルとして渡されるサブケース固有のDRESP1応答とDRESP2応答を指定できます。
- DFREQ1、DFREQ1L、DFREQ1V、およびDFREQ1LVオプションは、対応する周波数に基づくDRESP1応答からDRESP2/DRESP3に加振周波数を渡すために使用できます。これは、周波数応答とランダム応答最適化応答に対してサポートされます。
- DFREQ1
- 周波数に基づいた応答に対応する加振周波数。
- DFREQ1L
- 周波数に基づいたサブケース固有の応答に対応する加振周波数。サブケースIDも指定する必要があります。
- DFREQ1V
- 特定の周波数に基づいた応答の加振周波数のベクトル(対応するDRESP1のATTBフィールドを空白にして、参照先のDRESP1応答に対応する目的のすべての加振周波数を渡すことができます)。
- DFREQ1LV
- 特定の周波数に基づいたサブケース固有の応答の加振周波数のベクトル。サブケースIDも指定する必要があります。(対応するDRESP1のATTBフィールドを空白にして、参照先のDRESP1応答に対応する目的のすべての加振周波数を渡すことができます)。