Buildings.Fluid.HeatExchangers.BaseClasses.Internal
Solve f(x, data) for x with given f
Information
Function that internally solves a scalar equation.
Extends from Modelica.Media.Common.OneNonLinearEquation (Determine solution of a non-linear algebraic equation in one unknown without derivatives in a reliable and efficient way).
Package Content
| Name | Description |
|---|---|
| Inherited | |
| Data specific for function f_nonlinear | |
| Solve f_nonlinear(x_zero)=y_zero; f_nonlinear(x_min) - y_zero and f_nonlinear(x_max)-y_zero must have different sign | |
Buildings.Fluid.HeatExchangers.BaseClasses.Internal.f_nonlinear
Information
Extends from (Nonlinear algebraic equation in one unknown: y = f_nonlinear(x,p,X)).
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real | x | Independent variable of function | |
| Real | p | 0.0 | Disregarded variables (here always used for pressure) |
| Real | X[:] | fill(0, 0) | Disregarded variables (her always used for composition) |
| f_nonlinear_Data | f_nonlinear_data | Additional data for the function |
Outputs
| Type | Name | Description |
|---|---|---|
| Real | y | = f_nonlinear(x) |
Modelica definition
redeclare function extends f_nonlinear
algorithm
assert(x > 0, "NTU needs to be strictly positive.
Received NTU = " + String(x) + "
Z = " + String(p));
y := epsilon_ntuZ(
NTU=x,
Z=p,
flowRegime=Integer(Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed));
end f_nonlinear;