問題タブ [dymola]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2010 - Dymola (Modelica) 内で /bigobj を使用してコンパイルする方法
比較的小さな有限要素 (FE) モデルを Modelica に統合しています。その際、質量 (M) と剛性 (K) の行列を Matlab バイナリ ファイル形式で読み取ることができるモデル (Modelica クラス) を作成しました。FE モデルを Modelica 標準ライブラリ (Modelica.Mechanics.MultiBody) のいくつかのコンポーネントに接続しました。M と K が非常に小さい場合 (たとえば 20x20)、Dymola はモデルを実行でき、Abaqus と比較してかなり正確な結果を提供します (ただし、計算はそれほど効率的ではありません)。ただし、より大きな M と K を含む FE モデルの複雑さを増すと (たとえば、size(M)=[200,200])、Dymola は次のエラーを返します。
モデルのコンパイルとリンク (Visual C++)。
Microsoft Visual Studio 2010 X86ツールを使用するための環境の設定。dsmodel.c dsmodelext1.c dsmodelext10.c dsmodelext11.c dsmodelext12.c dsmodelext13.c dsmodelext14.c dsmodelext15.c dsmodelext16.c dsmodelext2.c dsmodelext3.c dsmodelext4.c dsmodelext5.c dsmodelext6.c dsmodelext7.c dsmodelext8.c dsmodelext9. c
コードを生成しています...
c:\sentient\src\gll\gearlibrary\dsmodel.c(185115):致命的なエラー C1128:オブジェクト ファイル形式の制限を超えたセクション数:/bigobj でコンパイル
Dymosim の生成中にエラーが発生しました。
Dymola に Visual Studio C++ Express Edition (10.0) を接続しました。
Dymola は、M と K の各エンティティに変数名を提供しているように見えます。これは、C++ コンパイラのオブジェクトの最大制限を超えています。
ディモラがこれを行うのを防ぐにはどうすればよいですか?ディモラ環境内で /bigobjを設定するにはどうすればよいですか?
modelica - Dymola_InlineAfterIndexReduction
この質問は、いくつかのブロックで遊んでいたときに遭遇した問題に関連しています。これが私が持っているモデルです。
ご覧のとおり、2 種類の接続があり、最初の接続 (上から下へ) の入力は でありu[1],u[2],u[3]
、他のブロックは一目瞭然です (startTime = 5
ステップ入力ブロックを除くすべてのデフォルト値)。
私の知る限り、最初の種類の接続は角速度のみを出力し、角度と角加速度は出力しません (両方ともゼロです)。これは少し現実的ではありません (なぜこれを行ったかを説明します)。2 番目の接続は、角速度も出力します。
私の問題は、2番目の接続で、クラッチが正常に機能しているように見えることでした(5秒後にクラッチが接続されます(相対角速度w_rel = 0
))
ただし、最初の接続の動作はまったく異なります。これらはすべてフランジ接続であり、角速度はすべて から計算されるflange_a/b.phi
ことがわかります。そのため、入力 (realExpersion1) が何であれ、クラッチに角速度の差はないと予想する必要があります。しかし興味深いことに、モデルをシミュレートすると、クラッチの左側のフランジは動かず、代わりに右側のフランジが回転しています。これが私の結果の2つのプロットです。
接続1
接続2
実際には、flange_a.phiとフランジ_b.phiがすべて 0 になることを期待する必要があり、Move ブロックの注釈を誤って削除すると、__Dymola_InlineAfterIndexReduction = true
モデルは期待どおりに動作します。誰かが私が見たものを説明するのを手伝ってくれたら、本当に感謝しています。どうもありがとう!
modelica - Dymola/Modelica の openModelFile コマンドと openModel コマンドの違いは何ですか?
この質問では、起動時に MODELICAPATH にカスタム パッケージを追加する方法を尋ねましたが、回答が曖昧でした。答えに基づいて、どちらかを使用できます
また
これらのコマンドがどのように異なるか、また、どちらをいつ使用するかを知りたいです。
編集: 回答する場合は、Modelica のドキュメントにソースを提供してください。これらのコマンドを見つけるためにドキュメントをナビゲートする方法さえわからないので、これはおそらく大きなハンディキャップです.
interpolation - Dymola/Modelica での補間?
Dymola Modelica でいくつかの集計データの補間を実行する必要がありますが、線形補間を行う関数 (Modelica.Math.Vectors.interpolate) しか見つかりません。多項式やできればスプラインのような高次補間が本当に必要です。これを行う関数を書いた人はいますか?
python - Python - インポート エラーが原因で Modelica 接続が失敗する
Berkeley Simulations Lab が提供する Python27 ブロックを使用して、Modelica と Python を接続しようとしています。
http://simulationresearch.lbl.gov/modelica
このブロックを使用して Python 関数を呼び出します。
完璧に動作します。
ここで、いくつかのモジュールをインポートする必要があります
同様に動作します
Python の一部ではなく、サイト パッケージであるモジュールをインポートしたいのは今だけです。
これは動作しません。関数内またはグローバルに BACpypes モジュールをインポートするかどうかは問題ではありません - エラーは常に
同僚は、それが複数のインポートの問題に関連している可能性があるという考えを私に指摘しました。この関数は、Modelica によって 10 秒ごとに呼び出されています (リアルタイム シミュレーション)。
Test1 関数を Modelica の外で呼び出しても問題ありません。Python27 ブロックを使用した場合にのみ失敗します!
BACpypes のインポートを機能させる方法を知っている人はいますか?
2013 年 10 月 16 日更新:
Python ディレクトリでのスクリプト実行と Modelica からの実行の sys.argv の値を出力しました。
Python ディレクトリの sys.argv:
関数が Modelica 内部から呼び出された場合の sys.argv:
これは、私が受け取ったエラーメッセージに何らかの形で関連している可能性がありますか?
arrays - Modelicaのベクトルと配列の違い
Modelica ライブラリ (Modelica.Blocks.Continuous.TransferFunction) の伝達関数ブロックに次の行があることに気付きました。
「ベクトル」関数呼び出しが何をするのか、なぜそれが必要なのか理解できません。しません
同じ結果につながる?
Modelica Language Specification 3.2 で次の説明を見つけましたが、実際には役に立ちません。
"vector(A) - A がスカラーの場合は 1-ベクトルを返し、それ以外の場合は配列のすべての要素を含むベクトルを返します。最大で 1 つの次元が存在する場合size > 1
です。"
全体の話は、Modelica の配列とベクトルの違いに基づいていると思います。誰かが私がそれを整理するのを手伝ってくれたら、私は感謝します.
modelica - Modelica.Media.R134a エラー
Modelica Standard Library 3.2.1 には冷媒 R134a のモデルが含まれていましたが、Modelica.Fluid では正しく動作しないようです。1 つの単純な例でDynamicPipe
は、次のエラーが発生します。
use_T_start
は偽です。ここで何が問題なのですか?どうすれば解決できますか?
ティア
アップデート:
選択された状態は、当然のことながら h と p です。pTX 呼び出しのパラメーターは、選択したメディアの既定値のようです。
PartialStaggeredFlowModel
とを使用Medium.density_pTX
してMedium.setState_pTX
いますが、これらをそれぞれの phX 関数に変更しても問題は解決しません。
dymola - modelicaでコンパイルした後にパラメータを変更する方法
有限体積モデルを作成しました。パラメータ n は、ボリュームの数を表します。変換後、パラメータは変更できません。Dymola は次のメッセージを表示します。
警告: n を設定してもモデルには影響しません。変換後は、リテラルの開始値と評価されていないパラメーターのみを設定できます。
問題は、パラメータ n が方程式セクションで使用されていることだと思います。そこで、次のコードを使用します。
T の初期値の計算にも n を使用します。
目的は、モデルを繰り返し実行するスクリプトを作成することですが、n は異なります。これどうやってするの?