私は現在、化学プラント シミュレーション プロジェクトのいくつかの動力学パラメーターを当てはめようとしています。私の主なソフトウェアは Aspen Plus です。これは素晴らしい環境ですが、そのパラメーター フィッティング機能は圧倒的で、極小値に簡単に行き詰ってしまいます。
次のオプションは、Excel のソルバーを使用してパラメーター フィッティングを行うことです。書式設定を行うマクロをいくつか作成し、数値積分器を実行する VBA コードをいくつか見つけました。Aspen には、いくつかのプロパティを計算するための Excel アドインがあり、シミュレーションに最適です。ODESolver が要求するユーザー定義関数を作成しました。その中に Aspen アドインの関数を含めたいと思います。私はすでに参照を追加しました。ただし、別の関数から、または単純な Sub として呼び出そうとすると、単一のセルまたは範囲を使用しようとしているかどうかに応じて、常に実行時エラー 9、13、または 424 が返されます。さらに悪いことに、アドインは非常に扱いにくく、エラーが発生すると動作を停止するため、Excel を閉じてワークブックを再度開く必要があり、モジュールをロードするのに 1 ~ 2 分かかります。
スプレッドシート内でどのように機能するかの簡単なデモを含めました。
たとえば、VaporPressure 関数はオブジェクト エディターで VaporPressure(ComponentList, temperature As String) として記述されます。失敗する簡単な例を次に示します。
Sub PropertiesTest()
Pres = VaporPressure(Range("B1").Value, Range("D2").Value)
Range("B4").Value = Pres
End Sub
エラー 13 が表示されます。この機能がよくわかりません。それは非常に明白なDimの問題かもしれませんが、私はあまりにも初心者であり、実際にそれを理解することはできません. 誰か助けてくれませんか?