Class xlifepp::ReductionMethod#

class ReductionMethod#

handling constraints reduction method information when dealing with essential conditions (constraints) assuming solving AU=F with CU=G, several methods are available

  • full reduction (change the system by eliminating some dofs

  • pseudo-reduction is the full reduction method where eliminated row are replaced by the constraints matrix C: | beta*I + alpha*C | eliminated rows Ap= | | | 0 Ae | default is alpha=1 and beta=0, good choice when solving a problem choose alpha=0 and beta!=0 when dealing with eigenvalue problem

  • penalization : deal with the system penalized (A + alphaCC*)U= F + alphaC*G

  • duality : Lagrange multipliers: blocks (v,lambda)=C* and (mu,u)=C are added to the TermMatrix,:

        |  A     C*  | |u|   | F |
        |            | | | = |   |
        |  C     0   | |λ|   | G |
    
    saddle point system symmetric but indefinite, use LU/umfpack or GMRES; X(lambda) gives the multipliers, e.g. the flux -dn u for a Dirichlet condition)

Public Members

complex_t alpha#

diagonal or penalization coefficient

complex_t beta#

additional penalization coefficient

ReductionMethodType method#

type of reduction method