2016-11-10 1 views

答えて

1

変数ツリーから移動しました。 「:サブ:subsub:X、トップ:サブ:subsub:トップy」の代わりに、私たちはただ、階層のような変数の名前、私はあまりにも変数の木の除去には本当に怒っていた

+0

ありがとう、ジャスティン。変数ツリーにインスタンスがあったのはどうですか?私の直観は、以前は変数ツリーを含んでいたComponentのオブジェクトにすることです。 – kilojoules

+0

変数をオブジェクトとして渡すことはお勧めしません。これは微分可能ではなく、最適化を本当に難しくしています。そう、はい、それをグループのオブジェクトにして、代わりに必要なデータを渡します。 –

1

キロジュール、

を。しかし、私はopenmdaoコンポーネントとの統合に失敗し、黙って失敗してしまったため、はるかに怒っていました。いい厄介払い。

私は変数ツリーの代わりにnumpy.ndarrayを試しています。詳細については、Sellarの例を参照してください。フィールド名を持つ多次元のndarrayを作成すると、名前参照されたデータ構造にはうまくいくと思われます。多次元性を作成するには、変数のツリーブランチに似た宣言のネストが必要なようです。

numpy.array(sic)はopenmdaoと互換性がありませんが、ndarrayはサイズ、シェイプ、データ型などが内部構造で指定された "構造化"配列オブジェクトであるため、numpy.ndarray(sic)辞書。可変ツリーよりも、多次元ndarrayは、コンポーネント内のパラメータとしてインスタンス化できる1つの(大規模な)グローバル宣言と同じ関係の複数の "ビュー"を提供します。 ndarrayインスタンスを移入することは、反復の代わりにフィールド名参照の割り当てによって行われます。構造化された配列に関するすべての情報がopenmdao内で動作するように提供されなければならないので、宣言することはより複雑です。また、numpy.ndarrayは、変数ツリーと同様に、固定された配列サイズと関係を厳密に固定するためのものです。

私はすべてのアプリケーションでこの概念を主張していませんが、あなたの状況を見てください。
シルビア

関連する問題