2017-07-13 9 views
0

FMI 2.0では、配列パラメータがスカラ変数にシリアル化されています。 ツールをインポートすると、それらを配列として表示できますが、サイズは固定されており、処理は非効率です。 現在、FMIプロジェクトのワーキンググループによって、より優れたアレイサポートが開発中ですが、その間にアレイパラメータを処理するための回避策についてお知りになりたいと思います。FMI 2.0の配列パラメータ

アイデアは

  • にハードコードそれら(短所:インクルードはこれ以上何も偶然にしない...)です
  • は、リソースフォルダ内のCSVファイルに入れての開始時にそれらを読みますシミュレーション(短所:なしパラメータマスクサポート、複雑な)
  • は、文字列パラメータに入れ、シミュレーションの開始時に、それを解析する(短所:文字列の限られた長さ、複雑な)

はトンですここに他のアイデア/回避策?前もって感謝します。

答えて

1

あなたの質問に記載されているアイデアの組み合わせも可能です。ここではアイデアセレクタパラメータ

ハードコードは、アレイのハードコードいくつかの変異体であり、ユーザがパラメータを持つ1つを選択することができます。

これは、ユーザーが異なる空間分解初期条件(温度プロファイルなど)の中から選択する必要があった最近のプロジェクトで行いました。我々は、モデル化されたオブジェクトの異なる「履歴」を表す空間的に解決された初期条件の100以上の異なるセットを生成するためにモデルを使用し、それらをFORTRANアレイ(FMUの内部コアはFORTRANにあった)としてハードコードし、彼が使用したいプロファイルを選択するための単一の整数パラメータ。

非常にうまく機能しており、ユーザーはそれを壊す方法がありません。以下のスカラーパラメータにシリアライズになるだろう -

あなたは劇的にあなたが実際にあなたのシミュレーションに渡す必要がある値の数を減らすことができるかもしれない、配列を短くして、配列内のデータが滑らかである場合

を補間痛い FMU内で、必要な解像度を得るために補間します。

CSVファイルを選択するための文字列パラメータ

あなたはユーザー提供のCSVファイルへのパスを提供するために、文字列パラメータを使用することができます。私はこれをお勧めしません、ユーザーはおそらくそれを壊すので。

関連する問題