SimVascular / SimVascular/svMultiPhysics

Fluid state cannot be fully initialized

Open
#614 16 comments 0 reactions 1 assignee View on GitHub

@ktbolt is already working on this.

Since Aug 22, 2026.

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

Description

Problem

I was working with a user on initializing an svMultiPhysics fluid simulation state from a 0D simulation; projecting the 0D pressure and velocity to the 3D mesh VTU file and using that in the Initial_pressures_file_path and Initial_velocities_file_path solver XML parameters.

Starting a svMultiPhysics fluid simulation using 0D simulation has almost no effect on results. However, a simulation can be fully initialized and continued no problem from a stFile_last.bin file.

Looking at init_from_bin I see that stFile_last.bin file sets state data for time step unknowns in the 0D domain,velocity, pressure, and acceleration

  bin_file.read((char*)cplBC.xo.data(), cplBC.xo.msize());
  bin_file.read((char*)Yo.data(), Yo.msize());
  bin_file.read((char*)Ao.data(), Ao.msize());

cplBC.xo is used to initialize RCR BC integration. Not using this data is the primary reason the simulation state is not fully initialized.

Solution

One solution is to initialize the RCR BCs using the script written by @taeoukkim to compute a phase-aware initial capacitor pressure for RCR boundary conditions; this will soon be added to https://github.com/SimVascular/svMultiPhysics/tree/main/utilities.

Another solution would be to have the 0D and 1D solvers write RCR state data that can be read in by svMultiPhysics to initialize RCR BCs.

Additional context

Note that the svSolver CFD solver can read in just pressure and velocity data to fully initialize its state.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.