Simscapeの熱​要素ブロックパラメー​タについて

質問、失礼します。
Simscapeのブロックパラメータ(熱伝導率なのですが)を温度に応じて変更する方法はないでしょうか
物体の温度を変化させ、その温度に合わせて物体の熱伝導率が変化するモデルを作成しいと考えています。
個人的には、温度と対応する値のテーブルをmファイルにして、熱伝導率としてブロックに読み込ませる(図)、と考えています。
が、やり方がわかりません。
私が考えているやり方、または別のやり方、の実現方法を教えて下さい。

 Respuesta aceptada

Toshinobu Shintai
Toshinobu Shintai el 20 de Mayo de 2020
Editada: Toshinobu Shintai el 21 de Mayo de 2020

1 voto

Simscapeのモデルをカスタムする手法を用いれば可能になります。
リンク先のドキュメントだけでは分かりにくいので、試しに作った添付のモデルと、以下の手順を確認してもらえますでしょうか。モデルはR2020aで作成しています。
  1. Conductive Heat Transferのソースコードを開いてコピーし、別ファイル(今回は「+MyHeat」フォルダ)に保存する。
  2. ファイルの拡張子を「.ssc」に設定し、添付ファイル内の「VariableConductiveHeatTransfer.ssc」のように修正する。
  3. 「+MyHeat」を含むフォルダ階層へ移動し、「ssc_build MyHeat」を実行する。
  4. 「MyHeat_lib.slx」に温度可変のモデルが作成されている。
作成されたブロックのパラメータを開いていただければ分かりますが、パラメータとしてルックアップテーブルのベクトル変数を指定できますので、別のmファイルで定義して入れることができます。

8 comentarios

Hiroaki Deguchi
Hiroaki Deguchi el 21 de Mayo de 2020
実際に具体例を作成までして頂き、ありがとうございます!
参考にしてカスタマイズしてみようと思います。
ついで質問なのですが、「熱伝導率テーブルの温度プレークポイント」間では
熱伝導率はテーブルの値を参考に線形に変化させることはできるのでしょうか?
Toshinobu Shintai
Toshinobu Shintai el 21 de Mayo de 2020
「VariableConductiveHeatTransfer.ssc」の"tablelookup"の"interpolation=linear"が、値の間を線形補間することを指定しています。
th_cond_v = tablelookup(T_Table, Th_cond_Table, T,...
interpolation=linear,extrapolation=nearest);
詳細については以下のリンク先を参照してください。
Hiroaki Deguchi
Hiroaki Deguchi el 21 de Mayo de 2020
ありがとうございます。
迅速に対応していただき、助かります!
Hiroaki Deguchi
Hiroaki Deguchi el 26 de Mayo de 2020
Editada: Hiroaki Deguchi el 26 de Mayo de 2020
追加でなんども失礼します。
R2018bで同様にブロックを作成しまし、簡単なモデルに組み込み、
温度のscopeを通じで熱伝導の変化を観察しました。
すると温度の変化に関わらず、熱伝導テーブルの始めの値しか適用されていないようです。
これはMATLABのバージョンによる違いでしょうか
それとも使い方ブロックの挿入位置が間違っているのでしょうか
よろしくお願いします。
Toshinobu Shintai
Toshinobu Shintai el 26 de Mayo de 2020
具体的に、どのように上手くいっていないのでしょうか。
よろしければ、モデルを添付してもらえませんでしょうか。
Hiroaki Deguchi
Hiroaki Deguchi el 26 de Mayo de 2020
熱源からの熱で物体の温度が上がり、それに応じて熱伝導率がが変わり
温度のグラフに反映されているかのシミュレーションです。
温度や熱伝導を変えて見いましたが、
テーブルの始めの熱伝導しか適用されていないようです。
作成した熱伝導ブロックのテーブルがどの値を出力しているか
も知りたいと思ってヘルプ等を読んでいます。
よろしくお願いします。
Toshinobu Shintai
Toshinobu Shintai el 26 de Mayo de 2020
簡単にモデルを拝見しましたが、温度ブレークポイントの範囲が270から330Kですので、シミュレーション開始してから200秒あたりでテーブルの上限に達しています。
「tablelookup」関数の引数が「extrapolation=nearest」になっていますので、それ以上は増加しないようになっていますが、想定通りでしょうか。
Hiroaki Deguchi
Hiroaki Deguchi el 26 de Mayo de 2020
はい、設定は1000秒のままでしたが、
200秒間で質量ブロックの温度変化に応じて熱伝導率を変化させ
温度変化にどのような影響があるか見ていました。
extrapolation=nearest で大丈夫だと考えていました。
誤り等あれば、よろしくお願いします。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!