pyENL
pyENL copied to clipboard
Cross-platform engineering nonlinear equations systems solver [Under construction 🚧]
pyENL
(Python "Ecuaciones No Lineales")
A baby tiny open-source alternative to Engineering Equation Solver (EES)
*
Description
Engineering nonlinear equations systems solver
Features
- [x] Solve numerically systems equations from MINPACK method of SciPy.
- [x] More solvers available from: scipy.optimize.root
- [x] Physical units support
- [x] CoolProp thermodynamical functions support
- [ ] Engineering functions inside
- [ ] Users functions (Python).
- On development stage!
Use:
- Terminal mode:
entrada.py -f file_text -t[seconds]:
Equations file with conditions of each variable. Example: - x^2+y^2 = 1 - y = 2*x - 5 - {x, 1, -5, 5}
In this case, the target is solve the equations in a file text with the following restrictions: x it's betweet -5 and 5, and the initial guess for x is 1.
- Comments between symbols: "<<" and ">>"
- Example: test/input2.xt
- GUI (User Interface):
File pyENL.py run the Qt interface for pyENL.
- Screenshots:
![](https://jon85p.github.io/pyENL/images/s1.png)
![](https://jon85p.github.io/pyENL/images/s2.png)
![](https://jon85p.github.io/pyENL/images/s3.png)
![](https://jon85p.github.io/pyENL/images/s4.png)
Thermodynamical properties
Via CoolProp, an open source thermodynamical properties library. Install:
pip install coolprop
-
The pyENL function "prop" it's used for this purpose: CoolProp Documentation
-
Example: Water enthalpy at atmosferic pressure and 300 K:
prop('H', 'P', 101325, 'T', 300, 'Water')
Strings variables:
#ref# = 'R134a'
P = prop('P', 'T', 300, 'Q', 0, #ref#)
H = prop('H', 'P', P, 'T', 300, #ref#)
Icon by @fabianalexisinostroza