SimVascular / SimVascular/svOneDSolver
Numerical oscillations in test case `Left_coronary_inlet_pressure_wave_outlet_coronary.in` when using smaller time step
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 22
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
Description
Description
When running the test case Left_coronary_inlet_pressure_wave_outlet_coronary.in, I observed numerical oscillations in the flow rate when using a smaller time step than the value used in the parameter file.
With dt = 1e-3, the flow rate exhibits noticeable numerical oscillations (visible in Paraview). Oscillations remain even if I postprocess myself the sim data, so Paraview is not the culprit.
With the default dt = 5e-3, no oscillations appear.
Questions
- Is this behaviour intended or expected for this test case?
- If it is expected, could you explain briefly why reducing
dtmay produce oscillations in this setup?
Reproduction
In particular, I:
- Used the provided test case
Left_coronary_inlet_pressure_wave_outlet_coronary.in. - Set the time step to
dt = 1e-3(the default was5e-3). - Ran the simulation and evaluated the flow rate at a section of the LAD (see attached png).
Environment
- OS: Ubuntu 22.04
- Skyline solver
- commit: 66b31b4221b8dc9c04a767ed48e6a5367f63a499
Expected behavior
Using a smaller time step would normally improve stability or accuracy, so oscillations were not expected.
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct and Contributing Guidelines
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 by rerunning Left_coronary_inlet_pressure_wave_outlet_coronary.in with dt=1e-3 and the default dt=5e-3, then compare the LAD flow rate independently of ParaView. Investigate the solver's time-stepping and coronary boundary-condition behavior for this case. Done means determining whether the oscillations are expected and documenting the cause, or identifying a reproducible solver defect.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100