SplitFlowSplitting a flow into n flows 
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
Using →SplitFlow
this component allows to split a flow connected to the stock port portA
into nout outflows (portB[nout]
); nout
is implicitly determined by the length of the vector of split factors splitFactors[:]
(parameters). The vecotor of split factors is multiplied either with the scalar 1 (hasFactor = false
) or an exogenous scalar u (hasFactor = true
). Upon setting hasRateOutput = true
the component will report the current rates of flow via a vector output connector (y[nout]
).
isSplit = true
negative factors are set to zero and the vector of factors is normalized to add up to one.splitFactors 
Value: {1, 1} Type: Real[:] Description: Split factors 

nout 
Value: size(splitFactors, 1) Type: Integer Description: Number of outflows the inflow is split into 
hasFactor 
Value: false Type: Boolean Description: = true, if coefficients are to be multiplied with input u 
hasRateOutput 
Value: false Type: Boolean Description: = true, if the rate is reported via real output connectors 
isSplit 
Value: true Type: Boolean Description: = true, if the input given is assumed to be weights (adding up to one) splitting the flow 
portA 
Type: StockPort Description: Connector for stock components 


portB 
Type: FlowMultiPort[nout] Description: Used to represent multiple flow connectors 

y 
Type: RealMultiOutput[nout] Description: Output of current rate of flow 

u 
Type: RealInput Description: Factor input 

one 
Type: RealInput Description: Default factor 
splitFlow 
Type: SplitFlow Description: Splitting an arbitrary flow into n subflows 


parSplitFactors 
Type: ConstantConverter Description: A list of constant values is turned into a constant vector of signals 

actualSplitFactors 
Type: ScalarMultiplication Description: Multiplication of a vector with a scalar 