Certain components offer the possibility to control the component behaviour via the specification of a
to regulate.
The name adaption polynomial is actually misleading, because other mathematical functions can be used in ADAPT instead of polynomials. All mathematical functions available in Ebsilon can be used such as sin(), cos(), log(), sqrt() etc.. The syntax for ADAPT formulas is described in the Ebsident Syntax chapter.
For some components, there is a specification value EADAPT in addition to ADAPT. In EADAPT, a "kernel expression" function is to be specified instead of a formula. The complete EbsScript functionality can be used in the EbsScript editor. The syntax of the kernel expressions is not the Ebsident syntax but the EbsScript syntax. In a kernel expression, the unit @KernelExpression can be used.
Like a normal specification value, EADAPT and the expressions in different profiles can contain different formulas. ADAPT, on the other hand, like e.g. the component name, is not profile-dependent.
The simulation or validation result for ADAPT or EADAPT is usually output in the result value RADAPT of the component.
As a rule, the default value FADAPT can be used to specify the use of ADAPT or EADAPT. Often these usages are possible:
Because there can only be one adaptional polynomial ADAPT for each component, but nevertheless for some components it is necessary to replace more than one default value with a formula, there are additionally one or more expressions with kernel expressions for these components. All mathematical functions available in Ebsilon can also be used in the kernel expressions.
It should be noted that the formulas or functions entered in ADAPT or EADAPT or the expressions are evaluated during the iteration in each calculation step. Especially in the first calculation steps of a simulation, it must be taken into account that the variables used in the formula will also assume unexpected values that are still far from the real solution. The formula must also be able to "handle" these variable values, i.e. it should also deliver a physically meaningful result value in these cases, which does not lead to the termination of the calculation or a bad convergence behaviour. The use of the MIN or MAX functions can contribute to this or also the use of the conditional expression x ? y : z.
The adaption polynomial is entered into the field as a formula. Please refer to the EbsIdent documentation for the generation and syntax of the formulas that can be used.
The "Delete" button can be used to delete the field.
Note that the adaption polynomial is only considered by the calculation kernel if the specification value FADAPT is set accordingly.
Hint
Normally, negative values are not accepted for adaption polynomials, as this is also not useful for physical quantities such as efficiencies, heat transfer coefficients and branching ratios.
The exception was the calculation module - component 77, since constructions are conceivable in which negative values are needed.
However, the same reasoning applies to the signal transformer.
Therefore, negative values for the adaptation polynomial are also allowed for this component. In circuits containing components 36 where the adaptation polynomial would have become negative, this can lead to changes. The value was truncated to 0 and a warning was issued.
The calculation continues with the negative value. However, these cases are easy to find if you look at the RADAPT results of all components 36 in the value table.
If you still want the polynomial to be truncated at 0, you can change this in
max (0, "OldPolynomial")
Then the component behaves like "Polynomial truncated at 0".
References in adaption polynomials
In adaption polynomials ADAPT an expression "innn" can be used to refer to a value at another location in the model where a component 45 (value display) with the corresponding number nnn is located in the default value FIND.
This reference can also be made using the name of the component 45. This syntax is:
i[Name]
Where Name is the name of the corresponding value display (component 45), either with or without context.
However, the reference via name can only be made to value displays for which FIND=0 is set. Simultaneous access via name and via index is not possible.
Access via name facilitates use in macros in particular, as the FIND numbers used within the macro must be adjusted when copying macros, as these must be unique throughout the model.
Examples:
i55
i[::Value_Indicator_7]