In standard Modelica fluid flow sources, normally either the flow rate or the pressure is specified. For example, the following boundary setups (P meaning pressure boundary, F meaning flow boundary) would typically surround a pipe component:
P - Pipe - P
F - Pipe - P
However, sometimes it can be convenient/desirable to specify both the flow rate and the pressure on the same side and let the other side be determined:
(P, F) - Pipe - ()
In my experience, this works just fine in Modelica tools if you create these sources and solve them at the system level. The issue is that, since the (P, F) component is locally overdetermined (+1 equation) and the () component is locally underdetermined (-1 equation), those components throw check errors locally since Modelica tools assume you always want locally balanced components. With this in mind, are there any best practices for creating overdetermined/underdetermined components in Modelica for this scenario? At the very least to tell the tool that this is intentional/don't throw check errors?
In Dymola it will work, but for bad models and check of classes it can cause confusing diagnostics. They can be avoided by using:
annotation (defaultConnectionStructurallyInconsistent=true)
(Inside those two models.)
Technically this is a bit extended meaning compared to the standard, https://specification.modelica.org/master/annotations.html#annotations-for-the-graphical-user-interface but it will work.