Investigate why DSuperLU can't be used when systems are resized
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 245
- Forks
- 36
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 4
Description
I had some issues with SuperLU in the tests where if the matrix was resized, then SuperLU wouldn't work. This is an issue in `SolidMechanics::warmStartDisplacement()` where only the displacements are updated without the LM block. I only tested with strumpack and SuperLU, but if MUMPS/Pardiso/etc. are added to serac in the future, this macro may need to be updated...
_Originally posted by @ebchin in https://github.com/LLNL/serac/pull/1021#discussion_r1486719693_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at SolidMechanics::warmStartDisplacement() and inspect how resized systems update displacements versus the LM block. Reproduce the behavior with the tests and solver configurations mentioned for SuperLU and strumpack, then check whether the same issue applies to potential MUMPS or Pardiso integrations. Done means the cause is confirmed and the required macro or update behavior is identified and verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100