@@ -299,11 +299,16 @@ directory specified by [`config["Problem"]["Output"]`]
299
299
"Tol" : <float>,
300
300
"MaxIts" : <int>,
301
301
"MaxSize" : <int>,
302
- "UseGMG" : <bool>,
303
- "UsePCShifted" : <bool>,
302
+ "UsePCMatShifted" : <bool>,
303
+ "PCSide" : <string>,
304
+ "UseMultigrid" : <bool>,
305
+ "MGAuxiliarySmoother" : <bool>,
304
306
"MGCycleIts" : <int>,
305
307
"MGSmoothIts" : <int>,
306
- "MGSmoothOrder" : <int>
308
+ "MGSmoothOrder" : <int>,
309
+ "DivFreeTol" : <float>,
310
+ "DivFreeMaxIts" : <float>,
311
+ "GSOrthogonalization" : <string>
307
312
}
308
313
```
309
314
@@ -353,46 +358,66 @@ equations arising for each simulation type. The available options are:
353
358
definite (SPD) and the preconditioned conjugate gradient method (` "CG" ` ) is used as the
354
359
Krylov solver.
355
360
356
- ` "Tol" [1.0e-6] ` : Relative (preconditioned) residual convergence tolerance for the
357
- iterative linear solver.
361
+ ` "Tol" [1.0e-6] ` : Relative residual convergence tolerance for the iterative linear solver.
358
362
359
363
` "MaxIts" [100] ` : Maximum number of iterations for the iterative linear solver.
360
364
361
365
` "MaxSize" [0] ` : Maximum Krylov space size for the GMRES and FGMRES solvers. A value less
362
366
than 1 defaults to the value specified by ` "MaxIts" ` .
363
367
364
- ` "UseGMG" [true] ` : Enable or not [ geometric multigrid solver]
365
- (https://en.wikipedia.org/wiki/Multigrid_method ) which uses h- and p-multigrid coarsening as
366
- available to construct the multigrid hierarchy. The solver specified by ` "Type" ` is used on
367
- the coarsest level. A Hiptmair smoother is applied to all other levels.
368
-
369
- ` "UsePCShifted" [false] ` : When set to ` true ` , constructs the preconditioner for frequency
368
+ ` "UsePCMatShifted" [false] ` : When set to ` true ` , constructs the preconditioner for frequency
370
369
domain problems using a real SPD approximation of the system matrix, which can help
371
370
performance at high frequencies (relative to the lowest nonzero eigenfrequencies of the
372
371
model).
373
372
373
+ ` "PCSide" ["Default"] ` : Side for preconditioning. Not all options are available for all
374
+ iterative solver choices, and the default choice depends on the iterative solver used.
375
+
376
+ - ` "Left" `
377
+ - ` "Right" `
378
+ - ` "Default" `
379
+
380
+ ` "UseMultigrid" [true] ` : Chose whether to enable [ geometric multigrid preconditioning]
381
+ (https://en.wikipedia.org/wiki/Multigrid_method ) which uses p- and h-multigrid coarsening as
382
+ available to construct the multigrid hierarchy. The solver specified by ` "Type" ` is used on
383
+ the coarsest level. Relaxation on the fine levels is performed with Chebyshev smoothing.
384
+
385
+ ` "MGAuxiliarySmoother" ` : Activate hybrid smoothing from Hiptmair for multigrid levels when
386
+ ` "UseMultigrid" ` is ` true ` . For non-singular problems involving curl-curl operators, this
387
+ option is ` true ` by default.
388
+
374
389
` "MGCycleIts" [1] ` : Number of V-cycle iterations per preconditioner application for
375
- multigrid preconditioners (when ` "UseGMG " ` is ` true ` or ` "Type" ` is ` "AMS" ` or
390
+ multigrid preconditioners (when ` "UseMultigrid " ` is ` true ` or ` "Type" ` is ` "AMS" ` or
376
391
` "BoomerAMG" ` ).
377
392
378
393
` "MGSmoothIts" [1] ` : Number of pre- and post-smooth iterations used for multigrid
379
- preconditioners (when ` "UseGMG " ` is ` true ` or ` "Type" ` is ` "AMS" ` or ` "BoomerAMG" ` ).
394
+ preconditioners (when ` "UseMultigrid " ` is ` true ` or ` "Type" ` is ` "AMS" ` or ` "BoomerAMG" ` ).
380
395
381
396
` "MGSmoothOrder" [3] ` : Order of polynomial smoothing for geometric multigrid
382
- preconditioning (when ` "UseGMG" ` is ` true ` ).
397
+ preconditioning (when ` "UseMultigrid" ` is ` true ` ).
398
+
399
+ ` "DivFreeTol" [1.0e-12] ` : Relative tolerance for divergence-free cleaning used in the
400
+ eigenmode simulation type.
401
+
402
+ ` "DivFreeMaxIts" [100] ` : Maximum number of iterations for divergence-free cleaning use in
403
+ the eigenmode simulation type.
404
+
405
+ ` "GSOrthogonalization" ["MGS"] ` : Gram-Schmidt variant used to explicitly orthogonalize
406
+ vectors in Krylov subspace methods or other parts of the code.
407
+
408
+ - ` "MGS" ` : Modified Gram-Schmidt
409
+ - ` "CGS" ` : Classical Gram-Schmidt
410
+ - ` "CGS2" ` : Two-step classical Gram-Schmidt with reorthogonalization
383
411
384
412
### Advanced linear solver options
385
413
386
- - ` "Type" ` : ` "STRUMPACK-MP" `
387
- - ` "KSPType" ` : ` "MINRES" ` , ` "CGSYM" ` , ` "FCG" ` , ` "BCGS" ` , ` "BCGSL" ` , ` "FBCGS" ` , ` "QMRCGS" ` ,
388
- ` "TFQMR" `
389
- - ` "UseMGS" [false] `
390
- - ` "UseCGS2" [false] `
391
- - ` "UseKSPPiped" [false] `
392
- - ` "UseLOR" [false] `
393
- - ` "PrecondSide" ["Default"] ` : ` "Left" ` , ` "Right" ` , ` "Default" `
394
- - ` "Reordering" ["Default"] ` : ` "METIS" ` , ` "ParMETIS" ` , ` "Default" `
395
- - ` "STRUMPACKCompressionType" ["None"] ` : ` "None" ` , ` "BLR" ` , ` "HSS" ` , ` "HODLR" `
414
+ - ` "UseInitialGuess" [true] `
415
+ - ` "UsePartialAssembly" [false] `
416
+ - ` "UseLowOrderRefined" [false] `
417
+ - ` "Reordering" ["Default"] ` : ` "METIS" ` , ` "ParMETIS" ` ,` "Scotch" ` , ` "PTScotch" ` ,
418
+ ` "Default" `
419
+ - ` "STRUMPACKCompressionType" ["None"] ` : ` "None" ` , ` "BLR" ` , ` "HSS" ` , ` "HODLR" ` , ` "ZFP" ` ,
420
+ ` "BLR-HODLR" ` , ` "ZFP-BLR-HODLR" `
396
421
- ` "STRUMPACKCompressionTol" [1.0e-3] `
397
422
- ` "STRUMPACKLossyPrecision" [16] `
398
423
- ` "STRUMPACKButterflyLevels" [1] `
0 commit comments