llnl / llnl/smith

Investigate why DSuperLU can't be used when systems are resized

Open
#1,080 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.