SimVascular / SimVascular/svMultiPhysics

Bug report: Using RCR boundary condition with 0D coupling boundary condition

Open
#524 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
45
Forks
61
Avg merge
5d 23h
Merged PRs (30d)
11

Description

Description
Image

When a 3D model uses a 0D coupling boundary condition on one outlet, it is not possible to use an RCR boundary condition on another outlet at the same time.
The simulation fails or does not behave correctly under this mixed boundary-condition setup.
Error message from code: "libc++abi: terminating due to uncaught exception of type std::runtime_error: [read_bc] RCR cannot be used in conjunction with cplBC."

Interestingly, a Resistance boundary condition can be used together with a 0D coupling boundary condition without the same issue.
This suggests the problem is specific to the combination of RCR + 0D coupling BC, rather than a general limitation on mixing outlet boundary conditions.

Reproduction

Here are the files. "solver.xml" works which used Resistance BC with 0D coupling. However, "solver_rcr.xml" doesn't work which used RCR BC with 0D coupling.

Archive.zip

Expected behavior

It should be possible to use different types of outlet boundary conditions simultaneously in a 3D model. In particular, using an RCR boundary condition on one outlet and a 0D coupling boundary condition on another outlet should work without errors

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 comparing solver.xml, which works with Resistance BC, and solver_rcr.xml, which reproduces the failure. Trace the [read_bc] handling for RCR and 0D coupling boundary conditions, then run the supplied Archive.zip case to confirm the mixed setup works without the reported runtime error.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.