Skip to content

Conversation

@rubenzorrilla
Copy link
Member

@rubenzorrilla rubenzorrilla commented Jan 27, 2026

📝 Description
This PR adds the LinearSystem container as well as an EigenvalueSystem. These are understood to be the containers that we pass to the corresponding linear solvers. The LinearSystem container is now fully operative in #14119 while the EigenvalueSystem is just a boilerplate I did to see how the LinearSolver interface would be.

Important details are:

  • EigenvalueSystem (and eventual alternative containers) do not derive from LinearSystem as these may have different interfaces (e.g., EigenvalueSystem has GetMassMatrix and GetStiffnessMatrix methods while LinearSystem has GetLeftHandSide). This implies that each linear solver knows how to use the corresponding container.
  • In this regard, it is important to say that this design implies that we need to overload the methods in LinearSolver base class for all the different linear system container types.

Finally, I note that instead of one for all design (i.e., a container suitable for standard Ax=b problems, eigenvalue, etc.), which would lead to a more complex usage IMO, I finally decided to have an easy-to-use one for the different cases after the assumption that we will need very few types these. In these regard, the applications I see are standard Ax=b problems, AX=B (i.e., multiple RHS) and eigenvalue analysis.

EDIT: #14110 must be merged first.

@loumalouomega
Copy link
Member

LGTM

@rubenzorrilla rubenzorrilla moved this to 👀 Next meeting TODO in Technical Commiittee Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 👀 Next meeting TODO

Development

Successfully merging this pull request may close these issues.

3 participants