NAFEMS T3 円筒シェルの熱伝導ベンチマーク — V&V結果総括
ベンチマーク概要
先生、NAFEMS T3ってどんな問題ですか? 熱伝導のベンチマークですよね?
理論と物理
円筒シェルの熱伝導と支配方程式
NAFEMS T3ベンチマークで、なぜ温度分布が半径の対数関数になるんですか?平板の一次元熱伝導だと直線分布なのに。
座標系の違いです。円筒座標系(r, θ, z)での定常・一次元(半径方向のみ)熱伝導の支配方程式は、熱流束の保存則から導かれます。平板のデカルト座標系では
「面積が半径に比例する」という部分がよくわかりません。熱流束の保存則とどう関係するんですか?
良い質問だ。定常状態では、任意の半径rの円筒面を通過する熱流量Q [W]は一定です。フーリエの法則は
なるほど。では、境界条件として内面100°C、外面0°Cを与えると、積分定数C1, C2はどう決まるんですか?
内半径を
数値解法と実装
FEM離散化と誤差評価
この対数関数の温度分布を有限要素法で解く時、どんな要素を使うべきですか?一次要素だとまずいですか?
一次要素(線形要素)でも解けますが、精度に課題があります。真の解が対数関数なので、要素内で線形補間では表現しきれず、誤差が生じます。特にNAFEMS T3では、半径方向に少なくとも8〜10個の二次要素(2次要素)を使用することが推奨されています。二次要素であれば、曲線的な温度分布をより正確に捉えられます。
メッシュを細かくすれば一次要素でも誤差は減りますか?どのくらい細かくすればいいんでしょう。
減りますが、収束が遅いです。要素次数pとメッシュサイズhによる誤差評価では、L2ノルム誤差は
ソルバー設定で注意すべき点はありますか?熱伝導解析は線形なので、単純に連立一次方程式を解けばいいだけですか?
基本的にはそうです。定常熱伝導は
実践ガイド
検証作業の具体的ステップ
実際にNAFEMS T3を自分で検証しようとすると、最初に何から始めればいいですか?
まず、NAFEMSの公式ドキュメント「LE1: A Linear Statics and Normal Modes Benchmark」を入手し、T3の問題定義(P.17付近)を確認します。次に、解析解を自分で計算して検証用のベースラインを作ります。内径1.0m、外径2.0m、長さ0.1mの円筒シェル、熱伝導率k=1.0 W/m°C、内面100°C、外面0°Cという条件です。半径1.249m, 1.5m, 2.0mでの温度を計算しておきましょう。
モデルはソリッドで作るべきですか、シェル要素で作るべきですか?
元のベンチマークは「円筒シェル」ですが、これは薄肉構造を意味するシェル要素ではなく、中実のソリッドモデルを指しています。半径方向に厚みがあるため、ソリッド要素(2D軸対称要素または3Dソリッド要素)でモデル化するのが正解です。AbaqusならCAX4TやCAX8Tといった軸対称熱伝導要素を使うと効率的です。シェル要素は面内の熱伝導しか考慮しないので不適切です。
境界条件の与え方で気をつけることは?内面と外面に温度条件を設定するだけですか?
基本的にはそれだけですが、注意点が二つあります。第一に、円筒の上面と下面(端面)は断熱条件であることを忘れないでください。熱流束=0の条件を設定するか、あるいはモデルを軸対称1要素分の厚さだけにすることで自動的に断熱と見なせます。第二に、温度条件はノードに直接与えるのではなく、サーフェスやエッジに与えることで、メッシュが変わっても再現性を保てます。
結果の評価は、単に温度値を比較するだけでいいんですか?
温度値の比較が主ですが、より深く検証するなら熱流束も評価します。定常状態では、どの断面でも熱流量Qは一定になるはずです。内面と外面、および中間の任意の円筒面で
ソフトウェア比較
各ソルバーの結果と特性
教授が示した表によると、NastranとAbaqusの結果はほとんど同じに見えます。両者のソルバーアルゴリズムに違いはないんですか?
この単純な線形問題では、両者とも高精度の直接法ソルバーを使用しているため、結果は数値誤差の範囲内で一致します。MSC Nastranの熱伝導ソルバー(SOL 153)も、Abaqus/Standardのデフォルトソルバーも、連立一次方程式に対してLU分解に基づく直接法を採用しています。違いが出るとすれば、要素ライブラリやデフォルトの積分点数かもしれませんが、T3レベルでは顕著な差は出ません。
COMSOL Multiphysicsで解いた場合、結果はどうなりますか?また、設定で特に気をつける点は?
COMSOLでも同様の高精度結果が得られます。設定では、「2D軸対称」空間次元を選択し、「固体伝熱」物理場を追加します。メッシュは「マップメッシュ」で半径方向に均等に分割するのが簡単です。ソルバーは「定常」研究ステップで、デフォルトの直接ソルバー(MUMPSやPARDISO)を使用します。COMSOLはデフォルトで二次要素を使用するため、比較的粗いメッシュでも良好な精度が期待できます。
無償のオープンソースソフトウェア、例えばCalculiXやCode_Asterではどうですか?商用ソフトと比べて精度は落ちますか?
CalculiX(Abaqusと類似の入力形式)やCode_Asterでも、適切に設定すれば商用ソフトと遜色ない精度が出せます。CalculiXのCCXソルバーはSPOOLESなどの直接法ソルバーを内蔵しています。重要なのは「要素タイプ」と「積分スキーム」です。CalculiXでC3D8(一次六面体)要素を使うと精度不足ですが、C3D20(二次六面体)要素を使えば改善されます。オープンソースでも理論を理解して正しく使えば、立派な検証ツールになります。
Ansys Mechanical APDLとWorkbenchでは、同じエンジンを使っているのに結果が微妙に違う、という話を聞いたことがあります。T3のような単純問題でも起こり得ますか?
起こり得ますが、その原因は「エンジン」そのものではなく、「前処理」のデフォルト設定の違いにあることがほとんどです。APDLで直接コマンドを書く場合と、WorkbenchのGUIで設定する場合とでは、デフォルトの要素タイプ(PLANE55 vs. PLANE77など)、メッシャー、ソルバー設定が異なる可能性があります。例えば、Workbenchのデフォルトメッシュが「パッチ適合」オプションで生成され、要素形状が変わるかもしれません。根本的なソルバー(Ansys Thermal)は同じでも、入力が異なれば結果も異なります。
トラブルシューティング
よくあるエラーと対策
解析を実行したら、内面と外面の温度が設定通り100°Cと0°Cにならないことがありました。なぜですか?
最も多い原因は二つです。第一に、温度境界条件を設定したサーフェスやエッジに、意図しない複数のノードが存在していないか確認してください。例えば、内面に接触条件など他の境界条件が重複して設定されていると、ソルバーが優先順位を決めてしまい、設定温度が無視されることがあります。第二に、ソルバーの収束判定基準が緩すぎる場合です。Abaqusでは、線形ソルバーの残差基準をデフォルトから厳しく(例えば1.0E-10に)設定してみてください。
メッシュを細かくしたのに、かえって誤差が大きくなったことがあります。これはあり得るんですか?
「メッシュ依存性の非単調収束」と呼ばれる現象で、あり得ます。特に一次要素を使用している場合に起こりやすいです。原因は、メッシュを細かくする過程で要素のアスペクト比(半径方向と円周方向の要素サイズ比)が極端に悪化したり、積分点の配置がたまたま真の解から離れる位置に来たりすることです。対策は、要素次数を上げる(二次要素にする)か、メッシュを均一に細かくする(マップメッシュなど構造化メッシュを使用する)ことです。
熱流束を計算したら、内面と外面で値が10%以上も違いました。どこを疑えばいいですか?
熱流束の不保存は重大な問題です。以下の順番で確認しましょう。1. **材料特性**: 熱伝導率が全体で正しく1.0に設定されているか。異方性などが誤って設定されていないか。2. **境界条件**: 端面(上面・下面)に断熱条件が正しく適用されているか。デフォルトで熱流束=0になっているか確認。3. **メッシュ品質**: 極端に歪んだ要素(スキュー角が大きい要素)がないか。これらが数値誤差の原因になります。4. **結果の評価方法**: 熱流束を計算する際、ソフトウェアの「セントロイド」での値ではなく、「節点平均」や「面全体の積分値」を使って評価していますか?局所的な値ではばらつきます。
軸対称要素を使っているのに、結果が2D平面モデルと同じになってしまいます。3Dの円筒形状を反映した結果を得るにはどうすれば?
それは、ソフトウェアがそのモデルを「平面ひずみ」や「平面応力」として解釈している可能性が高いです。軸対称解析を正しく行うには、明示的に「軸対称」オプションを有効にする必要があります。Abaqusでは要素タイプがCAXで始まるもの(CAX4T, CAX8T)を選択します。Ansysでは要素座標系を「Axisymmetric」に設定します。COMSOLでは「2D軸対称」を空間次元として選択します。この設定を忘れると、支配方程式が平面問題の
なった
詳しく
報告