Skip to content
/ pyENL Public

Cross-platform engineering nonlinear equations systems solver [Under construction 🚧]

License

Notifications You must be signed in to change notification settings

jon85p/pyENL

Repository files navigation

pyENL

(Python "Ecuaciones No Lineales")

A baby tiny open-source alternative to Engineering Equation Solver (EES)

Build Status codecov Code Health license

*

Description

Engineering nonlinear equations systems solver

Features

  • Solve numerically systems equations from MINPACK method of SciPy.
  • More solvers available from: scipy.optimize.root
  • Physical units support
  • 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:

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