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 |
---|---|
f_nonlinear | |
Inherited | |
f_nonlinear_Data | Data specific for function f_nonlinear |
solve | 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 := Buildings.Fluid.HeatExchangers.BaseClasses.epsilon_ntuZ(
NTU=x,
Z=p,
flowRegime=Integer(Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed));
end f_nonlinear;