#Dette scriptet løser en reaktor som dehydrogenerer etanol
#Vegard Jervell 08.02-18

import scipy.optimize as op

def deHyd(x):
    #definerer kjennte variable
    n0_C2H5OH = 120     #mol/h (strøm inn i reaktor)

    n0_H2 = 0
    n0_CH3CHO = 0
    n0_CH3COOC2H5 = 0

    #molbrøker ut av reaktor
    x1_C2H5OH = 0.417
    x1_H2 = 0.307
    x1_CH3CHO = 0.246
    x1_CH3COOC2H5 = 0.03

    #definerer ukjente variable
    n1_C2H5OH = x[0]
    n1_H2 = x[1]
    n1_CH3CHO = x[2]
    n1_CH3COOC2H5 = x[3]

    n1_T = x[4]

    #setter opp likninger
    eq0 = n1_T - (n1_C2H5OH + n1_CH3CHO + n1_CH3COOC2H5 + n1_H2)

    eq1 = n1_C2H5OH - (x1_C2H5OH * n1_T)
    eq2 = n1_H2 - (x1_H2 * n1_T)
    eq3 = n1_CH3CHO - (x1_CH3CHO * n1_T)

    eq4 = n1_C2H5OH - (n0_C2H5OH - n1_H2)

    balance = [eq0, eq1, eq2, eq3, eq4]

    return balance

Gn1_C2H5OH = 70
Gn1_H2 = 500
Gn1_CH3CHO = 20
Gn1_CH3COOC2H5 = 3

Gn1_T = 160

Glist = [Gn1_C2H5OH,Gn1_H2,Gn1_CH3CHO,Gn1_CH3COOC2H5,Gn1_T]

ans = op.root(deHyd,Glist).x

print(ans)
