5-4. 簡単な構造解析
DEXCS-OFでは、標準搭載のツール(具体的にはFreeCAD, Gmsh, Calculix)を使って、以下の構造物に対する
が、GUI操作で簡単にが出来るようになっている。DEXCS-OFの本来の用途(CFD, 数値流体力学)ではないので同梱マニュアル等は存在しないが、番外編とでも云うべき使い方で、ここに紹介しておく。
5-4-1. 弾性応力解析
まず、構造解析の基本的な例題としてもっともよく取り上げられる片持梁の問題を取り上げツールの基本的な使い方を説明する。
念の為、片持梁の理論式を以下に掲載しておく。
理論という意味は、全長に対して断面積の大きさが十分に小さい場合に上記の式を使って、荷重点の最大たわみ量や、支持部根本の最大応力値を計算できるというものである。有限の大きさであれば、上記の値にはならなくとも、それに近い値で、かつ全長と断面積比に対する傾向を調べる事により、計算精度の確かさの程度は保証されるであろう。
何はともあれ、形状モデルを作成しよう。FreeCADを起動したら、①Partワークベンチに切り替え、②新規作成、③立方体ソリッドを作成、④その寸法指定するだけである(図5-4-2.)。FreeCADに不慣れな方は、5-2-4.を参照されたい。
引き続き応力解析に進む。応力解析(に限らず構造解析全般)はFEMワークベンチで実施、基本的にはFEMワークベンチでしか使えない様々なツールバーのアイコンを使って実施するが、その手順はCFDを実施するのとほとんど変わりはない。具体的には、
- 解析ケースの設定
- メッシュ作成
- 材料特性の設定
- 拘束(境界・体積力)条件
- 解析の実行
- 結果の可視化
である。
なお、モデルの作成法として、CFD用には、境界面を予め区分してあったが、本解析用にはこの段階で区分せず後のステップで指定することになる。紛らわしさを感じられると思うが、設定ツール(というか、ツールの作者)が違うので仕方がない。これがオープンCAEであると思って使ってもらいたい。
解析ケースの設定
まずは作成したモデルの名前が(立方体)と日本語表記されているので、CFDの場合と同様、これを英語名に変更しておく必要がある。しかる後このモデルを選択した状態で、Modelツールバーの③アイコン「標準ソルバーのCalculiXを使用して解析のコンテナを作成」をクリックしよう(図5-4-3.)。
そうすると、Analysysというコンポーネントが作成されており、▶をクリックして展開すれば、CalculiXccxToolsというコンポーネントが見えるはずである。
蛇足ながら、表題を「解析ケースの設定」としたが、これはCFD解析での呼び名をそのまま使ったもので、FEMワークべンチでは「解析コンテナの作成」というのが正式表示ということである。
メッシュ作成
メッシュを作成するには①対象オブジェクト(bar)を選択、Meshツールバーの②アイコン「Gmshメッシャーを使用して形状からFEMメッシュを作成」をクリックする(図5-4-4)。
そうすると、コンボビューのモデル画面がタスク画面に自動的に切り替わる。この画面でメッシュ作成のオプション設定することになるが、まずはデフォルトのままで作成してみる。③「Apply」ボタンを押せば、3D画面上でメッシュも表示されるはずである。やや粗いメッシュだが、とりあえず④「OK」ボタンを押せば、再度モデル画面に戻る。Analysisコンポーネントの最下部に、FEMMeshGmshというコンポーネントが 追加されており、これを選択してスペースキーを押せば、メッシュの表示/非表示を切り替えられる。
材料特性の設定
材料特性を設定するには、Modelツールバーの①アイコン「Creates a FEM Material for Solid」をクリックする。
この場合もコンボビューのモデル画面がタスク画面に自動的に切り替わって、材料の②選択メニューが使えるようになる。非常にたくさんの材料が登録されているが、ここでは③CalculiX-Steelを選択している。タスク画面をずっと下方にスクロールしていくと、具体的な材料定数の値が判るはずである。
もちろん、特殊な材料で、登録されていない場合には、個別に値を設定し、新たなデータベースとして登録できるようにもなっている。
⑤「OK」ボタンを押せばタスク画面が閉じて、モデル画面のAnalysisコンポーネントの最下部に、MechanicalSolidMaterialというコンポーネントが 追加される。
拘束条件
拘束条件を設定するには、Mechanical Constraintsツールバーを使用する。
片持梁の場合、梁の端面を固定し、反対側の端面で荷重を負荷する事になる。まずは、固定の方法である。①アイコン「Creates a FEM constraint foa a fixed geometry entity」をクリックすると、タスク画面に自動的に切り替わる(図5-4-6.)。
3D画面上で固定したい端面を②選択(注記1)して、③「Add」ボタンを押せば、選択したFaceの名前(Boxface1)がリストアップされ、3D画面の選択面にピン状のマークが表示される。本例では実施しないが、複数箇所指定することも可能。面でなくともエッジや節点を指定しても良い。選択を間違えたらリストアップ項目を選択して「Remove」ボタンを押せば削除できる。
荷重の境界条件設定には、①アイコン「Creates a FEM constraint for a force acting on a geometry entity」を使う。
手順は拘束条件設定のやり方とほとんど同じなので詳細な説明は割愛するが、図5-4-7.のようにして、まずは荷重面とその大きさを設定する。しかし、これだけでは単純な引張荷重にしかならない(荷重マークの赤矢印が軸の長手方向を指している)ので、曲げ(荷重の)方向を指定する必要がある。
タスク画面の下のほうに①「方向」ボタンを押して、3D画面上で指定したい方向に一致するエッジを選択すると、3D画面上の荷重マークの赤矢印の方向が④その向きに変わる。③逆方向のチェック有無で向きが反転することも確認できよう。確定したら⑤「OK」ボタンを押して完了である。
なお、本例では、荷重条件を付加したが、それ以外に
- 強制変位「Creates a FEM constraint for a displacement acting on a geometry entity」
- 強制回転「Creates a FEM constraint for plane rotation face」
- 圧力「Creates a FEM constraint for a pressure acting on a face」
といったあたりは同様のやり方で設定が可能である。
解析の実行
以上で解析の準備が完了したので、計算の実行である。念の為、FreeCAD画面で、コンボビューのモデル画面で、Analysis以下に、各コンポーネントが配置されている事を確認いただきたい。各コンポーネントをダブルクリックしてその内容を確認すると共に、重複したコンポーネントが存在すると、エラーになったり、どのコンポーネントを使って計算したのかがわからなくなってしまう。
問題なければ、CalculiXccxToolsをダブルクリック、もしくは選択して、Solveツールバーのアイコン「ソルバー属性を変更し、選択したソルバーの為の計算の実行」をクリックしよう。
これまでと同様、タスク画面に切り替わるので、これを使って計算を実行する。本例は、もっとも基本的な例題なので、この画面もデフォルトの状態でそのまま使える。すなわち「Write .inp file」ボタンを押して、Wtite completed. のメッセージを確認できたら「Run CalculiX」ボタンを押すだけである。設定に間違いがなければ、1秒以内で計算は完了する。
結果の可視化
計算が正常に終了すれば、図5-4-9.解析モデルツリー、Analysis下の最下段に、CCX_Results というコンポーネントが出来ているはずである。これををダブルクリック、もしくは選択して、Resultsツールバーのアイコン「選択した結果データを表示、可視化」をクリックしよう。
やはりタスク画面に切り替わって、様々な可視化作業が可能になる。いくつか可視化サンプルを例示しておこう。
なお、図5-4-11,12において、最大値が表示されているので、この値を図5-4-1.で示した梁の理論式から得られる値と比較していただきたい。
なお、本例でメッシュの分割方案を変更するには、図5-4-4.において、Max element size を変更するのがもっとも手っ取り早いであろう。以下にこの値を変更した作成例を示しておく。
しかし実際の工学問題では、必要な箇所だけを細分化出来ないことには実用的とはいえない。次はもう少し複雑な形状モデル、具体的には3Dモデル作成法において作成演習した穴あき平板モデルを使って、このやり方を説明しよう。
まずは、これまでと同様に、デフォルトパラメタでメッシュ作成してみよう。図5-4-15.のようになるはずだ。
このメッシュでは、引張や圧縮時に穴の周囲に加わる応力集中を正しく計算できそうにない事は明らかであろう。
穴の周辺だけをメッシュ細分化したい場合には、本メッシュに対して更にサブメッシュを作成する事ができる。具体的には、FRMMeshGmshを選択した状態で、Meshツールバーのアイコン「FEMメッシュ領域を作成」をクリックする。
コンボビューがタスク画面に切り替わって、局所的な領域指定が可能になる。①「追加」ボタンを押して、3D画面上で、細分化したい箇所(この場合は円孔部)を②選択、③細分化サイズを指定したら④「OK」ボタンを押して設定完了。コンボビューのモデル画面に戻って、MeshRegionがサブメッシュとして追加される。
そこで改めて、その親にあたるFEMMeshGmshを選択、ダブルクリックしてそのまま②「Apply」ボタンを押してやれば良い(図5-4-17.)。
今回のメッシュ作成には少々時間がかかるが、所望のメッシュが作成できる事を確認できよう。また、下記の条件にて弾性応力計算した結果も示しておく。
5-4-2. 熱伝導解析
熱伝導解析も、ほとんど同じやり方で解析が可能である。ここでもまずは、理論解との比較が容易な簡単な例題を使って手順を説明する。
熱伝導に関する工学的に有用な理論として、放熱フィン理論がある(図5-4-18.)。
フィンの根本から(x)の距離における温度(T)と、フィンの根本温度(Tw)、周囲温度(Ta)の関係式を、フィンの寸法(L, W, t)とフィンの熱伝導率(k)、フィン〜流体間の熱伝達率(h)を使った関数で計算できるというものである。
まずは形状モデルを作成する(図5-4-19.)。
熱伝導解析の手順も応力解析の手順とほとんど変わりはない。具体的には、
- 解析ケースの設定
- メッシュ作成
- 材料特性の設定
- 拘束(境界・初期温度)条件
- 解析の実行
- 結果の可視化
であり、第4項で使用するツールが異なるだけであるので、第3項までは、弾性応力解析で実施したのと全く同じ方法で実施出来ているとして、第4項以降についてのみ説明する。
拘束条件
拘束条件を設定するには、Thermal Constraintsツールバーを使用する。
まずは、フィンの根本部分の温度固定である。
弾性応力解析の境界条件をした方法とは、使用するアイコンと、タスク画面のメニューが異なるだけで、基本的な手順は同じである。放熱条件についても同様(図5-4-21.)である。
但し、こちらは選択面がたくさんある点と、フィン先端部分の取扱をどうするかは要注意である。というのは、図5-4-18.で説明したフィン理論の式は、フィン先端からの熱伝導が無視できる場合に成り立つ式であるからである。
したがって、あくまで理論式との比較をしたいのであれば、フィン先端を対象に加えてはいけない事になり、理論式との比較でなく、実際の温度分布を見たいのであれば、先端も加えるべきとなろう。図5-4-18.は後者の観点で選択してあり、以降のステップもこれを用いている。
拘束条件として初期温度の設定も必要である(図5-4-22.)。
ここで実施する熱伝導解析は、定常解析なので、初期温度の値はどんな値でもよい。そういう意味で、設定そのものを不要としても良さそうだが、この設定をしておかないと、次のステップでエラーになる。
解析の実行
解析実行の方法も、弾性応力解析の場合と同様である。デフォルトでAnalysis type が「Thermo mechanical」になっているはずで、順番にボタンを押していくだけである。
結果の可視化
可視化例を以下に示しておく。
先に記したように、本例ではフィン先端からも放熱させているので、理論解との比較にはなっていない。放熱させない場合と比較するなり、メッシュの細分化レベルを変えるなりで、結果がどう変わるのか、ご確認いただきたい。
なお、弾性応力解析で応用例を見たように、熱伝導解析についても応用例を紹介したい所であるが、実用上、熱伝導解析だけを目的に解析を実施することは稀で、通常は熱伝導解析の結果をもとに熱応力解析をすることが主眼である場合が多い。つまり次項の熱応力解析の中で熱伝導解析を併せて実施するので、応用例は次項での説明とさせて頂く。
5-4-3. 熱応力解析
熱応力解析は、熱ひずみに起因する(弾性)応力場を計算するもので、これまで説明した、熱伝導解析と弾性応力解析の連成解析である。
連成解析だからといってユーザーは連成のステップを意識する必要はない。手順もこれまでと同様ほとんど変わりはない。具体的には、
- 解析ケースの設定
- メッシュ作成
- 材料特性の設定
- 拘束(境界・初期温度・体積力)条件
- 解析の実行
- 結果の可視化
であり、第4項で使用するツールがこれまで説明した2つのツールの両方を使うというだけである。
具体的な応用事例としては以下の2点紹介しておく。
- 穴あき平板
- 簡易ヒートシンクモデル
前者は、弾性応力解析で実施したものと同じ形状・メッシュを使って、静的な外力による応力と、熱応力との違いを対比できることを狙いにしたもの。後者は、異なる材質で構成される構造体の解析事例で、この場合材料の熱膨張率の違いに起因する熱歪が発生する。この種の問題は工学や設計での重要な課題となるので、その種の問題に対する適用可能性を判断する為の材料にもなるかと考え紹介しておくことにした。
穴あき平板
穴あき平板モデルは、図5-4-17.で作成したメッシュに引き続いて、図5-4-25.に示す境界条件を付与。
上記の条件にて計算した結果の可視化例を図5-4-26.に示しておいた。
図5-4-17.から引き続いての弾性応力計算結果(図5-4-19.)と比較していただきたい。本例で設定した計算条件は、弾性応力計算結果と応力状態がおよそ同じになる事を狙って設定したものであった。
これは温度そのものや、静応力といった概念に対しては、理系の人間であれば、それらの値が工学的にどの程度に問題のある・ないを理解できるであろうと思われるが、熱応力という概念はあまり問題にされ難い。かような比較によって問題の程度を実感できるようになるんではないかと思われるので例題とした。
簡易半導体パッケージモデル
簡易半導体パッケージモデルについては、モデルの説明と、メッシュの作成法に工夫が必要なので、これらについても説明しておこう。
ひとくちに半導体パッケージといっても様々な構造がある。図5-4-28.は、Tech Village という情報サイト(http://www.kumikomi.net/archives/2005/07/11packag.php?page=9)より転載させていただいた代表的な構造模式図である。モールド樹脂とプリント基板間の接着状態は、チップのオン・オフ(発熱の有無)によって過酷な熱疲労サイクルにさらされる事になり、接着状態を維持できなくなると、水分の侵入などにより重大な問題を引き起こす事になる。したがって、新しいパッケージ構造を考える際には、実際の物つくりをする前にこの種の熱応力状態を解析して事前評価するのは、今や当たり前の技術と云って良いと思われる。
またその際に、個々のパーツを正確に再現した詳細モデルで計算するのではなく、まずは現象を模式化できる簡単なモデルから始めるというのも常套手段である。そこで、右側に示すように、熱物性値の異なる2つのパーツから構成され、界面で発熱する問題として解析を実施する事にする。
まずはモデル作成である(図5-4-31.)。
Partワークベンチで、①「立方体ソリッド作成」を使って、②2つのブロックを作成するまでは問題ないであろう。重要なのは、この2つのブロックを③まとめて選択して、「Boolean/交差するオブジェクトを切断」ツールバー中の、④「ブーリアン演算フラグメント」を使って、⑤BooleanFragments を作成する点である。
メッシュ作成の方法は、これまで通りの方法で、とりあえずデフォルトパラメタで作成しておけば良い。
材料物性は、2つのブロックで材質が異なるので、当然個別に定義する必要の有る点と、本例でFreeCADのデータベース中、適切な材料が無かった為、パラメタをマニュアルで設定する必要があった点であり、以下に手順を説明する(図5-4-32,33.)。なお物性値の具体的な値は、伝熱解析材料物性研究室において公開されているデータを使わせて頂いた。
Modelツールバーの①アイコン「Creates a FEM Material for Solid」をクリックして、タスク画面での操作になる訳だが、先に実施した方法(図5-4-5.)で適切な材料データベースが存在しない場合は、Editing material 以下を直接編集する。②use this task panel にチェックすると、以下の物性値欄を直接編集できるようになるので、別途用意した参考データを③転記する。この際、単位を間違えないようにすることが肝要である。
また、先の方法(図5-4-5.)では、タスク画面下部の「ジオメトリー参照セレクター」は使わなかったが、ここではこれを使って、適用対象を区別する。具体的には、選択モードを④「ソリッド」とし、⑤「追加」ボタンを押してから、3D画面上マウス操作で、対象としたいソリッド上にあるFace(複数あるがどれでも良い)を選択すると、選択したソリッドが、
BooleanFragments:Solid1(または2)
としてリストアップされる。問題なければ、⑦「OK」ボタンを押して完了である。
拘束条件は基本的に、BooleanFragmentsに対して設定する事になるが、界面での発熱条件は、BooleanFragmentsを対象としたのでは、設定(発熱面を特定)できない。
ここは発熱面を特定できるブロックだけを表示状態にして、②界面を選択する(図5-4-44.)。
以下、BooleanFragmentsに対する拘束条件を図示しておく。
またここでも、本来は不要であるが、初期温度の設定も必要である。
最後に、以上の設定での計算結果例を以下に図示しておく。
5-4-4. 固有値解析
ここまで順を追ってチュートリアル演習した人は既にお気づきと思うが、計算の実行画面(図5-4-10.)において、Frequencyを選択すれば、固有値解析が実行可能である。
但し、拘束条件としては、完全拘束、もしくは変位型の拘束条件のみが有効で、その他の拘束条件はあっても無視されるだけであるので、これまでのチュートリアル演習で作成したモデルを使って、確認してみると良い。穴あき平板で実施した例を下記に示す。
静的応力解析に比べると、3倍程度に計算時間が長くなっているが、全10パターンの振動モードと固有値が計算されている。結果の可視化図は、変形図に応力コンタ図を重ね合わせ表示したものである。デフォルトの可視化方法では変形図がやや過剰表現になってしまっているのは否めないが、意味があるのは、変形量や応力の絶対値ではなく、あくまで相対的な値である点は留意されたい。
なお、実際の仕事の現場で固有値解析を実施する際の解析対象としては、自動車のボディーとか、容器のケース外板等、薄板である場合が多い。これまで見てきた構造解析例は全て3次元の四面体(テトラ)要素によるメッシュ分割を実施してきた。薄板に対しても同じ方法でメッシュ作成出来なくはないが、メッシュ数が多くなりすぎたり、少なくしようとするとメッシュ品質が悪くなるので、2次元のシェル要素を使うのが一般的である。
インターネットで検索すると、平板を対象とした計算事例も多く見られる。ここでは、CAE技術者のための情報サイトの事例(http://jikosoft.com/cae/vibration_ana03.html)を追試してみる事にする。
まずは形状作成である。いくらでも作り方は考えられるが、ここでは、
Sketcherワークベンチで線分を作成、Partワークベンチで押し出し加工を実施した(図5-4-49.)。
以下、FEMワークベンチにて、これまでと同様、解析コンテナ作成、メッシュ作成(デフォルトでそのままOK)、材料設定(CalculiX-Steelを選択)。拘束条件としては、下端部エッジを固定拘束として設定。
但し、これだけでから「write .inp file」 のボタンを押すと、
となって何かが足りない。体積が無いということである。シェル要素に対しては板厚を規定する必要があるが、これまでのステップでは未実施であった。
Modelツールバーの中に、「FEMシェルの板厚を作成」があるので、これをクリックして、板厚を設定(= 1.2 mm)する。
再度、計算をやり直せば、今度はすんなり計算できるはずである。結果を参考事例で公開されている値と比べると、
振動モード、固有周波数ともに、概ね一致する結果が得られている。固有振動数は最大で5%程度の乖離はあるが、メッシュ分割の方法に起因するものと考えている(節点数はほぼ同じだが、本例では三角形分割であるのに対し参考事例では四角形分割)。
注記1
3D画面上で、マウスを動かすと、マウスカーソルの位置に応じて、表示パーツの色がベージュ色に変化する。選択したい面がベージュ色になったら、マウスの左ボタンを押して選択を確定する(選択面が薄緑色に変わる)。
但し、上記の説明はマウスのナビゲーションモードがデフォルトの場合で、その他(特にOpenInventor)の場合は異なるので注意が必要である。