aaaaa.py

Created by teivaetienne

Created on December 03, 2025

7.65 KB


def menu():
  while True:
    print("\n=== BIBLE FLUIDES/THERMO ===")
    print("1. THERMO: Cours (Defs & Courbes)")
    print("2. THERMO: Formules")
    print("3. THERMO: Methodes")
    print("4. FLUIDES: Cours (Regimes & Hyp)")
    print("5. FLUIDES: Formules")
    print("6. FLUIDES: Methodes")
    print("7. ECHANGE: Cours (Types & Profils)")
    print("8. ECHANGE: Formules & Calc")
    print("0. Quitter")
    c = input("Choix? ")
    if c=='1': c_thermo()
    elif c=='2': f_thermo()
    elif c=='3': m_thermo()
    elif c=='4': c_fluides()
    elif c=='5': f_fluides()
    elif c=='6': m_fluides()
    elif c=='7': c_echange()
    elif c=='8': f_echange()
    elif c=='0': break

# ==========================================
# 1. THERMODYNAMIQUE
# ==========================================
def c_thermo():
  print("\n-- COURS & DEFINITIONS --")
  print("SYSTEME:")
  print(" - Ouvert: Echange Masse + Energie")
  print(" - Ferme: Echange Energie (pas masse)")
  print(" - Isole: Aucun echange")
  print("\nTRANSFORMATIONS (Diag Clapeyron P=f(V)):")
  print("1. ISOCHORE (V=cst):")
  print("   -> Ligne VERTICALE")
  print("   -> Signif: Volume fige (ex: cocotte)")
  print("2. ISOBARE (P=cst):")
  print("   -> Ligne HORIZONTALE")
  print("   -> Signif: Pression cst (ex: piston libre)")
  input("Suivant...")
  print("3. ISOTHERME (T=cst):")
  print("   -> Courbe HYPERBOLE (douce)")
  print("   -> Signif: T regulee ou tres lent")
  print("   -> PV = Cst")
  print("4. ADIABATIQUE (Q=0):")
  print("   -> Courbe HYPERBOLE (RAIDE/PENTUE)")
  print("   -> Plus pentue que l'isotherme!")
  print("   -> Signif: Pas d'echange chaleur")
  print("   -> (Isolant ou tres rapide)")
  print("   -> PV^gamma = Cst")
  input("Suivant...")
  print("CYCLES:")
  print(" - Sens HORAIRE = MOTEUR (W<0, fourni)")
  print(" - Sens ANTI-HORAIRE = RECEPTEUR (W>0)")
  print("   (Frigo ou Pompe a Chaleur)")
  print("GAZ PARFAIT (Hypotheses):")
  print(" - Mol. ponctuelles (vol negligeable)")
  print(" - Pas d'interaction a distance")

def f_thermo():
  print("\n-- FORMULES THERMO --")
  print("LOIS:")
  print(" PV = nRT (P:Pa, V:m3, T:Kelvin!)")
  print(" n = m/M | R = 8.314")
  print(" T(K) = T(C) + 273.15")
  print(" 1 bar = 10^5 Pa | 1 L = 10^-3 m3")
  print("\nCOEFFICIENTS:")
  print(" Alpha = 1/V (dV/dT)p (Dilatation)")
  print(" Beta = 1/P (dP/dT)v")
  print(" Khi_T = -1/V (dV/dP)T (Compress.)")
  print(" Relation: Alpha = P . Beta . Khi_T")
  input("Suivant...")
  print("ENERGIES:")
  print(" dU = W + Q (1er Principe)")
  print(" H = U + PV (Enthalpie)")
  print(" GP (Joule): dU=n.Cv.dT | dH=n.Cp.dT")
  print(" Mayer: Cp-Cv=R | gamma=Cp/Cv (>1)")
  print(" Mono: y=1.67 | Di: y=1.4")
  print("\nCALCUL TRAVAIL W:")
  print(" Isochore: W=0")
  print(" Isobare: W = -P(V2-V1)")
  print(" Isotherme: W = -nRT.ln(V2/V1)")
  print(" Adiabatique: W = dU = n.Cv.dT")
  print("              ou (P2V2-P1V1)/(y-1)")
  input("Suivant...")
  print("RENDEMENTS (e):")
  print(" e = |Utile / Payee|")
  print(" Moteur: e = -W / Qc  (0 < n < 1)")
  print(" Frigo: COP = Qf / W")
  print(" PAC: COP = -Qc / W")
  print(" Carnot (Ideal): e = 1 - Tf/Tc")

def m_thermo():
  print("\n-- METHODE RESOLUTION --")
  print("1. Identifier le systeme (GP?)")
  print("2. Identifier la transformation")
  print("   (mot-cles: 'lent', 'isole', 'rigide')")
  print("3. Tableau des etats (P, V, T):")
  print("   - Remplir avec PV=nRT")
  print("   - Utiliser les lois (ex: V1=V2)")
  print("4. Calculer W et Q:")
  print("   - W avec formule specifique")
  print("   - Q souvent via dU = W+Q")
  print("     (car dU facile a calc avec T)")
  print("5. Cycle:")
  print("   - dU_cycle = 0")
  print("   - W_cyc + Q_cyc = 0")

# ==========================================
# 2. MECANIQUE DES FLUIDES
# ==========================================
def c_fluides():
  print("\n-- COURS FLUIDES --")
  print("REGIMES (Reynolds Re):")
  print(" - LAMINAIRE (Re < 2000):")
  print("   Ecoulement calme, filets //")
  print("   Viscosite dominee.")
  print(" - TRANSITOIRE (2000 < Re < 4000)")
  print(" - TURBULENT (Re > 4000):")
  print("   Agitation, chaos, melange.")
  print("   Inertie dominee.")
  input("Suivant...")
  print("HYPOTHESES BERNOULLI:")
  print(" 1. Fluide Parfait (visco = 0)")
  print(" 2. Incompressible (rho = cst)")
  print(" 3. Permanent (pas de var/temps)")
  print(" 4. Meme ligne de courant")
  print("DEFINITIONS:")
  print(" - Pression: Force/Surface")
  print(" - Viscosite dyn (mu): Pa.s")
  print(" - Viscosite cine (nu): m2/s")
  print("   nu = mu / rho")

def f_fluides():
  print("\n-- FORMULES FLUIDES --")
  print("STATIQUE:")
  print(" P_bas - P_haut = rho . g . h")
  print(" P_abs = P_rel + P_atm")
  print(" Force paroi = Integrale(P.dS)")
  print(" Mur rect: F = 1/2.rho.g.L.h^2")
  print(" Archimede: Pi = rho_liq . V_imm . g")
  input("Suivant...")
  print("DYNAMIQUE:")
  print(" Qv = S.v (Debit vol m3/s)")
  print(" Qm = rho.Qv (Debit mass kg/s)")
  print(" Continuite: S1.v1 = S2.v2")
  print(" Reynolds: Re = (rho.v.D)/mu")
  print("\nBERNOULLI (z vers haut):")
  print(" P + rho.g.z + 1/2.rho.v^2 = Cst")
  print(" GENERALISE (Reel):")
  print(" EA + Epompe = EB + dP_pertes")
  input("Suivant...")
  print("PERTES DE CHARGE (dP):")
  print(" Lineaire: dP = lam . L/D . 1/2rho.v^2")
  print("  - Laminaire: lam = 64/Re")
  print("  - Turbulent: Blasius (0.316.Re^-0.25)")
  print(" Singuliere: dP = K . 1/2rho.v^2")
  print("  - K depend geometrie (Coude...)")
  print("INSTRUMENTS:")
  print(" Torricelli (vidange): v = sqrt(2gh)")
  print(" Pitot: v = sqrt(2.DeltaP / rho)")
  print(" Euler: F = Qm(v_out - v_in)")

def m_fluides():
  print("\n-- METHODE FLUIDES --")
  print("1. STATIQUE ou DYNAMIQUE ?")
  print("   v=0 -> Statique")
  print("   v>0 -> Bernoulli")
  print("2. BERNOULLI:")
  print("   a) Choisir point A et B")
  print("      (Surface libre, Sortie, Entree)")
  print("   b) Lister les termes:")
  print("      - P: Patm souvent")
  print("      - v: 0 si grand reservoir")
  print("      - z: fixer l'origine z=0")
  print("   c) Ajouter Pertes et Pompe si besoin")
  print("3. SYSTEME:")
  print("   Souvent coupler Bernoulli avec")
  print("   Continuite (S1v1=S2v2) pour trouver v")

# ==========================================
# 3. ECHANGEURS & TRANSFERTS
# ==========================================
def c_echange():
  print("\n-- COURS ECHANGEURS --")
  print("MODES TRANSFERT:")
  print(" 1. Conduction (Contact, loi Fourier)")
  print("    -> Dans les solides")
  print(" 2. Convection (Fluide, loi Newton)")
  print("    -> Entre solide et fluide")
  print("    -> Naturelle ou Forcee")
  print(" 3. Rayonnement (Ondes)")
  input("Suivant...")
  print("TYPES ECHANGEURS:")
  print(" - Coaxial (Tube dans tube)")
  print(" - Tubulaire (Faisceau)")
  print(" - A plaques (Compact, Performant)")
  print("PROFILS TEMPERATURE:")
  print(" - Co-courant: Ecarts diminuent vite")
  print("   T_sortie_froid < T_sortie_chaud")
  print(" - Contre-courant (Le + efficace):")
  print("   Ecarts constants, meilleur rendement")

def f_echange():
  print("\n-- FORMULES ECHANGE --")
  print("RESISTANCES (Rth):")
  print(" Mur: R = e / (lambda.S)")
  print(" Tube: R = ln(Re/Ri) / (2pi.L.lam)")
  print(" Convect: R = 1 / (h.S)")
  print(" Serie: R_eq = R1 + R2 + ...")
  print(" Flux Phi = DeltaT / R_eq")
  input("Suivant...")
  print("DIMENSIONNEMENT (DTLM):")
  print(" 1. Puissance P = m.Cp.|Te - Ts|")
  print("    (Valable cote chaud et froid)")
  print(" 2. Flux Phi = U . S . DTLM")
  print("    (U = Coeff global echange)")
  print("    1/U approx 1/hi + e/lam + 1/he")
  print(" 3. DTLM = (dT1 - dT2) / ln(dT1/dT2)")
  print("    dT1 = Ecart temp entree")
  print("    dT2 = Ecart temp sortie")
  print("    /!\ Sens (Co vs Contre) change dT!")

# Lancement
menu()

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.