データフィルタリングの使用によるモデルのパフォーマンスの向上

2021年 3月 17日

いくつかの実験データを荷重または境界条件として使用したい状況になったことはありますか? このデータが空間または時間によって変化し, ノイズが多い場合は, 非常に細かいメッシュが必要になるか, ソルバーに非常に短い時間ステップが必要になる可能性があります. 実際には, これは必要ないことがよくあります. 考えられる解決策の1つは, 入力データをフィルタリングしてスムーズにすることです. 詳細を調べましょう!

方程式ベースのモデリングによるノイズの多いデータのフィルタリング

次の図に示すように, いくつかのサンプル入力データを検討することから始めます. 今のところ, データが何を表しているのかは気にせず, 横軸が空間または時間を表すことができると想像してみましょう. データには, 明らかな傾向だけでなく, いくつかの重大なノイズがあることがわかります. モデルでこのデータを使用する前に, このノイズを減らしたいと思います.

顕著なノイズのある入力データのサンプルを示す, 3 つの顕著なピークと多数の小さな曲線を含む単純な折れ線グラフ.

重大なノイズのあるデータのサンプル

ここでできることは, いわゆるヘルムホルツフィルターを使用することです. このタイプのフィルターは最近提案され, トポロジ最適化の分野で非常に有用であることが証明されました. 実際, この機能は最適化モジュールの組み込み機能ですが, 手動で実装することもできます. これをここで行います.

ヘルムホルツフィルターは, 支配方程式である偏微分方程式を解くだけです.

\nabla \cdot \left( – R^2 \nabla u \right) + u = D

ここで, Dでは入力データであり, uはフィルタリングされたデータです.

この方程式には, Rフィルター半径と呼ばれるパラメーターが1つあります.

支配方程式とともに, 境界条件が必要です. 以下で説明する理由により, 均一なノイマン条件から始めます. これは, 境界での場の勾配がゼロであることを意味します. この境界条件とともにこの方程式を解くために, 1Dコンポーネント係数フォーム偏微分方程式インターフェースを介した方程式ベースのモデリングを使用します.

開始するには, 下のスクリーンショットに示すように, 実験データを補間テーブル機能に読み込みます. 外挿一定に設定されていることに注意してください. すぐにわかるように, ヘルムホルツフィルターの境界条件により, 対象範囲外の空間または時間のバッファー領域のデータが必要になります.

外挿法を設定するための補間設定を示すモデルビルダーツリーのスクリーンショットと, サンプルデータのグラフが表示された関数プロットウィンドウ.

実験データを読み込み, 外挿法を設定します.

次に, モデルに1Dコンポーネントを導入し, 単位系なしに設定しましょう.

次に, 以下のスクリーンショットに示すように,ジオメトリ間隔機能を作成します. 対象のデータ範囲の両側にある追加の領域に注意してください.

COMSOL Multiphysics の間隔設定ウィンドウのスクリーンショット. 間隔セクションが展開され, テーブルに座標のリストが表示されます.

フィルターが適用されるドメインを定義します.

次に, 以下のスクリーンショットに示すように, 単一の未知数に関して, 係数フォームPDEインターフェースをコンポーネントに導入します. 離散化はデフォルトのラグランジュ2次のままにします. 繰り返しますが, すべてを無次元に保ちましょう.

ドメイン選択, 単位, および依存変数セクションが展開された係数形式 PDE 機能の設定のスクリーンショット.

係数形式PDE機能の設定内で, 以下のように設定を定義します. 拡散係数はグローバルパラメーターFilterSizeの2乗に設定され, 吸収係数は1です. ソースは実験データであり, 他のすべての項はゼロに設定されています.

ゼロ流束のデフォルトの境界条件は, 望ましい均一ノイマン条件であり, フィルター処理されたデータセットの導関数を計算領域の終わりでゼロに固定します. これにより, フィルターに最終効果が導入されます. そのため, ジオメトリとデータに追加のパディング領域を導入しました.

あるいは, ディリクレ境界条件を使用することもできます. これにより, 境界でuの値が固定されます. また, メッシュサイズを実験データの解像度よりも小さくなるように手動で設定する必要があります.

拡散係数と吸収係数のセクションが展開された係数形式のPDE設定ウィンドウのスクリーンショット.

方程式ベースのモデリングを使用して, ヘルムホルツフィルター方程式を定義します.

モデルデータへのヘルムホルツフィルター方程式の適用

これで, フィルターサイズのさまざまな値を解いて, 結果を比較できます. 以下に示すように, フィルターサイズが非常に小さい場合はほとんど効果がありません. フィルターサイズが大きいほど平滑化が進み, フィルター半径が大きくなると, フィルタリングされたデータは元のデータの平均に近づきます.

ヘルムホルツフィルターのこの重要な特性を理解することが重要です. 均一なノイマン境界条件が使用されている限り, エネルギー保存できます. これは, 計算領域全体にわたる元のデータとフィルター処理されたデータの積分が同じになることを意味します.

これは, 両端にバッファーゾーンがないサブドメインでは正確に当てはまらないことに注意してください. ディリクレ境界条件はエネルギーを保存しないため, 注意して使用する必要があることに注意することも重要です.

フィルター処理されたデータの3つの例を示す折れ線グラフ. 青線は半径 0.01, 赤線は 1, 黒線は100 を示しています.

さまざまなフィルター半径でフィルター処理されたデータの例

データをフィルタリングしたので, モデルで使用しましょう. 2D軸対称材料の一時的な加熱を検討し,フィルタリングされたデータは, 露出した表面に加えられた熱負荷を表します. 熱モデルはモデル内の別のコンポーネントに含まれるため, 2D軸対称コンポーネント内で使用するために, データを1Dコンポーネントから時間次元に移動する方法を導入する必要があります. これは,一般押出し演算子を介して行われます. ここでは, tx式の行先マップを定義します. この機能は, 1Dコンポーネントからのデータを時間軸にマッピングまたは押し出し, モデル内のどこでも一般的に利用できるようにします.

ソース選択セクションにおける一般押出し演算子の設定ウィンドウのスクリーンショット.

一般的押出し演算子内の設定を示すスクリーンショット.

次のスクリーンショットに示すように, 2D軸対称コンポーネントの熱モデル内で, 熱源を適用できます. ここで, 熱負荷はcomp1.genext1(u)[W/m^2]です. uは無次元であるため, これに単位を追加することに注意してください.

境界選択, 材料タイプ, および熱流束セクションが展開された熱流束機能の設定のスクリーンショット.

コンポーネント2の熱モデルからコンポーネント1で定義されたフィルター処理されたデータを呼び出します.

2つのステップを含むように解析を変更できます. 最初のステップは, フィルタリング方程式を解く定常ステップであり, 2番目のステップは, 熱問題を解く時間依存ステップです. このナレッジベースのエントリーで説明されているように, 1e-4のより厳しい相対許容誤差でソルバーを実行し, ソルバーが実行したすべての時間ステップで結果を出力します.

余談ですが, データの大きさがノイズなしではっきりと急激に変化した場合は, 代わりにイベントインターフェースを使用してソルバーに通知する必要があることにも注意してください.

フィルター半径のさまざまな値を解き, ドメイン内のピーク温度を経時的にプロットすると,熱解に対するフィルターの効果を確認できます. この場合, 時間の経過に伴うピーク温度への影響はごくわずかであることがわかります.

入力データに適用されたデータフィルタリングを使用した熱モデルの結果をプロットする折れ線グラフ.

熱モデルの結果をプロットしたグラフ. 赤線はフィルター半径が大きく, 灰色の太線はフィルター半径が小さく, グラフのピークの一部が別のウィンドウに拡大されています.

過渡熱負荷に適用されたさまざまなフィルタリングで求解された熱モデルの結果

ここでの劇的な違いは, 求解時間にあります. フィルタリングなしのモデルの求解には, 合計で約700の適応時間ステップが必要ですが, 中程度のフィルターサイズでモデルの求解には,約130の時間ステップが必要であり, 求解時間が5倍以上向上します.

結論

ここでは, 追加のコンポーネントと方程式を使用して, モデルに入力するデータにヘルムホルツフィルターを実装する方法を示しました. これは, 1Dデータだけでなく, 2Dまたは3Dデータでも実行でき, このフィルターは任意の幾何学的形状および任意の密度の入力データに実装できます. 特に2Dおよび3Dでは, この方法は, 有限要素基底関数のローカルコンパクトサポートを利用し, 不均一な空間メッシュ離散化を可能にするため, 他のほとんどのフィルタリング手法よりも優れています. これにより, 非常に効率的に解くことができる線形疎行列が得られます.

赤と青のカラー テーブルの2つのプロットと2つのメッシュ画像(1つは粗く, 他の1つは細かい)を含む, データが空間フィルター処理された任意の表面の4つのビュー.

任意の表面でのヘルムホルツフィルターによる空間フィルタリング. フィルタリングされたデータは, より粗いメッシュで適切に表現できます.

2D平滑化の例は, 任意の表面上のフィルター処理されていない場とフィルター処理された場の上の画像で可視化されています. データをフィルタリングすると, このデータを使用するモデルを比較的粗いメッシュで解くことができ, 計算上の利点が追加されることに注意してください. このヘルムホルツフィルターを使用して, 入力データの変動によく適合するメッシュを設計することもできますが, それは別の日のトピックです.

お試しください

これらのアプローチに関連するファイルは, ここからダウンロードできます.

コメント (0)

コメントを残す
ログイン | 登録
Loading...
COMSOL ブログを探索