Skip to content

Updates for URIS valve with nonzero valve velocity and improved nonlinear convergence#505

Closed
hanzhao2020 wants to merge 23 commits intoSimVascular:mainfrom
hanzhao2020:uris
Closed

Updates for URIS valve with nonzero valve velocity and improved nonlinear convergence#505
hanzhao2020 wants to merge 23 commits intoSimVascular:mainfrom
hanzhao2020:uris

Conversation

@hanzhao2020
Copy link
Contributor

Current situation

  • The URIS code has stagnated nonlinear convergence for FSI problems #448.
  • The current implementation only considers zero valve velocity.
  • The scaffold surface in the aortic valve model is not considered.

Release Notes

  • Resolves #448 by implementing explicit geometric coupling for FSI problems. At each time step, the fluid-structure equation is first solved until convergence, and then the mesh motion equation is solved.
  • The valve velocity is computed from the input mesh motion and added to the resistive penalty term.
  • The code is updated to consider the fixed aortic valve scaffold surface.

Testing

  • The new code is covered by tests.

Code of Conduct & Contributing Guidelines

hanzhao2020 and others added 23 commits November 20, 2025 22:29
Resolving conflits
Resolving conflicts
@codecov
Copy link

codecov bot commented Feb 12, 2026

Codecov Report

❌ Patch coverage is 58.59155% with 147 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.56%. Comparing base (869da67) to head (0560c0f).

Files with missing lines Patch % Lines
Code/Source/solver/uris.cpp 46.47% 91 Missing ⚠️
Code/Source/solver/fluid.cpp 65.57% 21 Missing ⚠️
Code/Source/solver/distribute.cpp 64.28% 10 Missing ⚠️
Code/Source/solver/vtk_xml.cpp 62.96% 10 Missing ⚠️
Code/Source/solver/fsi.cpp 69.23% 8 Missing ⚠️
Code/Source/solver/pic.cpp 76.92% 6 Missing ⚠️
Code/Source/solver/initialize.cpp 88.88% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #505      +/-   ##
==========================================
- Coverage   67.70%   67.56%   -0.15%     
==========================================
  Files         168      168              
  Lines       32752    33010     +258     
  Branches     5750     5819      +69     
==========================================
+ Hits        22176    22304     +128     
- Misses      10439    10568     +129     
- Partials      137      138       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ktbolt
Copy link
Collaborator

ktbolt commented Feb 12, 2026

@hanzhao2020 The GitHub Issue #448 has not been updated in three months and now all of a sudden there is a PR with changes to like 14 files.

How can other Team members understand the details of what the problem was and the fix ? Merging the PR and closing the Issue makes it look like the problem was never solved. I've seen developers spend two weeks trying to understand what changes were made to the code and never really understanding why the changes were made.

@hanzhao2020
Copy link
Contributor Author

@ktbolt Thanks for this concern. The issue was not updated while I was investigating it. If it helps, I can break this PR into multiple PRs to make them easier to understand, and each PR addresses a separate issue. Or any other suggestions are appreciated.

@ktbolt
Copy link
Collaborator

ktbolt commented Feb 12, 2026

@hanzhao2020 Issues are important because they provide a history of what code was changed and why. Each Issue has a link to the PR which provides the details of code changes but a high-level description provides a context in which to understand those changes.

For example: why was quadratic transition between RIS valve open and close thickness needed ?

The reason we do all of this is to be able to maintain and extend the code after people leave. If a year from now there are problems with the URIS code then we need to understand how to fix it.

@hanzhao2020
Copy link
Contributor Author

@ktbolt Thank you for the clarification. I agree that issues should document the reasoning behind the code change. I can close this PR first and create/update the corresponding issues to capture these changes, then open separate PRs for these issues. Does this plan sound good to you?

@ktbolt
Copy link
Collaborator

ktbolt commented Feb 12, 2026

@hanzhao2020 Sounds good, thank you !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Slow nonlinear convergence when using URIS valve in fluid equation

2 participants

Comments