Simscapeの熱要素ブロックパラメータについて
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
0 投票
質問、失礼します。

Simscapeのブロックパラメータ(熱伝導率なのですが)を温度に応じて変更する方法はないでしょうか
物体の温度を変化させ、その温度に合わせて物体の熱伝導率が変化するモデルを作成しいと考えています。
個人的には、温度と対応する値のテーブルをmファイルにして、熱伝導率としてブロックに読み込ませる(図)、と考えています。
が、やり方がわかりません。
私が考えているやり方、または別のやり方、の実現方法を教えて下さい。
採用された回答
Toshinobu Shintai
2020 年 5 月 20 日
編集済み: Toshinobu Shintai
2020 年 5 月 21 日
1 投票
Simscapeのモデルをカスタムする手法を用いれば可能になります。
リンク先のドキュメントだけでは分かりにくいので、試しに作った添付のモデルと、以下の手順を確認してもらえますでしょうか。モデルはR2020aで作成しています。
- Conductive Heat Transferのソースコードを開いてコピーし、別ファイル(今回は「+MyHeat」フォルダ)に保存する。

- ファイルの拡張子を「.ssc」に設定し、添付ファイル内の「VariableConductiveHeatTransfer.ssc」のように修正する。
- 「+MyHeat」を含むフォルダ階層へ移動し、「ssc_build MyHeat」を実行する。
- 「MyHeat_lib.slx」に温度可変のモデルが作成されている。
作成されたブロックのパラメータを開いていただければ分かりますが、パラメータとしてルックアップテーブルのベクトル変数を指定できますので、別のmファイルで定義して入れることができます。

8 件のコメント
Hiroaki Deguchi
2020 年 5 月 21 日
実際に具体例を作成までして頂き、ありがとうございます!
参考にしてカスタマイズしてみようと思います。
ついで質問なのですが、「熱伝導率テーブルの温度プレークポイント」間では
熱伝導率はテーブルの値を参考に線形に変化させることはできるのでしょうか?
Toshinobu Shintai
2020 年 5 月 21 日
「VariableConductiveHeatTransfer.ssc」の"tablelookup"の"interpolation=linear"が、値の間を線形補間することを指定しています。
th_cond_v = tablelookup(T_Table, Th_cond_Table, T,...
interpolation=linear,extrapolation=nearest);
詳細については以下のリンク先を参照してください。
Hiroaki Deguchi
2020 年 5 月 21 日
ありがとうございます。
迅速に対応していただき、助かります!
Hiroaki Deguchi
2020 年 5 月 26 日
編集済み: Hiroaki Deguchi
2020 年 5 月 26 日
追加でなんども失礼します。
R2018bで同様にブロックを作成しまし、簡単なモデルに組み込み、
温度のscopeを通じで熱伝導の変化を観察しました。
すると温度の変化に関わらず、熱伝導テーブルの始めの値しか適用されていないようです。
これはMATLABのバージョンによる違いでしょうか
それとも使い方ブロックの挿入位置が間違っているのでしょうか
よろしくお願いします。
Toshinobu Shintai
2020 年 5 月 26 日
具体的に、どのように上手くいっていないのでしょうか。
よろしければ、モデルを添付してもらえませんでしょうか。
Hiroaki Deguchi
2020 年 5 月 26 日
熱源からの熱で物体の温度が上がり、それに応じて熱伝導率がが変わり
温度のグラフに反映されているかのシミュレーションです。
温度や熱伝導を変えて見いましたが、
テーブルの始めの熱伝導しか適用されていないようです。
作成した熱伝導ブロックのテーブルがどの値を出力しているか
も知りたいと思ってヘルプ等を読んでいます。
よろしくお願いします。
Toshinobu Shintai
2020 年 5 月 26 日
簡単にモデルを拝見しましたが、温度ブレークポイントの範囲が270から330Kですので、シミュレーション開始してから200秒あたりでテーブルの上限に達しています。
「tablelookup」関数の引数が「extrapolation=nearest」になっていますので、それ以上は増加しないようになっていますが、想定通りでしょうか。
Hiroaki Deguchi
2020 年 5 月 26 日
はい、設定は1000秒のままでしたが、
200秒間で質量ブロックの温度変化に応じて熱伝導率を変化させ
温度変化にどのような影響があるか見ていました。
extrapolation=nearest で大丈夫だと考えていました。
誤り等あれば、よろしくお願いします。
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で 基礎となるドメイン についてさらに検索
タグ
参考
2020 年 5 月 20 日
2020 年 5 月 26 日
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)