ComplexInteractionInteraction with linear and nonlinear terms 
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
Using →ComplexInteraction
this component allows to logically connect two flows influencing two stocks A (connected to portA
) and B (connected to portB
). The formula for the resulting flows (using Newton's dot notation) has linear and nonlinear terms:
The coefficients are given by parameters, which are multiplied either with 1 (hasFactor = false
) or an exogenous factor u (hasFactor = true
). Upon setting hasRateOutput = true
the component will report the current rate of flows via output connectors (y_A, y_B
).
a_0 = 1, b_0 = 1
(other coefficients set to zero), and hasFactor = true
a bidirectional flow can be modeled, whose rate is given by the input u (positive inputs indicate a flow from A to B).a_0 = 1, b_0 = f
(other coefficients set to zero), and hasFactor = true
a broken transition can be modeled, with the proportionality factor f indicating units of B per unit of A.polA
and polB
allow to give visual cues with regard to polarity in the diagram.polA 
Value: "±" Type: String Description: Polarity portA 

polB 
Value: "±" Type: String Description: Polarity portB 
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 
a_0 
Value: Type: Rate (1/s) Description: Growth rate for A (independent) 
a_A 
Value: Type: Rate (1/s) Description: Fractional rate of growth for A (selfcoupling A) 
a_B 
Value: Type: Rate (1/s) Description: Rate of growth for A per unit of B (coupling of B to A) 
a_AB 
Value: Type: Rate (1/s) Description: Fractional rate of growth for A per unit of B (nonlinear coupling) 
b_0 
Value: Type: Rate (1/s) Description: Growth rate for B (independent) 
b_B 
Value: Type: Rate (1/s) Description: Fractional growth rate for B (selfcoupling) 
b_A 
Value: Type: Rate (1/s) Description: Rate of growth for B per unit of A (coupling of A to B) 
b_AB 
Value: Type: Rate (1/s) Description: Fractional growth rate for B per unit of A (nonlinear coupling) 
portA 
Type: FlowPort Description: Used to represent stock and flow connections 


portB 
Type: FlowPort Description: Used to represent stock and flow connections 

u 
Type: RealInput Description: Factor input 

y_A 
Type: RealOutput Description: Output of current rate of flow for port A 

y_B 
Type: RealOutput Description: Output of current rate of flow for port B 

one 
Type: RealOutput Description: Default factor 

y_a0 
Type: RealOutput Description: Output signal 

dataIn 
Type: InputConnector Description: Data bus for inputs 

y_aA 
Type: RealOutput Description: Output signal 

y_aB 
Type: RealOutput Description: Output signal 

y_aAB 
Type: RealOutput Description: Output signal 

y_b0 
Type: RealOutput Description: Output signal 

y_bA 
Type: RealOutput Description: Output signal 

y_bB 
Type: RealOutput Description: Output signal 

y_bAB 
Type: RealOutput Description: Output signal 
complexInteraction 
Type: ComplexInteraction Description: Combined linear and nonlinear interaction 


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

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