예제 #1
0
def variablesATR():
    temperature, pression, ratio, ratioO2, flux = getVariableATR(
    )  # Importe les variables depuis Variables.py
    #CH4_flux, O2_flux, CO2_flux, H2O_flux = combustion([flux, ratioO2*flux,0,0])
    KSMR = 10**(
        -(11650 / temperature) + 13.076
    )  # Constante d’equilibre de la reaction Steam Methane Reforming (SMR)
    KWGS = 10**(
        (1910 / temperature) - 1.764
    )  # Constante d’equilibre de la reaction Water–Gas Shift (WGS) lors du vaporeformage
    return [temperature, pression, ratio, ratioO2, flux, KSMR, KWGS]
예제 #2
0
def verifATR(z):
    x, y = z
    temperature, pression, ratio, ratioO2, flux, KSMR, KWGS = getVariableATR()
    KSMR = 10**(-(11650 / temperature) + 13.076)
    KWGS = 10**((1910 / temperature) - 1.764)
    return np.array([
        KSMR * (flux * (1 - ratioO2 / 2) - x) * (flux *
                                                 (ratio + ratioO2) - x - y) *
        (flux * (1 + ratio + ratioO2) + 2 * x)**2 -
        ((x - y) * (3 * x + y)**3) * pression**2,
        KWGS * (flux * (ratio + ratioO2) - x - y) * (x - y) -
        ((ratioO2 / 2) + y) * (3 * x + y)
    ])
예제 #3
0
def ATRDegreAvancement(arg):
    temperature, pression, ratio, ratioO2, flux = getVariableATR()      # Importe les variables depuis Variables.py
    flux_Sortant = np.array([ flux*(1-ratioO2/2)-arg[0] , flux*(1+ratio+ratioO2) - arg[0] - arg[1] , arg[0] - arg[1] , 3*arg[0] + arg[1], ratioO2/2 + arg[1]])
    wgs_sortant = waterGasShift([flux_Sortant[2], flux_Sortant[1], flux_Sortant[4], flux_Sortant[3]])
    flux_Sortant[2] = wgs_sortant[0]                     # CO
    flux_Sortant[1] = wgs_sortant[1]                     # H2O
    flux_Sortant[4] = wgs_sortant[2]                     # CO2
    flux_Sortant[3] = wgs_sortant[3]                     # H2
    #print(flux_Sortant)
    #print('################################################### WGS')
    flux_Sortant[1] = 0                                  # Condensation H2O
    #print(flux_Sortant)
    #print('################################################### Condensation')
    flux_Sortant[4] = 0                                  # Absorption CO2
    #print(flux_Sortant)
    #print('################################################### Absorption')
    return flux_Sortant
예제 #4
0
def variablesATR(arg):
    temperature, pression, ratio, ratioO2, flux = getVariableATR()              # Importe les variables depuis Variables.py
    if arg.lower()=='t':
        temperature_Tab = np.arange(700,1400,25)                                # Tableau contenant les temperatures de 700 a 1400 K
        SMR_T_Tab = np.zeros(len(temperature_Tab))                              # Tableau contenant les degre d'avancement SMR pour chaque temperatures de temperature_Tab
        WGS_T_Tab = np.zeros(len(temperature_Tab))                              # Tableau contenant les degre d'avancement WGS pour chaque temperatures de temperature_Tab
        SMR_T_Tab[-1] = flux/2                                                  # Initialise les deux premieres valeurs de fsolve pour optimiser le temps de calcul
        WGS_T_Tab[-1] = flux/2                                                  # Initialise les deux premieres valeurs de fsolve pour optimiser le temps de calcul
        return [temperature, pression, ratio, ratioO2, flux, temperature_Tab, SMR_T_Tab, WGS_T_Tab]
    elif arg.lower()=='k':
        ratio_Tab = np.arange(1,4,0.1)                                          # Tableau contenant les ratio de H2O/CH4 1 a 4 bar
        SMR_K_Tab = np.zeros(len(ratio_Tab))                                    # Tableau contenant les degre d'avancement SMR pour chaque ratio de ratio_Tab
        WGS_K_Tab = np.zeros(len(ratio_Tab))                                    # Tableau contenant les degre d'avancement WGS pour chaque ratio de ratio_Tab
        return [temperature, pression, ratio, ratioO2, flux, ratio_Tab, SMR_K_Tab, WGS_K_Tab]
    elif arg.lower()=='tk':
        temperature_Tab = np.arange(700,1400,25)                                # Tableau contenant les temperatures de 700 a 1400 K
        ratio_Tab = np.arange(1,4,0.1)                                          # Tableau contenant les ratio de H2O/CH4 1 a 4 bar
        return [temperature, pression, ratio, ratioO2, flux, temperature_Tab, ratio_Tab]
예제 #5
0
def ATRDebitTonne(debit=1000):
    temperature, pression, ratio, ratioO2, flux = getVariableATR()
    molH = ATRFluxSortant(temperature, pression, ratio, ratioO2, flux)[3]
    f = (debit/(24*60*60))/(molH*2*10**(-3))
    print(f)
    print(ATRFluxSortant(temperature, pression, ratio, ratioO2, f))