SimVascular / svZeroDSolver-Archived

A Python lumped-parameter solver for blood flow and pressure in hemodynamic networks
Other
12 stars 15 forks source link

Coupling 0D solver with 3D flow solver(s) #71

Closed menon-karthik closed 1 year ago

menon-karthik commented 2 years ago

I am planning to start working on a way to interface between the 0D and 3D flow solvers, where 0D solutions act as boundary conditions for the 3D flow solver. Things I am thinking about before I start:

  1. @ktbolt Do you have thoughts on the best way to do this?
  2. Is there a nice way to make the coupling agnostic to the solvers on either side, i.e. it would work with svSolver or svFSI on one side and C++-based or Python-based 0D solvers on the other side? One way is to do it using file I/O but not sure that's the most efficient. (I think it might be useful to have it also in Python because it is easier to prototype in Python and it would be nice to have the same functionality in both solvers)

@ktbolt @mrp089 @richterjakob Thoughts?

ktbolt commented 2 years ago

@menon-karthik The plan was to implement the 0D solver so it could be used as a plugin for interfacing to 3D flow solvers. This would allow the 0D solver to be called like a function within the same address space as the 3D solver.

menon-karthik commented 2 years ago

Updates from Dave on this issue: https://github.com/SimVascular/svZeroDSolver/issues/47#issuecomment-1201978268

I will test this out with closed-loop boundary conditions for coronary simulations in the next couple of weeks.

mrp089 commented 1 year ago

Already done in https://github.com/StanfordCBCL/svZeroDSolver

mrp089 commented 1 year ago

Merged in https://github.com/StanfordCBCL/svZeroDPlus/pull/20