線形ソルバー:標準オプション

線形ソルバーに関する一般的な情報

n個の方程式とn個の未知数で構成する線形系は、次の行列形式で記述できます。

AX=B

ここで:

  • Aは大きさがn x nの正方行列です(n個の行とn個の列)。
  • Xは大きさがnの列ベクトルで、系の未知数を表しています。
  • Bは大きさがnの列ベクトルで、既知の成分を記述しています。

解(ベクトルX)を見出すには、線形ソルバーを使用する必要があります。ソルバーは直接ソルバーと反復ソルバーの2種類に分類できます。

直接ソルバーは、きわめて正確な解が得られるプロセスを実行しますが、一方で演算時間が長くなり、メモリ使用量も増加します。

反復ソルバーは、反復ごとに解に近付く反復プロセスを実行します。通常、このプロセスでは、反復のたびに線形系の実際の解に近い解が得られます。このプロセスには停止条件があります。この条件は、近似解としての精度しきい値と最大反復回数によって指定します。したがって、反復ソルバーでは、事前定義の誤差しきい値を許可することにより、直接ソルバーよりも短時間で解が得られます。

使用するソルバー

Altair Fluxで使用する線形ソルバーを変更するには、Solving > Solving process options > Edit を選択します(下図参照)。



次の図のようなウィンドウが新たに表示されます。

次の3つの線形ソルバーから選択できます:

  • 自動ソルバー
  • 直接ソルバー
  • 反復ソルバー

前項で簡単に説明したように、直接ソルバーはメモリを大量に消費することが知られています。したがって、大規模な問題(多数の未知数がある問題)を解析するには、反復ソルバーよりも大量のメモリ(RAM)が必要です。一方、所定のメモリ量で十分に処理できる小規模な問題であれば、直接ソルバーを使用することで、最良の結果が容易に、また確実に得られます。さらに、目的の精度しきい値に達するために必要な反復回数の予測はきわめて困難なので、直接ソルバーを使用すると、解析手順に要する時間を短縮できることがあります。また、直接ソルバーは並列処理で実行されるので、使用可能なすべてのプロセッサを活用できます。一方、反復ソルバーは逐次処理(使用するスレッドは1つのみ)で実行されます。自動ソルバーは、このような二者択一の困難に対処します。次の表に概要を示します。

  精度 メモリ使用量 処理時間 並列処理
直接ソルバー +++ --- ++ あり
反復ソルバー + - + なし

自動ソルバーは、アプリケーションのタイプと未知数の数に基づいて、直接ソルバーと反復ソルバーのどちらを使用するかを判断します。その概要を以下の表に示します。

次元 2D 3D
適用分野 任意 その他 Magneto static Integral method Steady state AC
節点の数 任意 < 500,000 > 500,000 任意 任意
ソルバー 直接ソルバー 直接ソルバー 反復ソルバー 反復ソルバー 直接ソルバー

計算リソースを考慮してソルバーを手動で選択する場合は、次のガイドラインに従うことをお勧めします:

  • HPC(高性能コンピューティング)ハードウェアまたは大量のRAMを搭載したコンピューターの場合は、拡張性と並列処理能力があることから直接ソルバーが最適な選択になります。
  • RAMの搭載量が少ないコンピューターの場合は、メモリ消費量が少ないことから反復ソルバーの使用をお勧めします。
  • 2D問題では未知数の数が比較的少ないので、解析時間の点から直接ソルバーの方が優れた結果が得られます。

線形ソルバーのパラメータの調整 - 標準モード

本項では、上級ユーザーを対象に、ソルバーパラメータの機能について説明します。あらゆるユーザーが利用できるソルバーオプションについて見ていきます。標準モードでは、次の図のように、ソルバーオプションが簡素化されています。



ここに用意されている直接ソルバーオプションでは、解析でRAMのほかにディスクを使用するかどうかを指定できます。このオプションは、使用できるメモリ量を拡張できるので効果的です。ただし、ディスクを通じたI/O処理の計算は著しく低速であることから、ディスクを使用すると処理が遅くなります。

右側の図には、反復ソルバーの3つのオプションとして、精度レベル(しきい値)、最大反復回数、およびプロセスの詳細レベルが表示されています。精度レベルをHigh、Medium、Lowから選択できます。このパラメータのレベルは、主に結果の品質要件に基づいて選択します。たとえば、事前の設計シミュレーションでは低レベルの精度を使用することが考えられます。このレベルが低いほど解析時間が短くなります。Maximal number of iterations欄は、解析時間を制限するためのわかりやすい設定です。ただし、最大反復回数を少なくすると、解の精度が著しく低下することがある点に注意が必要です。

これらのオプションは、デフォルトの直接ソルバーと反復ソルバーに適用できる一般的なオプションです。ソルバーのタイプだけでなく、使用するソルバーを手動で選択しようとする上級ユーザーは、ユーザーモードを変更する必要があります。高度なオプションの詳細については、線形ソルバー: 高度なオプションのページをご参照ください。