Skip to content
Engineering_tools.py 32.5 KiB
Newer Older
anon's avatar
anon committed
def pipes(p,v,d,mu,r,l,h):
    g = 9.81
    """
    input
    p : pression d'entrée
    v : vitesse d'entrée
    d : densité d'entrée
    mu : viscosité 
    r : rayon
    l : longueur
    h : longueur total projeté sur l'axe vertical
    output
    ps : pression sortie
    vs : vitesse sortie
    """
    pe = p + (d*g*h) - (8*mu*l*v/(r^2))
    ve = v
    
    return ps,vs

def heat_exchanger(p,v,d,mu,r,l,L):
    g = 9.81
    """
    input
    p : pression d'entrée
    v : vitesse d'entrée
    d : densité d'entrée
    mu: viscosité dynamique
    r : rayon
    l : longueur
    h : longueur total projeté sur l'axe vertical
    L : chaleur latente de vaporisation
    """
    
    pe = p + (d*g*h) - (8*mu*l*v/(r^2))
    ve = v 
    
    #heat_exchanger
    ps = p - (L*d*S*l)
    vs = ve 
    
    return ps,vs

def valves(x,p,v,dp):
    pi = 3.1415926
    """
    input
    x: état imposé d'ouverture de la valve
    p: pression d'entrée
    v: vitesse d'entrée
    dp: pressure drop
    output
    xs: état actuel d'ouverture de la valve
    ps: pression de sortie de valves
    vs: vitesse d'entrée
    """
    ps = p - dp #f(p,v,...) 
    vs = v 
    xs = x
    
    return xs,vs,ps
    
def combustion_chamber(dth, gamma):
    """
    
    dth: Diameter of throat 
    
    """
    
    # Determiner Acc/At:
    
    r_a = (8*(dth)**(-0.6))+1.25
    
    # Déterminer Mcc
    
    Mcc = inv_ratioareasec_mach(r_a, gamma)
    
    # Déterminer la section de sortie
    
    Ath = pi*(dth**2)/4
    
    Acc = r_a*Ath
    
    dcc = 2*sqrt(Acc/pi)
    
    # Déterminer la température de sortie
    
    Tcc = 4000
    
    return Tcc, Pcc, Acc 

def electric_turbo():
    """
    """
    
def closed_expander():
    """
    """
    
def dual_expander():
    """
    """
    
    
    
    
    
    
    
def open_expander():
    """
    """
   
def tap_off():
    """
    """
    
def gas_generator():
    """
    """
    
def ox_rich_staged_combust():
    """
    """
    
def full_flow_staged_combust():
    """
    """
def inv_ratioareasec_mach(rsa,gamma,subsup)
    """
    inputs
    rsa : ratio des sections des aires
    gamma : coefficient de Laplace
    subsup : recherche d'un Mach sub ou supersonic (0|1)
    Ce dernier input est lier à l'initialisation de la méthode.
    """
    np.float128
    gamma=1.4
    epsilon=1e-10
    if subsup=1 :
        x=5
    else:
        x=0.2
    iter=0

    while x > epsilon and iter < 20:
        iter += 1
        y=np.sqrt((2/(gamma+1)*(1+(gamma-1)*(x**2)/2))**((gamma+1)/(gamma-1))/x**2)-rsa
        xp=x+epsilon
        yp=np.sqrt((2/(gamma+1)*(1+(gamma-1)*(xp**2)/2))**((gamma+1)/(gamma-1))/xp**2)-rsa
        x=x-epsilon*(y/(yp-y)) 
        #pour afficher chaque itération, décommenter
        #print(x,y,iter)
    
    return x


>>>>>>> 1c1d15bbcbe958e44641336266bad5cfe11f9079