作成した3Dモデルの強度を確認したい!構造解析の使い方を知りたい!解析結果について妥当性があるか知りたい!と思っていませんか?
構造解析はFEMワークベンチの機能を使えばできるようになります。
しかし、解析をしても結果の分析をして、妥当性があることまで確認しておかないと、折角の解析結果が役に立たなくなってしまいます。
私もそのポイントを知るまでは、解析ソフトの使い方を知っていても、役に立たない結果を出していました。
そこでこの記事は、FEMワークベンチの使い方と、解析結果の分析の仕方について、筆者が自分の力で調べてできるようになったことを整理したので、参考にしてください。
この記事でわかること。
FEMワークベンチの使い方
- 材料の設定
- 拘束の設定
- 荷重の設定
- メッシュの作成
- 解析の実行と結果の表示
解析結果の分析の仕方
- 変位と応力の理論値と解析結果を比較
- ミーゼス応力のコンター図を分析
- メッシュの細かさと特異点の影響を比較
FEMワークベンチの使い方を習得したい方は、是非ともこの記事を読んであなたの「ものづくり」に役立ててください。
構造解析とは
コンピューターのシミュレーションによる性能予測(CAE)には、構造解析や流体解析など、いくつかの種類があります。
この中で構造解析は外力による構造体の応力や変位等を、FEM(Finite Element Method=有限要素法)と言う解析手法を用いて計算します。
FreeCADにはFEMワークベンチがインストール済みのため、ワークベンチを切替えれば構造解析を行うことができます。
構造解析を利用することで、製品の試作や試験の回数を少なくして、開発期間の短縮や開発コストの削減ができるようになります。
構造解析の流れ
- 3Dモデルを用意
- 解析のコンテナを作成
- 材料の設定
- 拘束の設定
- 荷重の設定
- メッシュの作成
- 解析の実行と解析結果の表示
- 解析結果の分析
3Dモデルを用意
この記事では片持ち梁の先端に500[N]の力が加わったときの、たわみと応力について解析することにします。
片持ち梁とは一端を固定して、他端を自由にした梁のことです。
梁の仕様は縦20mm、横12mm、梁の長さ200mmの鋼材です。
上記の寸法で3Dモデルを用意したら、名前を付けて保存します。
ここでは「FEM」としました。
モデリングの仕方がよくわからない!という方は、モデリングの仕方をこちらの記事にまとめているので参考にしてください。


解析のコンテナを作成
ワークベンチをFEMに切替えます。
ツールバーの「標準ソルバーのCalculiXを使用して解析のコンテナを作成」アイコンをクリックすると、コンボビューのモデルタブに「Analysis」と、その直下に「SolverCcxTools」が追加されます。
更に解析の条件を設定するコマンドが選択可能になります。

材料の設定
ツールバーの「Create a FEM material for solid(ソリッドのFEM材料を作成)」アイコンをクリックすると、コンボビューに「FEM material」が表示されます。
「Material card」のプルダウンメニューをクリックすると、たくさんの材料が登録されていますが、規格がJISでないため、馴染みのない項目が並んでいます。
材料に関するJISと関連外国規格との比較表で確認したところ、イギリスの規格が登録されているようでした。
ここでは「Steel-C10(JIS規格のS10C)」を選択して「ok」をクリックします。
ヤング率は210GPa、ポアソン比は0.3、密度は7,800kg/m^3です。
ヤング率とは、弾性域における応力とひずみの比例関係を表す物性値のことで、材料によって決まっています。縦弾性係数とも呼ばれます。
ヤング率が大きいほど硬くて伸びにくく、ヤング率が小さいほど軟らかくて伸びやすくなります。
ポアソン比とは、物体がある方向に伸びると、その方向に垂直な方向は縮むという関係のことです。
力を加えた方向のひずみを縦ひずみ、垂直方向のひずみを横ひずみと呼び、「横ひずみ÷縦ひずみ」でポアソン比を求めれます。
ポアソン比の値が大きな材料は伸びやすい材料となります。
密度とは、物質の単位体積当たりの質量のことをいいます。
言い換えると1立方メートルの体積の中に含まれる物質の割合のことです。
重力の影響を加える場合は必要になります。
材料を設定した後でも、コンボビューに追加された「MaterialSolid」をダブルクリックすれば、FEM materialを編集できます。

なお、金属材料はMaterial cardから選べば良いのですが、樹脂材料はメーカー毎に物性値が異なるため、材料メーカーより入手しましょう。
- 解析に必要な物性値は、ヤング率とポアソン比です。
- 解析の結果を判断するために必要な物性値は、引張強さです。
ポアソン比の値が無い場合、樹脂は0.35前後なので、0.35を入力しておきます。
入手方法の1つとして、メーカーのホームページに物性表として値を開示していることが多いので、確認してみてください。
ヤング率の登録の仕方は下記の通りです。
「Material card」のプルダウンメニューをクリックして、「None」を選択します。
Noneを選べば、ヤング率以外の意図しない値が解析の計算に反映されなくて済みます。
次に、「use FreeCAD material editor」をクリックすると、「Material editor」ウインドウが表示されます。
そこから「Youngs Modulus」の隣にある「0MPa」をダブルクリックして、ヤング率を入力します。
入力前に0MPaと記載されているので、単位はMPaかと思ってしまいますが、編集時にはPaになっているので、単位に気を付けましょう。
入力が完了したら「ok」をクリックします。

拘束の設定
ツールバーの「Creates a FEM constraint for a fixed geometric entity(ジオメトリエンティティに固定するFEM拘束を作成)」アイコンをクリックすると、コンボビューに「FEM拘束パラメーター」が表示されます。
まず、3Dビューに表示されている3Dモデルの固定したい面を選択します。
FEM拘束パラメーターの「Add」をクリックすると、固定面が追加されるので「ok」をクリックします。
拘束を設定した後でも、コンボビューに追加された「ConstraintFixed」をダブルクリックすれば、FEM拘束パラメーターを編集できます。

荷重の設定
ツールバーの「Creates a FEM constraint for a force acting on a geometric entity(ジオメトリエンティティに作用する力のFEM拘束を作成)」アイコンをクリックすると、コンボビューに「FEM拘束パラメーター」が表示されます。
ここでは、拘束の設定で行った固定面の反対側の端のエッジを選択します。
FEM拘束パラメーターの「Add」をクリックすると、荷重を加えるエッジが追加されます。
荷重は「500」を入力します。単位について記載がありませんが[N]です。
3Dモデルを見ると荷重を加えるエッジに、上向きの矢印が表示されています。
これは上向きの荷重を意味するので、下向きに変更していきます。

3Dモデルの鉛直方向のエッジを選択して、FEM拘束パラメーターの「方向」をクリックすると矢印の向きが下向きに変わります。
もし、向きが変わらない場合は「逆方向」のチェックボックスにチェックを入れます。
荷重の方向が意図した通りにできたら「ok」をクリックします。
荷重を設定した後でも、コンボビューに追加された「ConstraintForce」をダブルクリックすれば、FEM拘束パラメーターを編集できます。

メッシュの作成
3Dビューに表示されている3Dモデルの面あるいは、コンボビューの「Pad」を選択すると、メッシュを作成するアイコンが選択できるようになります。
メッシュとは、解析で計算をするために、解析対象物を単純な形状の要素に分割したもののことです。
メッシュを細かくすると解析精度が向上しますが、細かくし過ぎると計算時間も長くなってしまいます。
ツールバーの「Create a FEM mesh from a solid or face shape by Netgen internal mesher(Netgenメッシャーを使用して、ソリッドまたは面の形状からFEMメッシュを作成します)」アイコンをクリックすると、コンボビューに「テトラパラメーター」が表示されます。

「最大サイズ」の項目のみ1000.00→10.00に変更して、「OK」をクリックします。
2次精度とは、四面体の2次要素のことです。2次要素のチェックを外すと1次要素で計算することになります。
物体に曲げ応力が発生する場合、1次要素は細かいメッシュでも誤差が生じるのに対し、2次要素は粗いメッシュでも計算精度が高くなります。よって、基本的に2次要素にチェックを入れておきます。
細かさとは、解析モデルに細かい形状があれば、メッシュの粗さを設定内容に変更できます。
最適化とは、メッシュの最適化のことのため、チェックを入れておきます。
メッシュを作った後でも、コンボビューに追加された「FEMMeshNetgen」をダブルクリックすれば、テトラパラメーターを編集できます。

注:メッシュを作成すると3Dモデルが非表示になり、メッシュのみの表示となります。
つまり、解析のコンテナを作成して最初にメッシュの作成を行うと、拘束や荷重を設定するときのエッジや面の選択時に3Dモデルを表示させる手間が発生してしまいます。
よって、メッシュは設定の最後に作成することをおすすめします。
これで設定は完了です。
解析の実行と解析結果の表示
コンボビューの「SolverCcxTools」を選択します。
すると、ツールバーの「選択したソルバーの計算を実行」アイコンが選択できる状態になるので、クリックして計算を実行させます。
コンボビューに追加された「CCX_Results」をダブルクリックすると、コンボビューに「結果表示」が表示されます。

解析結果より得られるのは、変位と応力です。
- 変位は使用する材料の変形量がわかるので、周辺部品への干渉などを確認できます。
- 応力は使用する材料に加わる力がわかるので、その材料に必要な強度を確認できます。
変位
Z軸方向の荷重を加えたときの「たわみ量」を確認する場合、「Displacement Z」(Z変位)にチェックを入れます。
すると、最小に「-0.79mm」、最大に「0.00mm」と表示されるので、この値を読み取ります。
これは上向きをプラス、下向きをマイナスで表しているためで、下向きのたわみ量は絶対値をとって0.79mmとなります。
隣の3Dビューのメッシュは、緑から青(マイナスの値は青色)のグラデーションで色分け表示(コンター図)されています。
青に近づくほど、たわみ量が増えていきます。
なお、たわみ具合を可視化したい場合は、「結果表示」の表示の左側のチェックボックスにチェックを入れて、スライダーを矢印の方向へ移動させます。
すると、実際よりも大きな倍率のたわみ具合を確認できるので、固定拘束や荷重を加えた向きの確認にも使えます。

ミーゼス応力
応力を確認する場合、ほとんどの金属は延性材料のため「von Mises Stress 」(フォンミーゼス応力)にチェックを入れます。
応力とは、外力によって物体内に生じる単位面積あたりの力のことです。
すると、最大に「126.29MPa」と表示されるので、この値を読み取ります。
この値が引張強さより低ければ破断しません。(実際には安全率を考慮して引張強さの何分の1以下にします)
隣の3Dビューのメッシュは、緑から赤(プラスの値は赤色)のグラデーションで色分け表示(コンター図)されています。
赤に近づくほど、応力が増えていきます。
ここでは、たわみ具合を可視化して、どの位置の応力が高いのか確認しておきます。

主応力
ガラスやセラミックス、コンクリートなどの脆性材料を使う場合、「Max Principal Stress」(最大主応力)、または「Min Principal Stress」(最小主応力)にチェックを入れます。
最小と最大に表示される、プラスの値は引張応力、マイナスの値は圧縮応力を意味します。
- 引張応力のみの場合は「Max Principal Stress」
- 圧縮応力のみの場合は「Min Principal Stress」
にチェックを入れます。
梁の応力分布では引張と圧縮があるため、下図のようになります。
結果の確認ができたら、「閉じる」をクリックして結果表示を閉じます。

拡張機能の解析結果を表示
コンボビューの「CCX_Results」を選択します。
次に、ツールバーの「Creates a post processing pipeline from a result object(結果オブジェクトからパイプライン処理を作成します)」アイコンをクリックすると、コンボビューに「ResultPipeline」が追加されます。
「ResultPipeline」をダブルクリックすると、コンボビューに「Result display options」が表示されます。
Modeを「Surface with Edges」にします。
Z軸方向の荷重を加えたときの「たわみ量」を確認する場合、Fieldに「Displacement」(変位)、Vectorに「Z」を選択します。
隣の3Dビューに、コンター図とカラーバーが表示されます。

画面右上のナビゲーションキューブがカラーバーの数値と重なっていることと、背景色と数値の明暗の差が少なく見辛いので、設定を変更します。
ツールバーの編集をクリックして、設定ウインドウを表示させます。
「表示」→「ナビゲーション」タブ→ナビゲーションキューブのコーナーのプルダウンメニューをここでは「左下」に変更します。
「表示」→「色」タブ→背景色を「単色」に変更します。(初期設定で背景色は白色を指定しています)


応力を確認する場合、「von Mises Stress」(フォンミーゼス応力)にチェックを入れます。
カラーバーに表示されている応力分布の範囲を変更したい場合は、カラーバーをダブルクリックします。
すると、「色グラデーションの設定」ウインドウが表示されるので、最大最小の数値を変更します。
応力分布の最大値を小さくした場合、例として、赤色に近いオレンジ色の部分が赤色で表示されるようになります。

解析結果の分析
ここまでで、FEMワークベンチの基本的な使い方を解説してきましたが、解析は結果の分析をして、妥当性があることを確認するまでが解析です。
この記事では、解析モデルと解析条件を単純なものにしているので、材料力学の公式に当てはめて、変位と応力の理論値を計算できます。
そこで、計算で得られる理論値と解析結果を比較して、どの様なことが分かるか考察していきます。
変位の理論値と解析結果を比較
変位の計算は下記の公式を使います。

まず、断面二次モーメントを計算します。計算結果は8000[mm^4]です。
断面二次モーメントとは、材料の曲げにくさを表す値のことで、断面形状を変えると変化します。値が大きくなるほど曲げにくい断面形状となります。
次に断面二次モーメントの値を、最大たわみの公式に代入します。
理論値の計算結果は0.794mmとなり、解析結果の0.79mmとほぼ一致しました。
たわみの公式より、ヤング率(材質に依存)と断面二次モーメント(断面形状に依存)は、値が大きくなるほど梁の強度が高くなります。
さらに、メッシュの細かさによる影響は下図の通りとなり、変位は一定の値を示しました。

以上のことから、解析結果のたわみ量は理論値と一致しやすく、メッシュの細かさに影響されにくいです。
実務で複雑な形状の解析を行う場合、断面二次モーメントの計算は困難となるため、理論値との比較ができません。
そのため、解析結果の変位量で判断することになります。
応力の理論値と解析結果を比較
続いて、応力の計算は下記の公式を使います。

まず、断面係数を計算します。計算結果は800[mm^3]です。
断面係数とは、断面二次モーメントと同じく、材料の曲げにくさを表す値のことで、たわみの計算には断面二次モーメントを使用しますが、応力の計算には断面係数を使用します。
次に断面係数の値を、最大曲げ応力の公式に代入します。
理論値の計算結果は125MPaとなり、解析結果の126.29MPaとほぼ一致しました。
さらに、メッシュの細かさによる影響は下図の通りとなり、応力はメッシュを細かくしていくと増大することがわかります。

本来、メッシュを細かくしていくと解析精度が向上して、応力は収束しますが、異常があると上昇し続けます。
このため、次にコンター図の分析をします。
ミーゼス応力のコンター図を分析
コンター図の赤く染まった箇所の中に最大応力が発生するので、そこに特異点の有無を確認する必要があります。
特異点とは、メッシュを細かくすればするほど、応力が増大して収束しない点のことです。最大応力となることが多く、本来の応力を反映していないため、そのまま許容応力と比較してはいけません。
特異点は集中荷重が加わる点や辺、隅部、固定拘束部の近傍に発生しやすいため、メッシュ数を変えて複数回の解析を行い、特異点かどうかを判断します。
集中荷重が加わる点や辺
メッシュの最大サイズを10から2まで、小さくしていったときの解析結果を比較します。
荷重を加えた梁の先端は赤く染まっていき、最大応力も増大していくため、特異点と判断できます。

ここでは3Dモデルの面を、先端から1mmのところで分割して、その面に荷重を加えます。



辺に加えていた荷重を面に変更することで、先端の特異点を除去できます。

隅部
Rの無い隅部に応力集中している場合、3Dモデルを修正してR付けをします。
この解析モデルには隅部が無いため、割愛します。
固定拘束部の近傍
再度メッシュの最大サイズを10から2まで、小さくしていきます。
今度は固定拘束した梁の根元が赤く染まったまま、最大応力が増大していくため、これも特異点と判断できます。
ここでは拡張機能の解析結果に、フィルターを追加して分析します。
フィルターの内容は、2点を指定して作成される直線の範囲において、値を取得してグラフ表示するものです。
まず、コンボビューに「ResultPipeline」が追加されている状態で、これをダブルクリックして「Result display options」のModeが「Outline」になっていることを確認しておきます。
ツールバーの「Define/create a clip filter which clips a field along a line(ラインに沿ってフィールドをクリップするクリップフィルターを定義/作成します)」アイコンをクリックすると、コンボビューに「Data along a line options」が表示されます。

直線の範囲を決める2点は、原点(X、Y、Z)=(0、0、0)を基準に座標で指定します。
原点の場所が分からない場合は、「Data along a line options」を一旦終了させて、ツールバーの「表示」→「座標軸の表示を切り替え」をクリックして表示させておきます。
Point1とPoint2の右側の説明の無い3つの入力欄に、左から順にX、Y、Zの座標の値を入力します。
ここではPoint1(0、0、20)とPoint2(200、0、20)としました。
Pointの座標を入力したら、「適用」をクリックして測定範囲を決定させます。
すると、3Dビューに測定範囲を示す直線が作成されます。
次に、Modeに「Surface」、Fieldに「von Mises Stress」を選択したら「Create Plot」をクリックして、グラフを表示させます。

これで、メッシュの最大サイズ2のときの、左端の上のグラフを作成できました。
この他に確認しておきたい測定箇所は、左端の下と中央の上下の3ヶ所なので、同様に作成します。
右端については、応力は梁の断面形状の中央に対して左右対称に作用するため不要です。
なお、ソフトのバグがあるようで、Pointの座標を変更して「適用」をクリックしてもグラフに反映されません。
その場合は「von Mises Stress → Displacement → von Mises Stress」のように、Fieldの項目を切替えると反映されます。

最大応力を予測するための知識として、片持ち梁の応力は梁の先端から根元に向かって徐々に高くなり、梁の根元で最大応力となります。
この条件に一致しているグラフは①左上と②中央上なので、特異点を除いた「2点を通る直線の方程式」から、梁の根元の応力を算出します。
まず、特異点を除いた2点の求め方は、カーソルをグラフのマス目の上に置くと、その位置におけるXとYの座標が表示されるので、グラフをZoomで拡大して読取ります。
2点を読取ったら、手計算で最大応力を算出します。
根元の最大応力は124.6MPaとなり、理論値の125MPaとほぼ一致しました。(①左上と②中央上は同じ結果になりました)

このように、ソフトでは特異点を判別できないため、ユーザーが判断して対応する必要があります。
この「Data along a line options」は、解析条件の変更をした後でも、コンボビューの「ResultPipeline」の直下に「DataAlongLine」が追加されているので、これをダブルクリックすれば、「Data along a line options」を編集できます。

補足事項
条件や仮定を間違えていないか
解析はユーザーが入力した条件に対して、結果を出力しているだけのため、条件や仮定を間違えると結果が役に立たなくなります。
条件や仮定を決めるためには、実使用を把握して原理原則や経験などから解析結果のイメージが重要です。
解析の上手な使い方
解析は近似を使って計算しているため、理論値に対して誤差が発生します。
さらに、現実に近い細かい条件を設定したとしても、解析と現物の結果を一致させるのは難しく時間が掛かります。
これに対して、相対比較(変更前と変更後の形状を比較)であれば比較的短時間で済ますことができます。
相対比較を上手く使って品質を向上させていきましょう。
解析のトライ&エラー
解析結果が自分の仮定通りにならない場合は、解析の条件を見直したり、3Dモデルの形状を修正して解析を繰返します。
解析結果に納得できれば終了です。
あとは、解析結果と現実の試験の傾向が一致していることを確認します。
まとめ|FreeCAD FEM|構造解析と結果の分析方法を初心者向けに解説
この記事では、片持ち梁の単純な形状を用いて、FEMワークベンチの使い方と、解析結果の分析の仕方について解説してきました。
実務で複雑な形状を扱う場合も今回と同様に、下記の内容を押さえておきましょう。
変位について
- たわみ量は理論値と一致しやすく、メッシュの細かさに影響されにくい。
- 理論値を計算で求めるのは困難なため、解析結果の変位量で判断する。
応力について
- 特異点がある場合、メッシュを細かくすればするほど、応力が増大して収束しない。
- 特異点は集中荷重が加わる点や辺、隅部、固定拘束部の近傍に発生しやすい。
FEMを習得したら
FEMを習得したら、下記の記事より学びたい内容の記事に進んでください。