modelNonlinearInteraction

Outflows depend upon the product of the stocks and a factor

Extends from Interfaces.Basics.GenericFlow (Flow Template with two FlowPorts), Interfaces.Basics.Interaction4SO (Output connectors for interaction elements reporting rates), Icons.Interaction (Icon for interactional flow classes).

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

TypeNameDefaultDescription
Ratea_ABunspecifiedConstant fractional rate for the netflow to A per unit of B (nonlinear coupling factor)
TypeBrefB1Reference value for B, i.e., divisor for the fractional rate a_AB
Rateb_ABunspecifiedConstant fractional rate for the netflow to B per unit of A (nonlinear coupling factor)
TypeArefA1Reference value for A, i.e., divisor for the fractional rate b_AB
Structural Parameters
BooleanhasConstantFactorAfalse= true, if the coupling factor for A is given by the constant parameter
BooleanhasConstantFactorBfalse= true, if the coupling factor for B is given by the constant parameter

Connectors

TypeNameDefaultDescription
Connectors.FlowPortportA (from GenericFlow)Flow from/to Stock A
Connectors.FlowPortportB (from GenericFlow)Flow to/from Stock B
RealOutput_By_B (from Interaction4SO)Rate for flow to and from B (positive value indicates inflow)
RealOutput_By1_B (from Interaction4SO)Rate for flow to and from B (positive value indicates inflow)
RealOutput_Ay1_A (from Interaction4SO)Rate for flow to and from A (positive value indicates inflow)
RealOutput_Ay_A (from Interaction4SO)Rate for flow to and from A (positive value indicates inflow)
InputConnectordataIn

Contents

NameDescription
TypeAType selector for stock A
TypeBType selector for stock B
InputConnectorData bus for inputs

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.