JanoschekNegativeJanoschek's (S-shaped) growth curve with negative slope |
![]() |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
This negative sloping Janoschek-Growth-Curve is simply a modification of the positive version. For more detail see JanoschekPositive.
The function is given by the following equation:
Where l is the lower bound, β is the upper bound, and δ is a parameter that determines the rate of growth (e.g., steepness of the curve). Given the point of inflection (x_ref,y_ref
) the parameter k can be obtained in closed form, which is made use of in this implementation.
The following animation shows a growth curve with the following parameters:
Parameter | Value |
---|---|
upperBound |
2 |
lowerBound |
0.1 |
(x_ref, y_ref) |
(1,1) |
growthRate |
1, ... ,10 |
lowerBound
must be smaller than the upperBound
. Also y_ref
needs to be in the range [lowerBound, upperBound
], while x_ref
has to be a positive number larger than zero.strict = true
) the component will not generate events.convertInput |
Value: false Type: Boolean Description: = true, if the input value is a rate or time variable that needs to be converted |
---|---|
inputIsRate |
Value: false Type: Boolean Description: = true, if the input is given in units of time, otherwise it is assumed to be a rate |
convertOutput |
Value: false Type: Boolean Description: = true, if the output value is a rate or time variable that needs to be converted |
outputIsRate |
Value: false Type: Boolean Description: = true, if the output is given in units of time, otherwise it is assumed to be a rate |
upperBound |
Value: 2 Type: Real Description: Upper asymptote for u <= 0 (upperBound > lowerBound) |
lowerBound |
Value: 0 Type: Real Description: Lower asymptote for u -> infinity |
growthRate |
Value: 2 Type: Real Description: Determines the gradient of the curve |
x_ref |
Value: 1 Type: InputType Description: x-value (i.e., u) for point of inflection(>0) |
y_ref |
Value: 1 Type: Real Description: y-value for point of inflection(lowerBound < y_ref < upperBound) |
strict |
Value: true Type: Boolean Description: = true, if strict limits with noEvent(..) |
![]() |
y |
Type: RealOutput Description: Output signal |
---|---|---|
![]() |
u |
Type: RealInput Description: Input |
![]() |
u_c |
Type: RealOutput Description: Input after conversion |
![]() |
y_c |
Type: RealOutput Description: Output before conversion |
![]() |
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
---|---|---|
![]() |
rateConversionIn |
Type: RateConversion Description: Convert the input (rate) to another time base |
![]() |
noConversionIn |
Type: PassThrough Description: Use input as is |
![]() |
timeConversionIn |
Type: TimeConversion Description: Convert the input to another time base |
![]() |
noConversionOut |
Type: PassThrough Description: Use output as is |
![]() |
rateConversionOut |
Type: RateConversion Description: Convert the output (rate) to 1/s |
![]() |
timeConversionOut |
Type: TimeConversion Description: Convert the output to seconds |
![]() |
BusinessSimulation.Examples Showcase of lookup-functions |
![]() |
BusinessSimulation.CausalLoop Negatively sloping s-shaped lookup |
![]() |
BusinessSimulation.MoleculesOfStructure.Blocks Modeling the influence of excessive workloads on productivity or quality |
x_ref
to InputType
in v2.2.