Description: "Solve f(x, data) for x with given f"

- Home > Modelica

## 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 := epsilon_ntuZ(NTU=x, Z=p, flowRegime=Integer(Buildings.Fluid.Types.HeatExchangerFlowRegime.CrossFlowUnmixed)); end f_nonlinear;