elements.catalog.forced_splitter
elements.catalog.forced_splitter(fractions, name='splitter')A flow divider: one inflow split into N outflows at prescribed mass fractions.
This is a :func:splitter whose branch flows are controlled rather than set by downstream resistance. Exactly one edge is the inflow (port 0) and the rest are outflows; fractions[k] pins outflow port k + 1 to that fraction of the port-0 inflow rate (mdot_out = beta_k * mdot_in). With N outflows you give N - 1 fractions: the last (highest-port) outflow carries the remainder 1 - sum(fractions) and keeps total-pressure continuity with the inflow (the one branch whose pressure does not float).
Reverse flow is not modelled – the inflow direction is taken as fixed, so the constraint is linear in the flow state (hence complex-step-exact and inherited unchanged by the perturbation network). Replacing the splitter’s pressure couplings on the controlled branches means those branch total pressures float; the downstream elements must absorb the resulting pressure jump (a control-valve / ideal flow-divider idealization).
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| fractions | sequence of float | The N - 1 controlled outflow fractions beta_k, each in (0, 1), with sum(fractions) < 1 so the remainder branch carries positive flow. fractions[k] applies to outflow port k + 1 (attachment order). |
required |
| name | str | Display name. | 'splitter' |
Returns
| Name | Type | Description |
|---|---|---|
| ElementSpec |
Notes
Port order follows attachment order, so wire the inflow edge first (port 0) and the remainder outflow last (highest port). The build-time check requires the wired port count to be len(fractions) + 2 (1 inflow + the controlled outflows + the remainder). In the UI this is the ForcedSplitter node, whose fractions string carries the betas in port order.
Because the controlled branches float in pressure, the manifold has weaker pressure coupling than a plain splitter and is harder to converge as the inflow nears choke; with the default continuation it is robust to roughly inflow M ~ 0.6.