EPS_CISS_STRATEGY_MULTISHIFT#

Use a single KSP object to perform all the linear solves associated with integration points simultaneously.

Notes#

For the linear solves \((A-z_i B)Y_i=BV\) at every integration point \(z_i\), this strategy uses a single KSP object to solve all shifted systems at once. For this to be efficient, it has to be a solver that can handle multiple shifted systems such as KSPEKSM.

This strategy is often cheaper in terms of memory and computational cost, compared to other strategies, since the (extended) Krylov basis is built only once and reused, instead of having an independent solve per each integration point.

Currently, the columns of \(Y_i\) are computed column by column, not as a block solve.

When the number of partitions set in EPSCISSSetSizes() is larger than one, the different subcommunicators own a subset of integration points, that are processed simultaneously with an independent KSPEKSM solver, see EPSCISSGetKSPs().

See Also#

EPS: Eigenvalue Problem Solver, EPSCISSStrategy, EPSCISSSetStrategy(), EPSCISSGetKSPs(), EPSCISSSetSizes(), KSPEKSM, EPS_CISS_STRATEGY_USEST, EPS_CISS_STRATEGY_SPLIT

Level#

advanced

Location#

include/slepceps.h


Index of all EPS routines Table of Contents for all manual pages Index of all manual pages