import math def moment_inertie(b, h): """ Calcule le moment d'inertie pour une section rectangulaire. """ return (b * h**3) / 12 def fleche_maximale(E, I, L, w): """ Calcule la flèche maximale d'une planche sous une charge uniformément répartie. """ return (5 * w * L**4) / (384 * E * I) def poids_reparti(P, L, g=9.81): """ Calcule la charge uniformément répartie en fonction du poids total. """ return (P * g) / L def epaisseur_planche_combinee(E_bois, E_verre, b, L, w, delta_max, h_verre): """ Calcule l'épaisseur nécessaire de la planche en bois doublée de verre pour respecter la flèche maximale admissible. """ # Calcul du moment d'inertie de la section en verre I_verre = moment_inertie(b, h_verre) A_verre = b * h_verre # Résoudre pour h en utilisant une méthode itérative pour la contribution combinée h_bois = 0.01 # Initialiser une épaisseur initiale pour le bois for _ in range(100): # Effectuer une itération pour convergence I_bois = moment_inertie(b, h_bois) A_bois = b * h_bois d_bois = h_bois / 2 d_verre = h_verre / 2 + h_bois I_total = I_bois + I_verre + A_bois * d_bois**2 + A_verre * d_verre**2 E_total = (E_bois * I_bois + E_verre * I_verre) / I_total # Calculer la flèche maximale pour la configuration actuelle delta = fleche_maximale(E_total, I_total, L, w) if delta <= delta_max: break h_bois += 0.001 # Augmenter l'épaisseur du bois et réévaluer return h_bois, delta def main(): # Propriétés matérielles et dimensions pour le contreplaqué marine et le verre E_bois = 5430000000 # Module de Young en Pascals pour le contreplaqué marine E_verre = 70e9 # Module de Young en Pascals pour le verre b = 0.8 # Largeur de la planche en mètres L = 0.63 # Longueur de la planche en mètres P = (250+200+1200)/3 # Poids total en kilogrammes delta_max = 0.001 # Flèche maximale admissible en mètres (par exemple, 1 mm h_verre = 0.015 # Épaisseur du verre en mètres (15 mm) # Calcul de la charge uniformément répartie w = poids_reparti(P, L) # Calcul de l'épaisseur nécessaire de la planche en bois doublée de verre h_bois, delta = epaisseur_planche_combinee(E_bois, E_verre, b, L, w, delta_max, h_verre) # Calcul du moment d'inertie combiné avec l'épaisseur trouvée I_bois = moment_inertie(b, h_bois) I_verre = moment_inertie(b, h_verre) A_bois = b * h_bois A_verre = b * h_verre d_bois = h_bois / 2 d_verre = h_verre / 2 + h_bois I_total = I_bois + I_verre + A_bois * d_bois**2 + A_verre * d_verre**2 print(f"L'épaisseur nécessaire de la planche en bois est de: {h_bois*1000} mm") #print(f"Le moment d'inertie total de la section est de: {I_total} m^4") #print(f"La charge uniformément répartie est de: {w:.4e} N/m") print(f"La flèche maximale est de: {delta*1000} mm") if __name__ == "__main__": main()