a
    7bO                     @   s`   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 ejZG dd	 d	ejZdS )
    )print_function)*N)platformexit)path   )thermoc                       s*   e Zd ZdZ fddZdddZ  ZS )	ext_cspz
    Interface to tc-PR
    c                    s(   t t|   t| j| dd| _dS )z@
        Initialize extended corredsponding state model
        Z
eoslibinitZinit_extcspN)superr	   __init__getattrtpZget_export_nameeoslibinit_init_extcsp)self	__class__ b/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/pyctp/extended_csp.pyr      s    zext_csp.__init__ClassicDefaultc	                 C   sT  |    t|d}	tt|}
t|d}tt|}t|d}tt|}t|d}tt|}t|d}tt|}t|d}tt|}t|d}tt|}t|d}tt|}ttttttttttttttttg| j_d| j_| |	||||||||
||||||| tt|	dt|	d| _
dS )a  Initialize extended corredsponding state model model.

        Args:
            comps (str): Comma separated list of component names
            sh_eos (str): Shape factor equation of state
            sh_alpha (str): Shape factor alpha
            sh_mixing (str): Shape factor mixing rules
            ref_eos (str): Reference equation of state
            ref_comp (str): Reference component
            ref_alpha (str): Needed if refEos is a cubic eos. Should not be present if one want to use an mbwr reference eos. Defaults to "Classic"
            parameter_reference (str, optional): Identefier for parameters set. Defaults to "Default".
        asciiN ,)activatec_char_pencode
c_len_typelenr   argtypesrestypemaxsplitZnc)r   compsZsh_eosZsh_alphaZ	sh_mixingZref_eosZref_compZ	ref_alphaZparameter_referenceZcomp_string_cZcomp_string_lenZsh_eos_cZ
sh_eos_lenZ
sh_alpha_cZsh_alpha_lenZsh_mixing_cZsh_mixing_lenZ	ref_eos_cZref_eos_lenZ
ref_comp_cZref_comp_lenZref_alpha_cZref_alpha_lenZref_string_cZref_string_lenr   r   r   init#   sj    zext_csp.init)r   r   )__name__
__module____qualname____doc__r   r#   __classcell__r   r   r   r   r	      s
     r	   )
__future__r   ctypesZnumpynpsysr   r   osr    r   r   Z
thermopackr	   r   r   r   r   <module>   s   