<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Parámetros de ecuaciones cúbicas de estado
En esta sección se presenta la clase ## que es la encargada de establecer los parámetros que se utilizan para las ecuaciones de estado SRK, PR y RKPR. En el caso de las dos primeras se tiene un enfoque clásico de las ecuaciones de estado cúbicas y se requieren establecer los valores de las constantes críticas como temperatura cricia, presión crítica y el factor acéntico. 
En el caso de la ecuación de estado RKPR se requiere además de las constantes cŕiticas anteriormente mencionadas, también los valores de los párametros delta_1, un valor de Zc o un determinado valor de la densidad de líquido saturado, dado lugar a más opciones de especificación de parámetros que las ecuaciones SRK y PR.
A continuación se muestra un diagrama de las diferentes posibles especificaciones de parámetros y constantes para la ecuación RKPR.
diagrama RKPR
importar las linrerías requeridas, en este caso se trata de las librerías numpy, pandas junto con pyther
Step1:  En los ejemplos siguientes se utilizan los datos termodísicos de la base de datos DPPR. Para el caso se tiene como especificación la ecuación de estado RKPR y las constantes criticas para el componente 3-METHYLHEPTANE.
Step2:  De esta forma se observa el calculo simple de los parámetros para la sustancia pura 3-METHYLHEPTANE_RKPR
A continuación se realiza el mismo tipo de calculo pero tomando una serie de 9 sustancias puras, que se pueden extender facilmente a n sustancias, para obtener sus parámetros de nuevo con la ecuación de estado RKPR.
Step3:  Como se observa, los resultados obtenidos son organizados en un DataFrame permitiendo agilizar la manipulación de los datos de una serie de sustancias puras.
Step4:  En el siguiente ejemplo se utiliza la ecuación RKPR pero esta vez con la especificación de la temperatura y densidad de líquido saturado para el CARBON DIOXIDE y de esta forma encontrar el valor del parámetro delta que verifica la especificación realizada para la densidad de líquido saturado.
<ASSISTANT_TASK:>
Python Code:
import numpy as np
import pandas as pd
import pyther as pt
Explanation: Parámetros de ecuaciones cúbicas de estado
En esta sección se presenta la clase ## que es la encargada de establecer los parámetros que se utilizan para las ecuaciones de estado SRK, PR y RKPR. En el caso de las dos primeras se tiene un enfoque clásico de las ecuaciones de estado cúbicas y se requieren establecer los valores de las constantes críticas como temperatura cricia, presión crítica y el factor acéntico. 
En el caso de la ecuación de estado RKPR se requiere además de las constantes cŕiticas anteriormente mencionadas, también los valores de los párametros delta_1, un valor de Zc o un determinado valor de la densidad de líquido saturado, dado lugar a más opciones de especificación de parámetros que las ecuaciones SRK y PR.
A continuación se muestra un diagrama de las diferentes posibles especificaciones de parámetros y constantes para la ecuación RKPR.
diagrama RKPR
importar las linrerías requeridas, en este caso se trata de las librerías numpy, pandas junto con pyther
End of explanation
properties_data = pt.Data_parse()
dppr_file = "PureFull.xls"
component = "3-METHYLHEPTANE"
component = "METHANE"
component = "ETHANE"
component = "PROPANE"
component = "n-HEXATRIACONTANE"
NMODEL = "RKPR"
NMODEL = "PR"
ICALC = "constants_eps"
properties_component = properties_data.selec_component(dppr_file, component)
pt.print_properties_component(component, properties_component)
dinputs = np.array([properties_component[1]['Tc'], properties_component[1]['Pc'],
                    properties_component[1]['Omega'], properties_component[1]['Vc']])
component_eos = pt.models_eos_cal(NMODEL, ICALC, dinputs)
#ac = component_eos[0]
print(component_eos)
Explanation: En los ejemplos siguientes se utilizan los datos termodísicos de la base de datos DPPR. Para el caso se tiene como especificación la ecuación de estado RKPR y las constantes criticas para el componente 3-METHYLHEPTANE.
End of explanation
properties_data = pt.Data_parse()
dppr_file = "PureFull.xls"
components = ["ISOBUTANE", "CARBON DIOXIDE", 'METHANE', "ETHANE", "3-METHYLHEPTANE", "n-PENTACOSANE",
              "NAPHTHALENE", "m-ETHYLTOLUENE", "2-METHYL-1-HEXENE"]
NMODEL = "RKPR"
ICALC = "constants_eps"
component_eos_list = np.zeros( (len(components),4) )
for index, component in enumerate(components):
    
    properties_component = properties_data.selec_component(dppr_file, component)
    pt.print_properties_component(component, properties_component)
    dinputs = np.array([properties_component[1]['Tc'], properties_component[1]['Pc'],
                        properties_component[1]['Omega'], properties_component[1]['Vc']])
    
    component_eos = pt.models_eos_cal(NMODEL, ICALC, dinputs)
    component_eos_list[index] = component_eos 
    
components_table = pd.DataFrame(component_eos_list, index=components, columns=['ac', 'b', 'rm', 'del1'])
print(components_table)
Explanation: De esta forma se observa el calculo simple de los parámetros para la sustancia pura 3-METHYLHEPTANE_RKPR
A continuación se realiza el mismo tipo de calculo pero tomando una serie de 9 sustancias puras, que se pueden extender facilmente a n sustancias, para obtener sus parámetros de nuevo con la ecuación de estado RKPR.
End of explanation
components_table
Explanation: Como se observa, los resultados obtenidos son organizados en un DataFrame permitiendo agilizar la manipulación de los datos de una serie de sustancias puras.
End of explanation
properties_data = pt.Data_parse()
dppr_file = "PureFull.xls"
component = "CARBON DIOXIDE"
NMODEL = "RKPR"
ICALC = "density"
properties_component = properties_data.selec_component(dppr_file, component)
pt.print_properties_component(component, properties_component)
#dinputs = np.array([properties_component[1]['Tc'], properties_component[1]['Pc'],
#                    properties_component[1]['Omega'], properties_component[1]['Vc']])
T_especific = 270.0
RHOLSat_esp = 21.4626
# valor initial of delta_1
delta_1 = 1.5
dinputs = np.array([properties_component[1]['Tc'], properties_component[1]['Pc'],
                    properties_component[1]['Omega'], delta_1, T_especific, RHOLSat_esp])
component_eos = pt.models_eos_cal(NMODEL, ICALC, dinputs)
print(component_eos)
Explanation: En el siguiente ejemplo se utiliza la ecuación RKPR pero esta vez con la especificación de la temperatura y densidad de líquido saturado para el CARBON DIOXIDE y de esta forma encontrar el valor del parámetro delta que verifica la especificación realizada para la densidad de líquido saturado.
End of explanation
<END_TASK>