algorithm section
The algorithm section defines the numerical strategy used to solve the response equations.
The section is optional. plasmonX will decide the best algorithm based on the CPU/OMP parameters and the maximum memory available.
Valid keywords
Keyword |
Type |
Allowed Values |
Default |
|---|---|---|---|
|
string |
|
– |
|
string |
|
– |
|
integer |
– |
|
|
integer |
– |
|
|
float or string |
– |
\(E_0 \times 10^{-5}\) |
|
string |
|
|
Notes
methoddetermines the solving strategy:inversion: inversion of the response matrix by LU factorization through LaPACK [default for small systems].iterative: GMRES Krylov-based solver by storing the matrices on memory.iterative on the fly: GMRES Krylov-based solver by on the fly matrix-vector products [default for large systems].
parallel executiondetermines what to parallelize:frequencies: the external cycle on frequencies is parallelized.matrix: the construction of the matrices is parallelized.
number of iterationsdetermines the number of external iterations for iterative and iterative on the fly algorithm [not currently exploited].gmres dimensiondetermines the number of microiterations for iterative and iterative on the fly algorithm [default:1000].tolerancedetermines the convergence threshold (default: \(E_0 \times 10^{-5}\)). This value is scaled for ensure RMSE convergence.adaptive tuningdetermines whether to allow plasmonX to change the input parameters for best execution.
Example
algorithm:
method: iterative
parallel execution: matrix
gmres dimension: 1000
tolerance: 1e-6
adaptive tuning: 'no'