''' Intérprete de texto ''' import sys import os pyENL_path = os.path.realpath(__file__)[0:-10] sys.path.append(pyENL_path) from solver import solver from utils import variables, random_lim, variables_string from numpy import inf from CoolProp.CoolProp import PropsSI as prop from CoolProp.CoolProp import HAPropsSI as haprop from time import time import optparse from pint import _DEFAULT_REGISTRY as pyENLu pyENLu.load_definitions(pyENL_path + "units.txt") sindim = ((1 * pyENLu.m) / (1 * pyENLu.m)).units try: from .expimp import sols2odt, sols2tex except: pass class pyENL_variable: ''' Clase creadora de objetos de tipo variable para las resoluciones de las ecuaciones no lineales. ''' def __init__(self, nombre): ''' Función creadora, dado un nombre de variable crea la instancia de la
#!/usr/bin/env python3 '''Núcleo del solucionador de ecuaciones de pyENL''' import scipy.optimize as opt from numpy import * from pyENL_fcns import * ln = log log = log10 import warnings from pint import _DEFAULT_REGISTRY as u from utils import variables , bloques u.load_definitions("units.txt") # from time import time as pyENL_time # Definición de la función a resolver # pyENL designa acá el vector de posibles soluciones que se está probando def pyENL_sistema(pyENL, pyENL_variables, pyENL_eqns): ''' Evalúa el sistema de ecuaciones que ingresa el usuario donde: pyENL: Valores numéricos para evaluar pyENL_variables: Objetos variables pyENL_eqns: Ecuaciones (lista de strings) ''' cantidad_eqns = len(pyENL_variables) # Asignación de variables pyENL_eqns = list(pyENL_eqns) for cont, var in enumerate(pyENL_variables): print("----------------------")
''' Funciones propias de pyENL ''' from fluids import atmosphere as atm from fluids import compressible as comp from fluids import control_valve as cv from CoolProp.CoolProp import PropsSI as proppyENL from CoolProp.CoolProp import HAPropsSI as haproppyENP from pint import _DEFAULT_REGISTRY as pyENLu try: pyENLu.load_definitions("units.txt") except: pass parse = pyENLu.parse_units unit_pyENL = pyENLu.m # TODO # Funciones de CoolProp pasarlas por un wrapper de unidades! # Diccionario Coolprop dicc_coolprop = { 'DMOLAR': parse('mole/m^3'), 'Dmolar': parse('mole/m^3'), 'D': parse('kg/m^3'), 'DMASS': parse('kg/m^3'), 'Dmass': 'kg/m^3', 'HMOLAR': parse('J/mol'), 'Hmolar': parse('J/mol'), 'H': parse('J/kg'), 'HMASS': parse('J/kg'),