SimVascular / SimVascular/svOneDSolver

Numerical oscillations in test case `Left_coronary_inlet_pressure_wave_outlet_coronary.in` when using smaller time step

Open
#127 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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.

Image

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 dt may produce oscillations in this setup?
Reproduction

In particular, I:

  1. Used the provided test case Left_coronary_inlet_pressure_wave_outlet_coronary.in.
  2. Set the time step to dt = 1e-3 (the default was 5e-3).
  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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.