AixLib.Utilities.Math.Functions.regNonZeroPower

# .AixLib.Utilities.Math.Functions.regNonZeroPower

Power function, regularized near zero, but nonzero value for x=0

## Information

Function that approximates y=|x|n where 0 < n < 2 so that

- y(0) is not equal to zero.
- dy/dx is bounded and continuous everywhere.

This function replaces y=|x|n in the interval -δ...+δ by a 4-th order polynomial that has the same function value and the first and second derivative at x=± δ.

A typical use of this function is to replace the function for the convective heat transfer coefficient for forced or free convection that is of the form h=c |dT|n for some constant c and exponent 0 < n ≤ 1. By using this function, the original function that has an infinite derivative near zero and that takes on zero at the origin is replaced by a function with a bounded derivative and a non-zero value at the origin. Physically, the region -δ...+δ may be interpreted as the region where heat conduction dominates convection in the boundary layer.

See the package `Examples` for the graph.

#### Interface

>     function regNonZeroPower
>       extends Modelica.Icons.Function;
>       input Real x "Abscissa value";
>       input Real n(min = 0.000001, max = 1.999999) "Exponent";
>       input Real delta = 0.01 "Abscissa value where transition occurs";
>       output Real y "Function value";
>     end regNonZeroPower;

## Revisions

- November 2, 2022, by Michael Wetter:
  Set minimum and maximum attribute on `n`, improved assertion and documentation.
  This is for Buildings, #3135.
- March 30, 2011, by Michael Wetter:
  Added `zeroDerivative` keyword.
- April 14, 2008, by Michael Wetter:
  First implementation.

Generated at 2026-05-12T20:19:03Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos