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.