Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an in-place LU decomposition using the MOZART LU algorithm #695

Open
mattldawson opened this issue Dec 16, 2024 · 0 comments · May be fixed by #698
Open

Add an in-place LU decomposition using the MOZART LU algorithm #695

mattldawson opened this issue Dec 16, 2024 · 0 comments · May be fixed by #698
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mattldawson
Copy link
Collaborator

The current implementation of the MOZART LU decomposition scheme accepts separate A, L, and U matrices. Add an LU decomposition option that can be used with the Backward Euler solver that does an in-place LU decomposition, overwriting the A matrix with the L and U matrix data, and then uses this in the linear solve.

Acceptance Criteria

  • An in-place LU decomposition and solve is available for use with the Backward Euler solver
  • Tests of the Backward Euler solver with the in-place LU decomposition and solve are included for all the analytical test cases.

Ideas

  • Collect the Jacobian non-zero elements, do the Diagonal Markowitz reordering, add any additional non-zero elements needed by the L and U matrices, and then create a jacobian/L/U combined sparse matrix in the State
  • Overload the LinearSolver::Factor() and LinearSolver::Solve() functions with versions that accept a non-const reference to a single sparse matrix.
@mattldawson mattldawson added the enhancement New feature or request label Dec 16, 2024
@mattldawson mattldawson added this to the MICM Paper milestone Dec 16, 2024
@mattldawson mattldawson self-assigned this Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant