JanoschekNegativeJanoschek's (Sshaped) growth curve with negative slope 
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
This negative sloping JanoschekGrowthCurve 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: xvalue (i.e., u) for point of inflection(>0) 
y_ref 
Value: 1 Type: Real Description: yvalue 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 lookupfunctions 
BusinessSimulation.CausalLoop Negatively sloping sshaped lookup 

BusinessSimulation.MoleculesOfStructure.Blocks Modeling the influence of excessive workloads on productivity or quality 
x_ref
to InputType
in v2.2.