NonlinearInteraction

Outflows depend upon the product of the stocks and a factor

Diagram

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

The NonlinearInteraction can be used by itself or in combination with the →LinearInteraction flow to model more complex interactions. The netflows to the connected stocks A (portA) and B (portB) are given by the following equations:

Formula.svg

Note: Capital letters were chosen to represent the stocks (state variables) connected at portA and portB in the formula above. Also dot notation is used for a stock's rate of flow—its first derivative with respect to time.

Coefficient Unit Description
a_AB 1 per second
per base unit of B (TypeB)

Factor used to determine the net flow to A
(positive rate = inflow)

b_AB 1 per second
per base unit of A (TypeA)

Factor used to determine the net flow to B
(positive rate = inflow)

The coefficients can be given as parameters or as variables via the expandable connector dataIn.

Examples

A nonlinear component is typically found in predator-prey models or models of infectious diseases, where the exponential growth rate for a population depends upon the size of another population (e.g., prey or susceptible population).

Notes

  • When this component is used with stocks that have "simple" units, e.g., Amount [each] then it is rather straight forward to enter a fractional rate per unit of A or B for the parameters a_AB, b_AB and we can in fact leave TypeA, TypeB, refA, refB at their default values.

  • In cases, where we want to specify a fractional rate per some displayUnit for one of the stocks, we can use the type selectors TypeA, TypeB to select the appropriate units for the connected stocks and then set the references values refA, refB using whatever displayUnit we want.

See also

LinearInteractionComplexInteraction

Parameters (6)

a_AB

Value: unspecified

Type: Rate (1/s)

Description: Constant fractional rate for the netflow to A per unit of B (nonlinear coupling factor)

refB

Value: 1

Type: TypeB

Description: Reference value for B, i.e., divisor for the fractional rate a_AB

b_AB

Value: unspecified

Type: Rate (1/s)

Description: Constant fractional rate for the netflow to B per unit of A (nonlinear coupling factor)

refA

Value: 1

Type: TypeA

Description: Reference value for A, i.e., divisor for the fractional rate b_AB

hasConstantFactorA

Value: false

Type: Boolean

Description: = true, if the coupling factor for A is given by the constant parameter

hasConstantFactorB

Value: false

Type: Boolean

Description: = true, if the coupling factor for B is given by the constant parameter

Connectors (9)

portA

Type: FlowPort

Description: Flow from/to Stock A

portB

Type: FlowPort

Description: Flow to/from Stock B

y_B

Type: RealOutput_B

Description: Rate for flow to and from B (positive value indicates inflow)

y1_B

Type: RealOutput_B

Description: Rate for flow to and from B (positive value indicates inflow)

y1_A

Type: RealOutput_A

Description: Rate for flow to and from A (positive value indicates inflow)

y_A

Type: RealOutput_A

Description: Rate for flow to and from A (positive value indicates inflow)

dataIn

Type: InputConnector

Description: Data bus for inputs

u_a_AB

Type: RealOutput

Description: Nonlinear coupling factor for A

u_b_AB

Type: RealOutput

Description: Nonlinear coupling factor for B

Components (11)

netFlowA

Type: ExogenousChange

Description: Net flow to A

netFlowB

Type: ExogenousChange

Description: Net flow to B

levelA

Type: FlowPortSensor

Description: Amount in stock A

levelB

Type: FlowPortSensor

Description: Amount in stock B

product_A_B

Type: Product_2

Description: Product of A and B

netRateA

Type: Product_2

Description: Rate of netflow A (positive = inflow)

netRateB

Type: Product_2

Description: Rate of netflow B (positive = inflow)

parFactorA

Type: ConstantConverter

Description: Constant fractional rate A

parFactorB

Type: ConstantConverter

Description: Constant fractional rate B

unitMultiplierA

Type: Gain

Description: Constant should have units 1/UnitsA

unitMultiplierB

Type: Gain

Description: Constant should have units 1/UnitsB

Used in Examples (2)

LotkaVolterraSystems

BusinessSimulation.Examples

Predator-prey dynamics

LotkaVolterraEquationsRevisited

BusinessSimulation.Examples

Predator-prey dynamics with an additional predator

Used in Components (1)

ComplexInteraction

BusinessSimulation.Flows.Interaction

Combined linear and nonlinear interaction

Revisions

  • InputConnector defined as encapsulated expandable connector in v2.1.0.

  • Values for optional parameters changed to unspecified in v2.1.0.

  • Adapted types and added divisors for unit compliance and convenience in V2.2.