aquakin.RatioSplitter#

class aquakin.RatioSplitter(name, model, output_port_ratios)[source]#

Bases: _SplitterBase

Splits the inlet flow into fixed fractions: each output gets ratio * Q_in, the fractions summing to 1. A passive split – concentration and side-channel scalars are preserved on every outlet.

Parameters:
  • name (str) – Unit identifier.

  • model (CompiledModel)

  • output_port_ratios (dict[str, float]) – Output port name -> fraction of inlet flow. Must sum to 1.

__init__(name, model, output_port_ratios)#
Parameters:
  • name (str)

  • model (CompiledModel)

  • output_port_ratios (dict[str, float])

Return type:

None

Methods

__init__(name, model, output_port_ratios)

compute_outputs(t, state, inputs, params[, ...])

coupling_pattern()

No state -> no structural Jacobian contribution.

flow_outputs(input_flows, params[, ctx])

Output port flows: each a fixed fraction of the inlet flow (affine).

flow_param_defaults()

Ordered default setpoint values (the unit's flow-parameter block).

flow_param_local_names()

Ordered setpoint names, used to address the flow parameters by name.

initial_state()

rhs(t, state, inputs, params[, signals])

Attributes

input_ports

output_ports

state_size

output_port_ratios

name

model

flow_outputs(input_flows, params, ctx=None)[source]#

Output port flows: each a fixed fraction of the inlet flow (affine).

Parameters:
  • input_flows (dict)

  • params (Array)

Return type:

dict