a
    7b	                     @   sl   d dl mZ d dlT d dlZd dlmZmZ d dlm	Z	 ddl
mZ ddl
mZ ejZG d	d
 d
ejZdS )    )print_function)*N)platformexit)path   )thermo)cubicc                       s*   e Zd ZdZ fddZdddZ  ZS )	tcPRz
    Interface to tc-PR
    c                    s(   t t|   t| j| dd| _dS )z<
        Initialize tcPR specific function pointers
        Z
eoslibinitZ	init_tcprN)superr
   __init__getattrtpZget_export_nameeoslibinit_init_tcpr)self	__class__ Z/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/pyctp/tcPR.pyr      s    ztcPR.__init__vdWNc           
      C   s   |    t|d}tt|}t|d}tt|}|du rTt }td}	nt|d}tt|}	ttttttg| j_d| j_| ||||||	 tt|	dt|	d| _
dS )aj  Initialize tc-PR model. Translated and consistent cubic EoS by le Guennec et al.
        (10.1016/j.fluid.2016.09.003)

        Args:
            comps (str): Comma separated list of component names
            mixing (str, optional): Mixture model. Defaults to "vdW".
            parameter_ref (str, optional): Parameter reference additional to "tcPR".
        asciiNr    ,)activatec_char_pencode
c_len_typelenr   argtypesrestypemaxsplitZnc)
r   compsZmixingZparameter_referenceZmixing_cZ
mixing_lenZcomp_string_cZcomp_string_lenZparameter_reference_cZparameter_reference_lenr   r   r   init%   s4    	
z	tcPR.init)r   N)__name__
__module____qualname____doc__r   r#   __classcell__r   r   r   r   r
      s   r
   )
__future__r   ctypesZnumpynpsysr   r   osr    r   r	   r   r
   r   r   r   r   <module>   s   