SimVascular / svFSIplus

svFSIplus is an open-source, parallel, finite element multi-physics solver.
https://simvascular.github.io/documentation/svfsi.html
Other
9 stars 25 forks source link

Spatially-varying boundary condition values #291

Open aabrown100-git opened 4 hours ago

aabrown100-git commented 4 hours ago

Problem

It would be very useful to be able to impose spatially-varying values for certain boundary conditions, especially Robin boundary conditions for cardiac mechanics simulations (a la this paper

Solution

Within a boundary condition for a given face, the user could provide a .vtp file of the same face, with certain arrays defined on it. For example, if you are simulating an idealized LV , a variable Robin BC on the epicardial surface, defined by epi.vtp, could be defined like

<Add_BC name="epi" > 
      <Type> Variable Robin </Type> 
      <Spatial_values_file_path> epi_variable_Robin.vtp </Spatial_values_file_path> 
</Add_BC> 

The user would have to generate epi_variable_Robin.vtp, which has the same morphology as epi.vtp, but with arrays Stiffness, Damping, and External_pressure.

Additional context

This has been implemented in the (private) repository svMultPhys, which is an offshoot of svFSI.

Code of Conduct

mrp089 commented 3 hours ago

That would be super useful. The idea of #77 was to do the same for volume parameters.

Ideally, this could be unified with getting a choice for every material/bc parameter you're setting in the input file: either scalar or a path to the .vtp or .vtu.