Skip to content

Commit

Permalink
Update JSON Schema and docs for new configuration file options
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastiangrimberg committed Aug 23, 2023
1 parent 6cab7a5 commit 2e0a356
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
16 changes: 12 additions & 4 deletions docs/src/config/solver.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ directory specified by [`config["Problem"]["Output"]`]
"MGCycleIts": <int>,
"MGSmoothIts": <int>,
"MGSmoothOrder": <int>,
"PCMatReal": <bool>,
"PCMatShifted": <bool>,
"PCSide": <string>,
"DivFreeTol": <float>,
Expand Down Expand Up @@ -394,13 +395,17 @@ multigrid preconditioners (when `"UseMultigrid"` is `true` or `"Type"` is `"AMS"
`"MGSmoothIts" [1]` : Number of pre- and post-smooth iterations used for multigrid
preconditioners (when `"UseMultigrid"` is `true` or `"Type"` is `"AMS"` or `"BoomerAMG"`).

`"MGSmoothOrder" [3]` : Order of polynomial smoothing for geometric multigrid
`"MGSmoothOrder" [4]` : Order of polynomial smoothing for geometric multigrid
preconditioning (when `"UseMultigrid"` is `true`).

`"PCMatReal" [false]` : When set to `true`, constructs the preconditioner for frequency
domain problems using a real-valued approximation of the system matrix. This is always
performed for the coarsest multigrid level regardless of the setting of `"PCMatReal"`.

`"PCMatShifted" [false]` : When set to `true`, constructs the preconditioner for frequency
domain problems using a real SPD approximation of the system matrix, which can help
performance at high frequencies (relative to the lowest nonzero eigenfrequencies of the
model).
domain problems using a positive definite approximation of the system matrix by flipping
the sign for the mass matrix contribution, which can help performance at high frequencies
(relative to the lowest nonzero eigenfrequencies of the model).

`"PCSide" ["Default"]` : Side for preconditioning. Not all options are available for all
iterative solver choices, and the default choice depends on the iterative solver used.
Expand All @@ -427,6 +432,9 @@ vectors in Krylov subspace methods or other parts of the code.
- `"InitialGuess" [true]`
- `"MGLegacyTransfer" [false]`
- `"MGAuxiliarySmoother" [true]`
- `"MGSmoothEigScaleMax" [1.0]`
- `"MGSmoothEigScaleMin" [0.0]`
- `"MGSmoothChebyshev4th" [true]`
- `"PCLowOrderRefined" [false]`
- `"ColumnOrdering" ["Default"]` : `"METIS"`, `"ParMETIS"`,`"Scotch"`, `"PTScotch"`,
`"Default"`
Expand Down
6 changes: 5 additions & 1 deletion scripts/schema/config/solver.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,12 @@
"MGCycleIts": { "type": "integer", "exclusiveMinimum": 0 },
"MGSmoothIts": { "type": "integer", "exclusiveMinimum": 0 },
"MGSmoothOrder": { "type": "integer", "exclusiveMinimum": 0 },
"PCLowOrderRefined": { "type": "boolean" },
"MGSmoothEigScaleMax": { "type": "number", "exclusiveMinimum": 0 },
"MGSmoothEigScaleMin": { "type": "number", "minimum": 0 },
"MGSmoothChebyshev4th": { "type": "boolean" },
"PCMatReal": { "type": "boolean" },
"PCMatShifted": { "type": "boolean" },
"PCLowOrderRefined": { "type": "boolean" },
"PCSide": { "type": "string" },
"ColumnOrdering": { "type": "string" },
"STRUMPACKCompressionType": { "type": "string" },
Expand Down

0 comments on commit 2e0a356

Please sign in to comment.