-
Notifications
You must be signed in to change notification settings - Fork 46
Description
Description
When running an FSI simulation with URIS valves, the output array URIS_displacement in result_uris_<valve_name>_xxx.vtu seems incorrect. When I visualize the in Paraview by warping by URIS_displacement, the valve motion does not follow the fluid mesh motion.
I encountered this when running a pretty complex left heart FSI simulation with valves. Here is the valve position when warping by URIS_displacement (the timestep is in the middle of the simulation when the fluid mesh has deformed significantly)
And here it is when warping by the fluid mesh displacement sampled onto the valve
In both pictures, the elements around the leaflets indicate where the valve resistance is being applied, as measured by the signed distance field (SDF). Apparently, the SDF field is correct, which is what really matters. So this seems to only be an outputting bug; the actual simulation results (i.e. fluid velocity, mesh displacement, etc.) are probably fine.
Reproduction
Run an FSI simulation with RIS valves. The simulation should be designed so that the fluid mesh moves significantly over the course of the simulation.
I want to provide a minimal example, but don't have the bandwidth right now.
Expected behavior
The array URIS_displacement should be computed correctly so that when warping the valve surfaces by URIS_displacement, they follow the fluid mesh as it deforms over the course of the simulation.
Alternatively, we can just remove URIS_displacement as an output array. It's very easy to compute the valve surface motion as a post processing step, using Paraview or PyVista. As far as I can tell, the valve surface displacement is only computed to be output as URIS_displacement. It isn't used anywhere else in the URIS code and doesn't affect the solution. Removing this would also allow us to eliminate several rather complicated function (uris_update_disp, uris_find_tetra).
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct and Contributing Guidelines