-
Notifications
You must be signed in to change notification settings - Fork 35
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Problem
We currently reimplement the residual in the calibrator, e.g., for the BloodVessel block:
svZeroDSolver/src/model/BloodVessel.cpp
Lines 126 to 130 in 32b46d7
| residual(global_eqn_ids[0]) = | |
| y0 - (resistance + stenosis_resistance) * y1 - y2 - inductance * dy3; | |
| residual(global_eqn_ids[1]) = | |
| y1 - y3 - capacitance * dy0 + | |
| capacitance * (resistance + 2.0 * stenosis_resistance) * dy1; |
However, the residual is the same as in the solver. Compare equations (2.18) and (2.24) in this paper. Only the Jacobian is different and needs to be implemented separately for the solver and calibrator.
Solution
Automatically reuse the solver's residual in the calibrator for all blocks.
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct and Contributing Guidelines
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers