Engee Physical Modeling Language
In most cases, for physical modeling in Engee, it is sufficient to use the standard physical block library. These ready-made blocks cover the main work scenarios and allow you to quickly assemble models by simply connecting the blocks together. This approach is the basic way to work with physical modeling in Engee.
However, there are situations when typical physical blocks are not enough. In such cases, you can create physical component is its own physical unit, the logic of operation and parameters of which are completely determined by the user himself. This allows you to describe a unique mathematical model that is not included in the physical library, and use such blocks in Engee models along with other blocks.
To describe such components, the Engee physical modeling language is used. It is declarative because there is no need to write a step-by-step algorithm (as in imperative languages like Julia or Python). Instead, the relationships between the quantities are given in the form of a system of differential equations.
Thus, the language describes what a physical component (a self-created physical block) should do, and how to calculate it is determined automatically by the Engee solver: it converts equations, checks dimensions, and solves them numerically.