線形ソルバー:高度なオプション
本項では、上級ユーザーを対象に、ソルバーパラメータの機能について説明します。ソルバーのタイプだけでなく、使用するソルバーを手動で選択しようとする上級ユーザーは、
を選択してソルバーのユーザーモードを変更したうえで、Fluxをいったん閉じ、再度開いてその変更を適用する必要があります。このアドバンストモードでは、他のモードよりもはるかに多くのオプションがソルバーオプションのボックスに表示されます。例として線形ソルバーのリストを以下に示します。並列ソルバーおよび分散ソルバーでは、並列コンピューティングをご参照ください。
を選択すると全体規模で計算パラメータを設定できます。MumpsやPETScでは、これらのパラメータを使用して一部のデフォルトのオプションを設定します。詳細については、以下では、各ソルバーパラメータについて詳しく説明します。
ICCGおよびIJCG
ICCGとIJCGは、解析に共役勾配法を使用し、前処理にLDLT不完全コレスキー分解を使用する反復ソルバーです。Steady State ACでは、ICCGおよびIJCGは解析に共役勾配法を使用し、前処理にLDU不完全分解を使用します。
オプション
パラメータ | 説明 |
---|---|
共役勾配法の精度 |
反復プロセスを停止するうえで達成する必要がある相対精度 デフォルト値:1.0e-6 |
共役勾配法の 最大反復回数 |
反復プロセスを停止するまでに実行する計算の最大反復回数。この反復回数を設定するために、次の2つのオプションを使用できます:
デフォルト値:A = 1、B = 1とした1次関数。問題にある方程式の数を表します。 |
LDU前処理に対するトレランス | 前処理の精度 デフォルト値:1.0e-7 |
収束の進展に関するメッセージの出力 | 反復プロセスの詳細レベルを示すフラグ。解析中に反復プロセスの進展状況を出力するには“Yes”に設定します。 デフォルト値:“No” |
PETSc
オプション
現在のバージョンで使用可能なオプションはありません。
GMRes
GMResは反復ソルバーです。このソルバーでは、解析に再起動型一般化最小残差法を使用し、前処理にILUTによる不完全分解を使用します。
オプション
パラメータ | 説明 |
---|---|
GMResの精度 |
反復プロセスを停止するうえで達成する必要がある相対精度 デフォルト値:1.0e-6 |
GMResの最大反復回数 |
反復プロセスを停止するまでに実行する計算の最大反復回数。この反復回数を設定するために、次の2つのオプションを使用できます:
デフォルト値:A = 1、B = 1とした1次関数。問題にある方程式の数を表します。 |
ILUT前処理に対するトレランス |
前処理の精度 デフォルト値:1.0e-6 |
ILUT前処理の充足レベルに対する係数 |
ILUT前処理の充足係数。 デフォルト値:6.0 |
クリロフ空間の次元 |
クリロフ空間を構築するために保存するベクトルの数。 デフォルト値:120 |
収束の進展に関するメッセージの出力 |
反復プロセスの詳細レベルを示すフラグ。解析中に反復プロセスの進展状況を出力するには“Yes”に設定します。 デフォルト値:“No” |
BiCGStab
BiCGStabは反復ソルバーであり、解析に安定化双共役勾配法を使用し、前処理にLDLT不完全コレスキー分解を使用します。Steady State ACでは、BiCGStabは前処理に不完全LDU分解を使用します。
オプション
パラメータ | 説明 |
---|---|
BiCGStabの精度 |
反復プロセスを停止するうえで達成する必要がある相対精度 デフォルト値:1.0e-6 |
BiCGStabの最大反復回数 |
反復プロセスを停止するまでに実行する計算の最大反復回数。この反復回数を設定するために、次の2つのオプションを使用できます:
デフォルト値:A = 1、B = 1とした1次関数。問題にある方程式の数を表します。 |
LDU前処理に対するトレランス |
前処理の精度 デフォルト値:1.0e-7 |
収束の進展に関するメッセージの出力 |
反復プロセスの詳細レベルを示すフラグ。解析中に反復プロセスの進展状況を出力するには“Yes”に設定します。 デフォルト値:“No” |
SuperLU
SuperLUは、ガウス消去法アルゴリズムを使用する直接解法です。
オプション
パラメータ | 説明 |
---|---|
列の再配置アルゴリズム |
行列の列をどのように並べ替えてスパース性を保持するかを指定します。列の並べ替え方法は次のとおりです:
デフォルト値:“Automatically specified reordering method” |
部分行ピボット選択 |
行ピボット選択を設定します。次の2つの選択肢があります:
デフォルト値:0.0 |
反復改良 |
反復改良を実行するかどうかを指定し、実行する場合は残差を計算するための精度を指定します。 デフォルト値:“Without” |
対称モード |
対称モードを使用するかどうかを指定します。対称モードでは、対角線ピボットを優先して、(AT + A)ベースの列置換アルゴリズムを使用します。 デフォルト値:“Without” |
pivot growthの計算 |
reciprocal pivot growthを計算するかどうかを指定します。 デフォルト値:“Without” |
条件数の計算 |
条件数の逆数を計算するかどうかを指定します。 デフォルト値:“Without” |
Mumps
Mumpsは、マルチフロンタル法に基づく直接ソルバーです。
Mumps(局所処理)は単一プロセスですが、マルチスレッドソルバーです。プロセスは1つのみですが、スレッド数はFlux Supervisorで選択したコア数による固定値です。
Mumps(分散処理)はマルチプロセスでマルチスレッドのソルバーです。プロセス数とスレッド数は、Flux Supervisorで定義します。詳細については並列コンピューティングをご参照ください。
オプション
パラメータ | 説明 |
---|---|
詳細レベル |
解析プロセスを実行するときに詳細レベルを設定します。取得する情報のレベルを指定する次の4つのオプションが用意されています:
デフォルト値:“1- Only errors messages” |
ディスクのメモリの使用 |
ディスク使用量に関するオプションを設定します。次の4つのオプションがあります:
デフォルト値:“No” |
並べ替え方法 |
使用する並べ替え方法を設定します。次の5つの方法を使用できます:
デフォルト値:“Automatic – Choice in Mumps” |
メモリ制限(RAM) |
メモリ使用量に対する制限を設定します。Mumpsで使用できるメモリ量を制限できます(MB単位)。 デフォルト値:無制限 |
MPIのオプション |
MUMPS(分散処理)専用。MPIオプションを定義するために設定します。MPIによる計算を有効にするには、スレッド数でMPIの数を指定します。 デフォルト値:“No" |