
材料堆積は, 溶接や積層造形などの特定の製造プロセスに不可欠な要素です. このような製造プロセスをシミュレートするとします. シミュレーション中に直面する課題は, 材料をゼロの応力状態で導入する方法で堆積することです. ここでは, COMSOL Multiphysics® ソフトウェアの アクティベーション 機能と, それが材料堆積のシミュレーションをどのように容易にするかについて説明します.
材料をアクティブ化または非アクティブ化する理由
溶融状態から固化する構造材料をシミュレートしたいとします. あるいは, 材料が最初は固体で, その後溶ける場合です. これは, アーク溶接, 選択的レーザー溶融, 選択的レーザー焼結などの製造プロセスをシミュレートする場合に当てはまります. 最後の 2 つは一般的な積層造形方法です.
材料のアクティベーションは, 積層造形プロセスをシミュレートするときに役立ちます. 3D プリンターの画像は Jonathan Juursema 氏による自身の作品です. Wikimedia Commons 経由でCC BY-SA 3.0 のライセンスを受けています.
アクティベーション ノードを使用すると, シミュレーション中に簡単な方法で材料をアクティブ化または非アクティブ化できます. なお, アクティベーション ノードは, COMSOL Multiphysics® のバージョン 5.4 以降, アドオンの構造力学モジュールおよび MEMS モジュールで使用できます.
材料のアクティベーション: 素朴なアプローチ
構造的に材料が存在しないことをエミュレートする 1 つの方法は, 単にその弾性剛性を無視できるレベルまで下げることです. この方法では, 構造的に弱い材料を“感じ”ることなく, 構造の残りの部分が自由に変形できます. これは, 実際に材料を活性化する必要がない限り, 実行可能な方法です.
シミュレーション中のある時点で, 単に剛性を公称レベルに戻すことで弱い材料をアクティブ化しようとすると, 問題が発生します. 剛性が回復すると, アクティブ化された材料に存在するひずみが突然応力を生じます. ほとんどの場合, これは材料をアクティブ化するときに望ましい効果ではありません. 代わりに, 材料は応力がゼロの状態でアクティブ化される必要があります. これはより物理的であり, 通常は材料が堆積または固化していることをエミュレートしたいからです.
応力ゼロ状態での材料のアクティベーション
アクティベーション ノードは, 上記の人工的に生成された応力の問題を回避します. このノードは, 前述のように非アクティブな材料の剛性を軽減しますが, 重要な点として, アクティブ化の瞬間に存在する弾性歪みも除去します. 簡単に言えば, 材料は応力がゼロの状態でアクティブ化されます.
アクティベーション ノードは, 下の図に示すように 線形弾性材料 ノードの下にあり, 固体力学 および メンブレイン インターフェースで使用できます.
アクティベーション機能とその 設定 ウィンドウ.
設定ウィンドウのアクティベーション パネルには2つの設定があります:
- アクティベーション式
- アクティベーションスケール係数
アクティベーション式設定は, 定義する論理式です. これは, 材料がアクティブかどうかを判断するために使用され, メッシュ要素の積分点ごとに定義されます. たとえば, T<T_s
というアクティベーション式は, 式が論理的に 真(温度 T が凝固温度 T_s より低い場合) に材料がアクティブであり, それ以外の場合は非アクティブであることを示します.
アクティベーションスケール係数 設定は, 材料が存在しないことをエミュレートするために弾性剛性を乗算する係数を定義します. デフォルト値は 10-5 ですが, 必要に応じて変更できます. ただし, 値が低すぎると, 剛性行列の状態が悪くなる可能性があります.
アクティブ/非アクティブ状態を表すために2つの組み込み変数が用意されています:
isactive
wasactive
変数 isactive
は, 材料の現在のアクティブ/非アクティブ状態を示します. 一方, 変数 wasactive
は, シミュレーション中の以前の時点で材料がアクティブであったかどうかを示します. タグ solid
を持つ 固体力学 インターフェースの場合, 材料の現在の状態を表す変数は solid.isactive
と呼ばれます. wasactive
変数は, 以下に示すように, 状況によっては活性化式の定式化を簡略化するために使用できます.
注: 材料が複数のアクティブ化/非アクティブ化イベントを経験する場合, 弾性ひずみは活性化の瞬間ごとに除去されます. つまり, 材料は, 過去のアクティブ化や非アクティブ化などの履歴に関係なく, 常に応力ゼロの状態で活性化されます. 塑性ひずみなどの非弾性ひずみは除去されません.
アクティベーション ノードの使用方法の例をいくつか見てみましょう.
例 1: 点アクティベーション
簡単な 2D の例として, 時間 t が進むにつれて, 材料を y 方向に徐々にアクティベーション化するとします. 想像上の“アクティブ化前線”は速度 vel で移動し, したがって, アクティブな材料の領域は Y<vel\times t で与えられます. これは, 次の図に示すように, 活性化式として入力されます.
各点ごとの材料アクティブ化のためのアクティベーション式.
これを説明するために, 下の図のように 4 つの積分点 (ガウス点) を持つソリッド四辺形要素を考えてみましょう. 上記のアクティベーション式では, アクティベーション式を評価することで各積分点が個別にアクティブ化されます. つまり, 実際には, 1 つのメッシュ要素が複数の積分点を持つ場合, そのメッシュ要素が部分的にアクティブになることがあります.
メッシュ要素内の個々の積分点のアクティブ化.
例 2: 要素アクティベーション
ここで, 個々の積分点ではなく, メッシュ要素全体をアクティブ化する場合を考えてみましょう. そのためには, 各メッシュ要素のすべての積分点に対して同じように評価されるように, アクティベーション式を記述する必要があります. これは, 重心 演算子を使用して行うことができます. 前の例で使用したアクティベーション式は, 次の図に示すように変更されています. 座標 Y はメッシュ要素の重心で評価されるようになりました. つまり, アクティベーション式はメッシュ要素のすべての積分点に対して同じ値に評価されることになります.
要素ごとの材料アクティベーションのためのアクティベーション式.
下の図のメッシュ要素内では, 要素の重心に対してアクティベーション式が満たされているため, 4 つの積分点すべてがアクティブになっています.
重心演算子を使用してメッシュ要素内のすべての積分点をアクティブ化します.
例 3: アクティベーションの前の状態を使用する
フィラー材料が時間の経過とともに溶融され堆積される レーザークラッディングプロセスをシミュレートするとします. この状況では, レーザービームの現在の位置によって, 材料が現在堆積されている場所が定義されます. 以前にアクティブ化された材料の領域は, プロセスの開始からのレーザービームの軌道全体によって定義されます. (レーザービームの動きをモデル化する方法の詳細については, この 移動荷重と制約のモデル化に関するブログをお読みください. ) 変数 wasactive
を使用すると, この軌道を数学的に記述する必要がなくなります. この状況のアクティベーション式を図式的に次のように表すことができます:
(レーザービームの現在の位置を記述する論理式) || solid.wasactive
これは, “レーザー ビームの現在の位置を表す論理式”が真の場合, またはシミュレーション中に以前の任意の時点 (またはパラメーターステップ) で材料がアクティブであった場合に, 材料がアクティブであることを示します. wasactive
変数を使用せずにアクティベーション式を使用すると, レーザー ビームが通過すると材料は非アクティブになり, 意図した動作と異なる可能性があります.
結果の可視化
時間の経過とともに材料が堆積する時間依存のプロセスをシミュレートしたとします. ドメインのアクティブな部分のみの結果を表示すると興味深い場合があります. これは, 次の図に示すように, 変数 isactive
を フィルター ノードの 包含する論理式 として使用することで実行できます. 選択した実行タイプによっては, isactive
フィルタリングが, メッシュ要素の積分ポイントで定義された基礎となる isactive
変数と比較して若干異なる場合があることに注意してください.
フィルタノードを使用してドメインのアクティブな部分のみを表示する.
アクティベーションノードのまとめ
このブログでは, シミュレーション中に材料をアクティブ化するために アクティベーション ノードを使用するさまざまな方法について説明しました. アクティベーション ノードを使用すると, 溶接や積層造形などのさまざまな製造プロセスのシミュレーションで材料の堆積を簡単にシミュレートできます. アクティベーション ノードを使用するモデルを調べる場合は, 下のボタンをクリックして, アプリケーションギャラリの“層状プレートの熱初期応力”の例を参照してください.
コメント (0)