チュートリアルでは、アルミニウムパイプの曲げ加工の非線形構造解析を、ひとつひとつ手順を追いながら実施していきます。このシミュレーションでは、材料の塑性変形、物理的接触、大変形などの非線形現象を考慮して、加工中にパイプに生じる変形と応力分布を解析することを目的とします。
図1: アルミニウムパイプの変形形状とフォンミーゼス応力のコンター表示
このチュートリアルでは、次のことを学びます。
- 非線形静的シミュレーションのセットアップと実行
- 境界条件、材料、その他の解析条件の設定
- SimScaleの標準メッシングアルゴリズムによるメッシュ分割
- SimScaleオンラインポストプロセッサーによる結果の分析
以下の標準的なSimScaleのワークフローに従います。
- シミュレーションのためのCADモデルを準備
- シミュレーションをセットアップ
- メッシュを設定し、シミュレーションを実行
- 結果を分析
1. CADモデルの準備と解析タイプの選択
まず、下のリンクをクリックしてプロジェクトをインポートします。アルミパイプの形状を含むチュートリアルプロジェクトが自分のワークベンチにコピーされます。
図2:インポート後の画面表示。インポートされたアルミパイプ、ローラー、ストッパーのCADモデルが表示されます。
| Tips: 自分で用意したCADモデルを使う場合 |
|
すべてのソリッド形状は、干渉や交差するサーフェス、小さなエッジがないようにする必要があります。これらの問題は、ジオメトリをSimScaleプラットフォームに取り込む前にCADで修正する必要があります。より具体的な準備の詳細については、こちらをご覧ください。 解析条件のセットアップを開始する前に、以下のことを確認してください。
|
1.1. シミュレーションの作成
ジオメトリツリーで、今回使用するジオメトリが選択されていることを確認し。Create Simulationボタンを押してください。すると、解析タイプのリストが表示されます。
図3:新規シミュレーションの作成画面。
解析タイプの中から、Staticを選択し、Create Simulationをクリックして決定します。
図4: SimScaleで利用可能な解析タイプの一覧。このチュートリアルでは静的解析を選択します。
新たにシミュレーションを作成するにあたって、シミュレーションのグローバル設定パネルが表示されるので、Nonlinear analysisのトグルをオンにしてください。これによって、非線形の解析が有効になります。
図5: 非線形解析を有効にする
静的非線形解析では、以下のような現象を考慮できます。
- 非弾性材料(このチュートリアルの場合は塑性変形)
- 荷重が変動する
- 変位や回転が大きい
解析では、慣性の影響は考慮されません。この点で、慣性力を考慮する動的解析とは異なります。
2. 解析条件の設定
このチュートリアルでは、油圧式の曲げ加工機でアルミニウムパイプを加工するプロセスをシミュレーションで再現し、部品に生じる機械的応力とひずみを解析します。
次の図は、モデルの各部分とプロセスを示しています。固定された大きなローラーと、小さなローラーに挟まれたパイプを、小さなローラーを大きなローラー周りに動かすことで、大きなローラーに沿って曲げていきます。
図6: モデルの各部分とシミュレーション中の動作を示す図。
このプロセスを解析するために、以下ように解析条件を設定していきます。。
- パイプを塑性変形させるために、パイプにElasto-plastic(弾塑性)材料を適用します。
- パイプとローラーの接触面積は、シミュレーションの期間中に変化します。さらに、接触力が変形プロセスにとって重要であるため、この接触をPhysical contactとして設定します。
- パイプの端部がストッパーに固定されるように、パイプとストッパーの間はBonded contactとします。
- 図6に示すように、小さい回転ローラが大きな固定ローラの周囲を回るように移動することでパイプを曲げます。この動作を表現するために、Rotating motionを使用します。
- 形状も境界条件も対称性があるので、パイプの半分だけをモデル化し、Symmetry条件を使用します。これにより、計算に用いるリソースを半分に削減できます。
それでは、シミュレーションツリーの設定項目を上から順番に設定していきます。
2.1. Contacts(接触条件)の設定
2種類の接触条件を設定します。
- Bonded contact:パイプの端部とストッパーの接触部について設定します。これがデフォルトの接触条件で、設定した面は固着(ボンド)されます。
- Physical contact:パイプと固定ローラ、回転ローラの間に設定します。これにより、部品の接触がお互いに影響を及ぼし、接触反力が計算されます。
Bonded contactでは二つの部品が結合された状態となり、現実では起こりえない理想的な接触状態ですが、計算を簡略化して負荷を下げるのに有効です。Physical contactでは、より現実的な接触状態を表現できます。接触を含む解析では、部品や現象に応じて接触条件を使い分けます。
2.1.1. Bonded contacts
デフォルトで、ジオメトリ内の接触面が自動的に検出され、Bonded contactが割り当てられます。このチュートリアルのモデルでは、すべての接点が線接触なので自動検出は失敗していまい、次のメッセージが表示されます。
図7: 自動接点検出の失敗メッセージ。このチュートリアルでは無視してもかまいません。
このチュートリアルでは警告を無視して、OKをクリックします。
このモデルでは、パイプとストッパーの間にBonded contactが必要なので、手動で設定することにします。
- シミュレーションツリーでContactsの横にある+ボタンをクリックする
- Manual ContactのBondedを選択します
- 設定ダイアログで、Position toleranceをOffにします
- 下図のように、面をMaster assignmentとSlave assignmentにします
図8: パイプとストッパーの接触面にBonded contactを設定します。これにより、パイプの端部が固定されます。
2.1.2. Physical contacts
次に、Physical contactの設定に進みます。Physical contactは、シミュレーションプロセス中にパーツの表面が滑ったり、接触したり、離れたりすることで表面間に力の伝達が生じる際に使用されます。今回のモデルでは、パイプとローラーが該当します。摩擦効果も含められますが、今回は必要ありません。以下の手順に従って、Physical contactの設定を作成します。
- Physical contactの横の+ボタンをクリックする
- Penalty coefficientを1e+12とする
- 下図のようにMasterとSlaveの面を割り当てる
図9: パイプと二つのローラーの接触面をPhysical contactとする設定画面。
| Note |
| 自分でシミュレーションを実施するときに、どの面をmasterとしてどの面をslaveとするのがよいか分からない場合は、このナレッジベース記事(英語)が参考になります。 |
2.2. ModelとElement Technologyの設定
これらの設定項目は、デフォルトのままとします。
2.3. Materials(材料)の設定
このシミュレーションでは、2種類の材料を部品に割り当てます。
- Steel:ローラとストッパーに割り当てます。変形部品ではないので、Linear elastic(線形弾性体)とします。
- Aluminium:パイプの材料です。大きく変形するため、Elasto-plastic(弾塑性体)とします。
新たに材料を定義するには、Materialsの横の+ボタンをクリックします。材料ライブラリが表示されますので、下図のように所望の材料をリストから選択し、Applyをクリックしてください。まずは Steel を選択します。
図10: 材料ライブラリからSteelを選択
まず、Steelについて設定します。値はデフォルトのまま使用します。AssignmentににはStopper、Small roller、Large rollerを画面右のシーンツリーから選択し割り当てます。
図11: Steelの設定画面。材料物性値を変更することもできます。
パイプについては、先ほどのSteelと同様の手順でAluminiumを作成します。材料を定義していないパーツがPipeのみなので、Pipeが自動的にAssignmentに登録されます。
次の図は、材料の応力-ひずみ曲線を示しており、このような挙動は弾塑性挙動として知られています。(後ほど、材料物性として入力に使います。)材料の弾性挙動では変形が生じても元の形状に戻ろうとします。一方、材料を弾塑性特性に変更すると、弾性範囲を超えた変形は元に戻らず、変形したままとなります。
図12: アルミニウムの応力-ひずみプロット。パイプの変形を計算する際に、ソルバーにはこのグラフに従うように指示します。
このような非線形挙動をモデル化するために、Material behaviorをElasto-plasticに変更し、他のパラメータを図のように設定します。応力曲線σ<VM>のデータがないことを示すエラーメッセージが表示されますので、次のステップでその設定を行います。
図13: Aluminium材料の設定画面。Material behaviorをElasto-plasticにするとこのような表示になります。
ソルバーが変形を予測するためには、図12のアルミニウムの応力-ひずみ曲線が必要です。この曲線は表形式で入力します。次のリンクから、曲線データを含むスプレッドシートを開いてください。
スプレッドシートを開いたあと、「ファイル > ダウンロード > カンマ区切り形式」 からCSVファイルをダウンロードできます。
| 応力-ひずみ線図 |
|
CSVファイルでグラフにプロットしてみると、応力-ひずみ曲線が原点(0, 0)からではなく降伏点から始まっている、すなわち塑性変形の部分しか含まれていないことに気付くと思います。弾塑性材料の応力-ひずみ線図をアップロードするときは、このような事前の変換が必要になります。また、応力とひずみはそれぞれ、真応力と真ひずみとしてください。 Elasto-plasticについて詳しくはこちらのページをご確認ください。 |
図13で赤枠で囲っている、テーブル入力ボタンをクリックしてください。次のSpecify valueダイアログが表示されます。
図14: 塑性カーブを入力するための設定ダイアログ
Browse filesボタンをクリックして、先ほどダウンロードしたCSVファイルをアップロードします。ε-σの表が次の様に表示されるはずです。
図15: アップロードされた塑性カーブのテーブルデータ
表形式のデータをアップロードしたら、Applyボタン(図14参照)をクリックしてデータを保存し、材料設定ダイアログのチェックマークボタン(図13参照)をクリックして設定を保存します。これで、図13のエラーメッセージが消えているはずです。
2.4. Initial conditionsとBoundary conditionsの設定
今回のシミュレーションでは、初期条件はそのままで問題ありません。
これから境界条件を設定していきますが、その前に図7を見て、物理的な状況を把握してください。きっと、このセクションで行うことをより良く理解できるはずです。
境界条件を設定するために、シミュレーションツリーでBoundary conditionの横の+ボタンをクリックし、表示されるメニューから使用する境界条件のタイプを選択します。具体的な境界条件の種類はこれから説明していきます。
図14: 境界条件の作成。
2.4.1. RollerとStopperの固定 (Fixed value)
Fixed value境界条件を作成します。
デフォルトでは、Face selectionモードになります。ソリッドボディを選択するには、ワークベンチの右上にあるアイコンの中から、Select Volumeボタンをクリックして、Volume selectionモードに変更します。これで境界条件を、面ではなくボディに設定できます。
図17: ワークベンチの右上にこのようなアイコンが表示されているので、Select Volumeをクリックします。
図6に示すようにLarge rollerとStopperが完全に動かないように、Fixed value境界条件をそれらのボディに適用します。下図のように設定を行ってください。
図18: Fixed value境界条件の設定ダイアログ。シミュレーション内でLarge rollerとStopperが一切動かないように設定する。
2.4.2. Pipeの対称性 (Symmetry plane)
お気づきのように、ジオメトリモデルには、パイプとその他のボディの半分だけが含まれています。これによって、メッシュの数と計算コストを節約できます。Symmetry plane境界条件をパイプの平らな面に適用します。(他のボディは、他の境界条件設定で対称性が考慮されるように自由度が指定されるので、ここで含める必要はありません。)
上記で説明したようにSymmetry plane境界条件を作成し、図のようにパイプの対称面を割り当てます。
図19: パイプ断面が対象となるように境界条件を設定し、計算コストを削減する。
2.4.3. Rollerの回転 (Rotating motion)
小ローラの円運動を表現するために、Rotating motion境界条件を使用します。このモデルでは、Small rollerが原点からX軸周りに回転します。今後、他のモデルでこの設定を使用する場合は、CADで境界条件を適用したい座標軸や位置を事前に確認してください。
それでは、Rotating motionを作成し、Small rollerの上面に割り当ててください。パラメータを次のように設定します。
図20: Rotating motionの設定画面。Small rollerに適用する。
ボディの回転角度を指定するために、テーブル入力を使用します。シミュレーション時間内にゼロから最終値まで角度が変化し、ソルバーはその間の値を線形補間します。次の画像に、どのようなシミュレーションを実行しようとしているかをあらためて示します。
図21: 回転運動するローラの開始点と終着点。角度が0°から130°まで変化します。
正しい回転方向を得るためには、右手の法則と指定された回転軸の方向を考慮することが重要です。この場合、パイプの所望の曲げ角度を得るためには、ローラーを130°正方向に回転させる必要があります。
表1: Rotation angleの入力値
| 時間 [s] | 回転角度 [°] |
| 0 | 0 |
| 1 | 130 |
値を入力するためには、Rotating motionの設定画面でテーブル入力ボタンをクリックします(図20でオレンジの枠に囲まれています)。
材料の設定を行ったときと同様にSpecify valuesダイアログが表示されますが、今回はTableに直接入力します。Tableタブをクリックし、次のように値を入力してください。
図22: 回転角を設定するための設定画面。
Applyボタン(図22参照)をクリックし、チェックマークボタン(図20)をクリックして設定を保存します。
2.5. NumericsとSimulation Controlの設定
Numericsではソルバーの動作と精度を設定できます。このチュートリアルでは、Convergence criteria(収束判定基準)のみ変更します。デフォルトのRelativeでは、作用する荷重の大きさを用いて計算の収束を確認します。荷重ではなく強制的な変位を与える解析では、この設定は不適切ですので、図に示すように、Convergence criteriaをAbsoluteに変更します。
図23: Numericsの設定ダイアログ。Convergence criteriaをAbsoluteに変更します。
続いて、Simulation controlの設定では、シミュレーション時間、時間ステップ、時間適応、出力書き込み間隔を指定できます。Simulation controlの設定を以下のようにします。
- Simulation intervalはデフォルトのまま1 sとします。こうすると、シミュレーションする現象の時間は0~1 sになります。この時間間隔は、ローラの回転を表で定義したものと同じです。
- Maximum time step lengthを0.05 sとします。こうすることで、1 s のシミュレーション時間の間に20回積分ステップが設定されます。
- Maximum runtimeを10000 sとします。こうすることで、シミュレーションが終了する前に止まってしまうのを防ぎます。
図24: Simulation controlの設定画面。Maximum time step lengthを0.05 sに、Maximum runtimeを1e+4 s (10000 s)にします。
2.6. Result Controlの設定
Result controlでは、シミュレーションの結果としてどういった値を出力するか(例えば、変位・ひずみ・応力など)や、その特性(平均値や最大値など)を設定できます。デフォルトでいくつかの出力設定が用意されていますが、今回はさらに追加で設定していきます。
2.6.1. Solution fields
Solution fieldsでは、分布としての結果出力の設定を行えます。今回は、デフォルトで設定されていないフィールド出力を2つ設定します。
- Signed von Mises stress:歪みエネルギー理論に従って破壊を予測するために使用され、同時に引張(正の応力)と圧縮(負の応力)の領域を区別することを可能にします。
- Contact pressure:圧力分布の形で、接触を介して伝達される力を測定するために使用されます。
これらの設定を行うためには、
- Result controlを展開し、Solution fieldの横の+ボタンをクリックします。
- それぞれ出力内容に合ったタイプを選択します。
図25: 応力分布の結果を可視化するために、solution fieldを新たに作成します。
まず、Stressを選択し、Stress typeをSigned von Mises stressにします。
図26: 応力の種類をSigned von Misesに変更します。
続いて、Contactを選択し、デフォルト設定のまま保存します。
2.6.2. Volume calculation
Volume calculationでは、部品の解析値の分布から統計量を計算し、グラフとして出力できます。今回は、2つ設定します。
- パイプの応力が高い位置と低い位置を探すために、von Mises stressの最大値と最小値を出力します。
- パイプで極端に大きな圧縮応力と引張応力が生じている位置を探すために、signed von Mises stressの最大値と最小値を出力します。
Volume calculationの横の+ボタンをクリックし、統計量の種類を選択します。今回はMin-maxを選択します。次のように設定します。
- Field selectionをStressにします。
- Stress typeをVon Misesにします。
- Component selectionをVon Mises stressにします。
- AssignmentにはPipeを選択します。ビューア上でクリックすることで選択できます。
図29: Von Mises stressのVolume calculation設定。
同様に手順を繰り返して、Signed von Mises StressのMin-max出力を設定します。
図30: Signed von Mises stressのVolume calculation設定。
3. Mesh
標準的なメッシュ分割アルゴリズムを使用するため、AlgorithmはStandardを使用します。設定はデフォルトのままで構いません。
図31: 標準的なメッシュ分割の設定。
局所的な部位のメッシュサイズを調整するために、Mesh refinements(メッシュ細分化)機能を使用します。この機能は主に、計算コストを削減するために用いられます。モデル全体のメッシュを細分化するのではなく、重要な部位でのみメッシュを細かくすることで、全体のメッシュ数が多くなることを防げます。
まず、Surface custom sizingで細分化設定を行ってみます。
- Meshの階下にあるRefinementsの横のプラスボタンをクリックします。
- 設定の種類が表示されますので、Surface custom sizingをクリックします。
図32: メッシュ細分化の設定方法
Surface custom sizingを次の面に対して適用します。
- Larger rollerのPipeと接触する面
- Smaller rollerのPipeと接触する面
Default size を 4.6e-3 mとして、チェックマークボタンを押して設定を適用します。今設定した寸法は、パイプの厚さに対応しています。これによりメッシュのアスペクト比を良くできます。
図33a: Surface custom sizing refinementの設定画面。アルミパイプとの接触面を選択します。
次に、Volume custom sizing を Pipe に対して適用します。
こちらも同様にDefault size を 4.6e-3 mとして、チェックマークボタンを押して設定を適用します。
図33b: Volume custom sizing refinementの設定画面。パイプを選択します。
シミュレーションを開始する際にメッシュ分割も実施されるので、この時点ではまだメッシュ分割を実行する必要は必ずしもありません。なお、メッシュ分割されると、緑のチェックマークアイコンが表示され、メッシュは次のようになります。
図34: メッシュ分割されたモデル。
| 計算実施済みのプロジェクト |
| 解析条件の設定とシミュレーション計算がすでに実施済みのプロジェクトをこちらからご確認いただけます。 |
4. シミュレーションの実行
新たにシミュレーション計算を開始するには、シミュレーションツリーでSimulation Runsの横の+ボタンをクリックします。
図35: 新たにシミュレーションを実施する手順。
ダイアログが表示されるので、シミュレーションを開始できます。必要であれば名前も設定できます。約1時間で計算が終わり、結果を確認できるようになります。
なお、新たにSimulation runを作成しようとすると、荷重が設定されていないという旨のエラーメッセージが表示されますが、このチュートリアルでは変位を指定しているため、問題なく計算を実行できます。OKをクリックして警告を無視します。
図36: 本チュートリアルでは問題なくシミュレーションは終了するので、OKを押してメッセージを消してしまって構いません。
5. ポスト処理
シミュレーション計算が終わったら、解析結果のポスト処理を行います。下記の2つの内、いずれかからオンラインポストプロセッサにアクセスしてください。
- シミュレーションツリーで、終了したSimulation RunsのSolution Fieldsをクリックする。
- シミュレーションランのダイアログでPost-process resultsをクリックする。
図37: オンラインポスト処理画面へのアクセス手順
5.1. 変形の可視化
まずはColoringをVon Mises Stressとします。カラーバーを右クリックし、Use continuous scaleをクリックしてください。これにより、結果のカラーコンター表示が滑らかなものになります。
図38: カラーコンター表示をステップ表示から連続表示に切り替える手順。
パイプの変形や動きを可視化したい場合は、Displacementフィルタを新たに設定してください。
図39: 変形形状を可視化するには、Displacementフィルタを設定してください。
次のような表示になります。
図40: 曲げ加工後の変形の可視化結果。
パイプが固定ローラに沿って曲がっており、曲げ加工をうまく解析できたことが分かります。
5.2. 応力の可視化
今回は、私達が確認したいVon Mises応力がデフォルトで可視化されていますので、このまま結果の分析に移ります。結果を解釈しやすくするために、以下の手順でスケールの設定を変更します。
- 単位をMPaにします。
- カラーバーのスケールの最大値を194 MPaに変更します。
- パイプの内側が見えるように、モデルの表示を回転させます。
図41: 曲げ加工後のパイプのVon Mises応力の表示結果。
こうすることで、降伏応力を超える応力が生じたパイプの部分を赤色で表示できます。Hertzian contact stress (英語) といった値も同様に可視化できます。
5.3. アニメーション表示
曲げ加工中の様子をアニメーションで表示することもできます。アニメーション表示するには、Displacementフィルタを作成したときと同様に、Animationフィルタを作成します。
図42: 上部のバーからAnimationフィルタを新たに作成します。
今回は、デフォルトのパラメータで問題ありません。
図43: Animationの設定ダイアログ。
Animation controlsの再生ボタンをクリックすると、アニメーションが始まります。
5.4. 部品ごとの表示
曲がったパイプに生じた応力をより良く確認するために、パイプ以外のパーツを非表示にしていきます。次の手順を実施してください。
- パイプ以外のパーツを左クリックして選択します。
- 右クリックすると、コンテキストメニューが表示されます。
- Hide selectionをクリックします。
図44: 不要なパーツを非表示にする手順。
曲げ加工されたパイプの応力分布の詳細を、他の部品に邪魔されることなく確認できます。ローラー部との接触点に近い、パイプの外側部分でより高い応力レベルとなっていることが分かります。
図45: 曲げ加工後の、パイプ単独のVon Mises応力分布の表示。
各パラメーターがどのような働きをするか、どのような可視化が可能か、ぜひご自身で試してみてください。SimScaleのオンラインポストプロセッサーについてもっと知りたい方は、ポストプロセッシングガイドをご覧ください。
おめでとうございます!これにてチュートリアルは終了です。