SoftMinGradual approach of a ceiling that cannot be exceeded 
The output y is obtained by applying a factor in the interval [0,1] to the maximum output u_max (the ceiling). It effectively calculates a smooth minimum with regard to the inputs u and u_max:
The following graph shows the results for u_max = 1.0
and k ∈ {10,5,3,2}
:
When the intended output u
is a small fraction of the maximum output u_max
(ceiling) the actual output y
will be equal to the intended output. As u
approaches the ceiling the limitations will have a gradual effect so that less than the intended output is returned. Eventually the output will be identical to the maximum value.
u : u_max
is used as input to the smooth minimum; John Sterman [3, pp. 711713] uses the ratio u_max : u
instead.k 
Value: 4.7 Type: Real Description: Parameter to control the closeness to a hard minimum 

useMinOperator 
Value: false Type: Boolean Description: = true, if a regular 'hard' minimum is to be used 
clipNegativeOutput 
Value: true Type: Boolean Description: = true, if output can never be less than zero 
strict 
Value: true Type: Boolean Description: = true, if strict limits with noEvent(..) (clippedOutput.strict) 
y 
Type: RealOutput 


u 
Type: RealInput Description: Input 

u_max 
Type: RealInput Description: The ceiling 
hardMin 
Type: Min Description: Hard min operator 


clippedOutput 
Type: ZeroIfNegative 

unclippedOutput 
Type: PassThrough 

expMaxUtil 
Type: Exp 

scaledMaxUtil 
Type: Gain 

scaledInput 
Type: Gain 

expInput 
Type: Exp 

sumExp 
Type: Add_2 

logSum 
Type: Log 

adjustmentFactor 
Type: Gain 

softMin 
Type: Product_2 

maxUtilization 
Type: ConstantConverter Description: Maximum utilization 

utilization 
Type: Division_Guarded Description: Fraction of the maximum 