diff --git a/AGENTS.md b/AGENTS.md index 1ff447b..ffa1575 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,7 +20,8 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié - Pour proposer le cours suivant, regarder en priorité les sujets des semaines à venir encore sans support. 2. **Réunir les sources.** - Les polycopiés reçus sont rangés dans `Polycopies/`, un dossier par polycopié (par exemple `IWE_2.7_3.11_Tancret_Mecanique_de_la_rupture/`). Ce dossier est local et ignoré par Git. - - Leur reproduction est interdite. Ne jamais recopier leurs images, scans ou passages : redessiner en SVG, reformuler et renvoyer aux pages. + - Leur reproduction est interdite. Ne jamais recopier leurs images, scans ou passages : redessiner en SVG et reformuler. + - Les pages publiées ne citent pas les polycopiés : ni renvoi de page, de paragraphe ou de figure, ni « le polycopié… » (voir « Neutralité »). - Les PDF de `Planning/` gardent leur règle propre. 3. **Proposer un plan.** - Si le sujet est vaste, proposer un plan de série : nombre de cours, périmètre de chacun, pages de la source. @@ -38,7 +39,8 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié - les ancres utiles en complément d'autres sujets (`#cN`) ; - les prérequis et les mots-clés ; - l'URL proposée, `/NN-slug.html` ; - - les limites connues. + - les limites connues ; + - les erreurs ou ambiguïtés relevées dans la source, qui ne sont pas signalées dans la page. 6. **Intégrer et publier**, selon « Stories et TDD » et « Routine de réception des supports ». - Étapes : story, test de parcours RED puis GREEN, `wiki ajouter` avec des métadonnées explicites, liens du planning et `docs/PLANNING.md`, vérifications, commit, push, puis contrôle de GitHub Actions et du site. - L'intégration ne modifie pas la source. Un défaut constaté est consigné dans la story et signalé, pour être corrigé dans la source. @@ -70,8 +72,9 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié - Le dernier cours d'une série annonce la fin de la série au lieu d'un cours suivant, dans l'encadré final, le quiz et la check-list. - Les fichiers de travail (fragments, assemblage, scripts de vérification, captures) restent hors du dépôt. - Si un document de référence est fourni (polycopié, annales) : - - aligner les notations, les conventions de signe et les renvois de pages sur ce document ; - - signaler de façon neutre ses éventuelles erreurs ou ambiguïtés. + - aligner les notations et les conventions de signe sur ce document, sans le citer dans la page ; + - présenter une notation différente rencontrée ailleurs comme une « autre notation courante » ; + - consigner ses éventuelles erreurs ou ambiguïtés dans la fiche d'intégration, et donner dans le cours l'énoncé correct. ### Direction visuelle (identique pour toute une série) @@ -96,7 +99,7 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié 2. **Sommaire collant** qui surligne la section en cours de lecture. 3. **« Avant de commencer ».** - Le rappel du cours précédent en 3 cases. - - La correspondance avec le document de référence (s'il existe) et avec le sujet du planning (code IWE et intitulé). + - La correspondance avec le sujet du planning (code IWE et intitulé) et, si utile, avec le référentiel de l'IIW. - Pourquoi ce cours compte dans la pratique. - Le plan du cours. 4. **5 à 7 chapitres**, chacun avec : @@ -109,7 +112,9 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié - Chaque sous-question a), b), c) est sur sa propre ligne. - La correction est masquée derrière « Voir la correction » et détaillée pas à pas, avec les unités. 6. **Quiz interactif** de 12 questions à choix multiples, avec une explication pour chaque réponse et un score. -7. **Fiche mémoire** : 9 cases (emoji, titre, formule clé, une phrase), puis une « visite du musée », une courte histoire qui enchaîne les 9 images dans l'ordre. +7. **Fiche mémoire** : 9 cases (emoji, titre, formule clé, une phrase), puis une **fun fact** (encadré `fun`). + - Une anecdote vraie et vérifiée (histoire d'une découverte, expérience ou réaction surprenante) sur un mécanisme, un principe ou une notion du cours, avec un lien vers le chapitre concerné. + - Elle ne reprend pas une anecdote déjà racontée dans le cours ; son emoji et son titre forment l'« image à retenir » du cartouche de la fiche. 8. **Glossaire** de tous les termes, symboles et sigles du cours. 9. **Check-list** « suis-je prêt pour la suite ? » : 10 points, avec les cases cochées mémorisées dans le navigateur. 10. **Annonce du cours suivant** (ou de la fin de la série), puis pied de page. @@ -119,17 +124,18 @@ Chaque tâche relève de l'une ou de l'autre. Sauf demande explicite du proprié - Définir chaque symbole, sigle, abréviation et terme technique ou de jargon à sa première apparition dans chaque cours, même s'il a été défini dans un cours précédent. Cela inclut les notations mathématiques (∂, Σ, diag, transposée…). - Écrire la formule littérale avant les valeurs numériques, avec les unités partout et des ordres de grandeur. - Des visualisations pensées pour la mémoire photographique : une image forte par chapitre, des couleurs constantes, des schémas épurés. -- Un ton ludique : analogies du quotidien, défis, quiz, musée mnémotechnique. +- Un ton ludique : analogies du quotidien, défis, quiz, fun facts. ### Neutralité - Le site est public et les cours doivent pouvoir être partagés : aucune référence aux échanges de la conversation, à la situation personnelle de l'utilisateur, à ses délais ou à ses questions. -- Les références aux documents sources sont formulées de façon neutre (« le polycopié… », « le cours de référence… »). +- Aucune référence aux polycopiés ni aux supports de cours sources dans les pages publiées : texte, tableaux, quiz, glossaire, scripts et pied de page compris. Les normes, le référentiel de l'IIW et les ouvrages publiés peuvent être cités. ### Contrôle qualité d'un cours - Recalculer toutes les valeurs numériques : exercices, quiz, exemples des manipulations. Le défi doit pouvoir se rejouer dans la manipulation qui lui correspond. - Vérifier les formules, les conventions de signe, et la cohérence avec les cours précédents, le document de référence et le sujet du planning. +- Vérifier qu'aucune mention des polycopiés ne subsiste, et que les dates, chiffres et noms de la fun fact sont confirmés par des sources fiables. - Tester la page dans un navigateur (Playwright via `uv run --group browser`) : - aucune erreur JavaScript, et toutes les manipulations fonctionnent ; - en mode clair et en mode sombre ; diff --git a/Cours/Fatigue/Fatigue, cours 1 _ le cycle, parler la langue de la fatigue.html b/Cours/Fatigue/Fatigue, cours 1 _ le cycle, parler la langue de la fatigue.html index 80f8fb3..c3eda12 100644 --- a/Cours/Fatigue/Fatigue, cours 1 _ le cycle, parler la langue de la fatigue.html +++ b/Cours/Fatigue/Fatigue, cours 1 _ le cycle, parler la langue de la fatigue.html @@ -134,6 +134,8 @@ .tip{margin:1rem 0;padding:.7rem 1rem;border:1.5px dashed var(--mat);border-radius:4px;font-size:.97rem} .warn{margin:1rem 0;padding:.7rem 1rem;border:2px solid var(--bad);border-radius:4px;font-size:.97rem;background:color-mix(in srgb,var(--bad) 7%,transparent)} .mnemo{margin:1rem 0;padding:.7rem 1rem;background:var(--hl);border-radius:4px;font-size:.98rem} +.fun{margin:1.2rem 0;padding:.8rem 1rem;border:2px dashed var(--muted);border-radius:10px;background:var(--card);font-size:.98rem} +.fun-h{display:block;margin-bottom:.35rem;font-family:var(--font-head);font-size:1.15rem;font-weight:600;letter-spacing:.02em} .meta{margin:1.2rem 0;padding:.8rem 1rem;border:2px solid var(--frc);border-radius:4px;background:color-mix(in srgb,var(--frc) 6%,transparent)} .weld{margin:1.2rem 0;padding:.8rem 1rem;border:2px solid var(--weld);border-radius:4px;background:color-mix(in srgb,var(--weld) 7%,transparent)} .weld>b:first-child{font-family:var(--font-head);font-size:1.15rem;font-weight:600;color:var(--weld)} @@ -313,23 +315,10 @@

Les bases à avoir en tête, en trois cases

|σ|max = |Mf|/W
En flexion, la contrainte est maximale sur les fibres les plus éloignées de l'axe neutre. Mf est le moment fléchissant, W le module de flexion ; pour un rond plein de diamètre d, W = πd³/32.
-
📘 Correspondance avec le polycopié de référence (Partie II : Fatigue). Ce cours couvre le § A « Principe et définitions », pages 1 et 2, figures 1 à 3 : -
- - - - - - - -
Chapitre du coursPolycopié
1 Qu'est-ce que la fatigue ?p. 1, définition et nombre d'« alternances »
2 Du chargement réel au cycle d'essaip. 1, figure 1 ; p. 2, choix des sollicitations sinusoïdales
3 Les six grandeurs du cyclep. 2, figure 2
4 Les familles de cyclesp. 2, figure 3
5 Traction, flexion, torsionp. 1 et 2, sollicitations-types et concentrations de contraintes
6 Le film d'une rupturep. 1, les six phases de l'endommagement ; p. 1 et 2, les deux connaissances nécessaires
- Les compléments qui ne figurent pas dans le polycopié portent l'étiquette hors poly : le comptage des cycles « rainflow », les formules de la flexion rotative, le coefficient de concentration de contrainte et l'approche des soudures en étendue de contrainte. -
-
🔎 Quatre remarques de lecture -

1. Amplitude ou étendue ? Le polycopié appelle σa la « composante alternative » et Δσ l'« amplitude totale » (p. 2). Dans beaucoup d'ouvrages et dans les normes, le mot « amplitude » désigne σa, et Δσ s'appelle l'« étendue de contrainte » (en anglais : stress amplitude pour σa, stress range pour Δσ). Ce cours dit amplitude σa et étendue Δσ, avec Δσ = 2σa.

-

2. La figure 3 ne montre que des contraintes moyennes positives ou nulles. Le chapitre 4 la complète avec les cycles où domine la compression.

-

3. La lettre R. Dans tout ce cours, R = σmin/σmax est le rapport de charge. Rien à voir avec Re et Rm, ni avec la « courbe-R » citée page 7 du polycopié (cours 4).

+

1. Amplitude ou étendue ? Certains documents appellent σa la « composante alternative » et Δσ l'« amplitude totale ». Dans beaucoup d'ouvrages et dans les normes, le mot « amplitude » désigne σa, et Δσ s'appelle l'« étendue de contrainte » (en anglais : stress amplitude pour σa, stress range pour Δσ). Ce cours dit amplitude σa et étendue Δσ, avec Δσ = 2σa.

+

2. Contrainte moyenne négative. Le chapitre 4 ne s'arrête pas aux cycles de moyenne positive ou nulle : il ajoute ceux où domine la compression.

+

3. La lettre R. Dans tout ce cours, R = σmin/σmax est le rapport de charge. Rien à voir avec Re et Rm, ni avec la « courbe-R » évoquée au cours 4.

4. La lettre N. En RDM, N désigne l'effort normal ; en fatigue, N est un nombre de cycles. Ici, l'effort axial s'appelle donc F.

@@ -367,7 +356,7 @@

Le plan du cours

👁 Niveau 1 : voir le trombone et le sentier

Reprends le trombone. En tirant dessus, tu ne le casses pas : il faudrait atteindre sa résistance Rm, et tes doigts n'y arrivent pas. En le pliant puis en le dépliant, tu déformes un peu le métal au niveau du pli, de façon permanente. Chaque pliage laisse une petite blessure qui ne se répare pas ; les blessures s'additionnent. Au bout d'une quinzaine d'allers-retours, une fissure apparaît, traverse le fil, et il casse.

Pense à un sentier dans l'herbe : un seul passage ne laisse aucune trace visible, mille passages tracent un chemin. En fatigue, chaque cycle de chargement laisse une trace microscopique, invisible à l'œil nu, et c'est leur accumulation qui finit par rompre la pièce.

-

Dans une machine ou une structure, les contraintes sont bien plus faibles que dans le trombone, souvent inférieures à Re : chaque cycle abîme beaucoup moins. Mais les cycles se comptent alors en millions, voire en milliards. Le polycopié le dit ainsi : le nombre d'« alternances » va de quelques unités à plusieurs centaines de millions.

+

Dans une machine ou une structure, les contraintes sont bien plus faibles que dans le trombone, souvent inférieures à Re : chaque cycle abîme beaucoup moins. Mais les cycles se comptent alors en millions, voire en milliards : selon les pièces, le nombre d'« alternances » va de quelques unités à plusieurs centaines de millions.

@@ -393,7 +382,7 @@

Le plan du cours

🎓 Niveau 2 : maîtriser la définition et ses conséquences
-
📖 Fatigue (polycopié, p. 1) : ensemble des mécanismes qui conduisent à l'endommagement, à la fissuration puis à la rupture d'un matériau sous l'effet d'un chargement mécanique cyclique, avec des contraintes inférieures à la contrainte de rupture mesurée en conditions quasi statiques.
+
📖 Fatigue : ensemble des mécanismes qui conduisent à l'endommagement, à la fissuration puis à la rupture d'un matériau sous l'effet d'un chargement mécanique cyclique, avec des contraintes inférieures à la contrainte de rupture mesurée en conditions quasi statiques.
📖 Quasi statique : se dit d'un chargement appliqué assez lentement pour que la vitesse n'ait aucun effet, comme dans un essai de traction. La « contrainte de rupture en conditions quasi statiques » est donc Rm.
📖 Endommagement : dégradation progressive et irréversible de la matière (déformations permanentes locales, puis microfissures), qui diminue sa capacité à résister.

Les contraintes cycliques peuvent être de traction, de compression, de traction-compression, de cisaillement, de torsion, de flexion ou, dans le cas général, triaxiales : les trois contraintes principales sont alors non nulles (série RDM, cours 4). La situation est aggravée par les concentrations de contraintes et les défauts (chapitre 5).

@@ -434,14 +423,14 @@

Pourquoi la fatigue est-elle si dangereuse ?

👁 Niveau 1 : voir compter les vagues
-

En service, la contrainte dans une pièce ne varie presque jamais de façon régulière. La suspension d'une voiture encaisse des nids-de-poule, une éolienne des rafales, une plateforme pétrolière des vagues de toutes tailles, un pont roulant des charges différentes à chaque levage. Le signal ressemble à la figure 1 du polycopié : de grandes oscillations, de petites ondulations par-dessus, des moments calmes. On parle de chargement aléatoire.

-

Impossible de tester en laboratoire chaque histoire de chargement possible. Alors on simplifie : on soumet des éprouvettes à des cycles sinusoïdaux bien réglés, toujours les mêmes, comme un diapason qui donne une note pure au lieu du vacarme de la rue. Le polycopié le dit : on « simule » les conditions réelles par des essais simplifiés.

+

En service, la contrainte dans une pièce ne varie presque jamais de façon régulière. La suspension d'une voiture encaisse des nids-de-poule, une éolienne des rafales, une plateforme pétrolière des vagues de toutes tailles, un pont roulant des charges différentes à chaque levage. Le signal mêle de grandes oscillations, de petites ondulations par-dessus et des moments calmes. On parle de chargement aléatoire.

+

Impossible de tester en laboratoire chaque histoire de chargement possible. Alors on simplifie : on soumet des éprouvettes à des cycles sinusoïdaux bien réglés, toujours les mêmes, comme un diapason qui donne une note pure au lieu du vacarme de la rue. On « simule » ainsi les conditions réelles par des essais simplifiés.

Reste à faire le chemin inverse : pour utiliser les résultats du laboratoire, il faut découper le signal réel en cycles. C'est comme compter les vagues depuis la plage : il y a les grosses vagues, et les petites rides qui courent dessus. Deux remarques simplifient tout :

  • seuls comptent les extremums du signal, c'est-à-dire ses pics (maximums locaux) et ses vallées (minimums locaux) ;
  • pour un métal à température ambiante, la forme exacte du signal entre deux extremums, et le temps mis pour aller de l'un à l'autre, comptent peu en première approximation.
-
📖 Alternance et cycle. Une alternance est une montée ou une descente entre deux extremums successifs (une demi-oscillation). Un cycle est un aller-retour complet : deux alternances. Le polycopié emploie « alternances » au sens large de « répétitions ».
+
📖 Alternance et cycle. Une alternance est une montée ou une descente entre deux extremums successifs (une demi-oscillation). Un cycle est un aller-retour complet : deux alternances. Le mot « alternances » s'emploie aussi au sens large de « répétitions ».
@@ -455,7 +444,7 @@

Pourquoi la fatigue est-elle si dangereuse ?

-
🎓 Niveau 2 : maîtriser la méthode rainflow hors poly
+
🎓 Niveau 2 : maîtriser la méthode rainflow complément

La méthode rainflow (« écoulement de la pluie »), proposée par les Japonais Matsuishi et Endo en 1968, est la méthode de référence pour découper un signal en cycles. Son nom vient d'une image : tourne le graphique d'un quart de tour, le temps vers le bas ; le signal ressemble alors à une série de toits de pagode, et on imagine l'eau de pluie qui ruisselle d'un toit à l'autre. Elle est décrite dans la norme américaine ASTM E1049 (ASTM : American Society for Testing and Materials, organisme de normalisation). Voici sa version « trois points », la plus simple à appliquer à la main.

0. Réduis le signal à la suite de ses extremums (pic, vallée, pic…).

@@ -483,7 +472,7 @@

Exemple du cours

Bilan : un cycle complet de 80 MPa, et des demi-cycles de 60, 80, 160, 180, 160 et 120 MPa. En regroupant : 0,5 cycle à 60 MPa, 1,5 cycle à 80 MPa, 0,5 à 120, 1 à 160 et 0,5 à 180 MPa, soit 4 cycles au total.

💡 Deux vérifications express. 1. Le signal compte 8 alternances (9 extremums) : il doit donner 8/2 = 4 cycles. 2. Le plus grand cycle relie toujours le maximum absolu (D = 100) au minimum absolu (G = −80) : ici le demi-cycle de 180 MPa.
⚠️ Piège : compter seulement les « bosses » une par une sous-estime les grands cycles. Dans l'exemple, la grande excursion D-G (180 MPa) est interrompue par la petite oscillation E-F. La méthode rainflow « met de côté » la petite oscillation et rend à la grande son étendue complète. Or ce sont les grands cycles qui font le plus de dégâts.
-

Le résultat du comptage, rangé par classes d'étendue, s'appelle un spectre de chargement (ou histogramme). Plus loin dans le polycopié, chaque classe sera comparée à la courbe de Wöhler et les dommages seront additionnés (règle de Miner).

+

Le résultat du comptage, rangé par classes d'étendue, s'appelle un spectre de chargement (ou histogramme). Pour estimer une durée de vie, on compare ensuite chaque classe à la courbe de Wöhler (cours 2) et on additionne les dommages (règle de Miner).

🔥 En bureau d'études soudage

L'EN 1993-1-9 (annexe A) et les recommandations IIW demandent de compter les cycles d'un chargement variable par la méthode rainflow ou par sa cousine, la méthode du réservoir, pour obtenir le spectre des étendues Δσ appliquées à chaque détail soudé. Les jauges de déformation collées près d'un cordon, puis un logiciel de comptage rainflow, sont l'outil de base des mesures de fatigue sur site.

@@ -531,15 +520,15 @@

Exemple du cours

🎓 Niveau 2 : maîtriser définitions et relations
-

Le cycle sinusoïdal du polycopié (figure 2) s'écrit :

+

Le cycle sinusoïdal s'écrit :

σ(t) = σm + σa · sin(2πft)

sin : la fonction sinus, qui oscille entre −1 et +1 ; π ≈ 3,1416 ; f en Hz, t en s

PièceCe qui fait un cycleCycles sur une vie (ordre de grandeur)
Trombone plié à la mainun pliage aller-retour10 à 20
- - + +
SymboleNomDéfinition
σmax
MPa
contrainte maximalela plus grande valeur du cycle (la crête)
σmin
MPa
contrainte minimalela plus petite valeur du cycle (le creux), avec son signe
σm
MPa
contrainte moyennele niveau autour duquel on oscille
σa
MPa
amplitude (polycopié : « composante alternative »)l'écart entre la moyenne et la crête, toujours ≥ 0
Δσ
MPa
étendue (polycopié : « amplitude totale »)l'écart entre le creux et la crête, toujours ≥ 0
σa
MPa
amplitude (aussi appelée « composante alternative »)l'écart entre la moyenne et la crête, toujours ≥ 0
Δσ
MPa
étendue (parfois appelée « amplitude totale »)l'écart entre le creux et la crête, toujours ≥ 0
R
sans unité
rapport de chargele quotient σmin/σmax
@@ -551,7 +540,7 @@

Exemple du cours

Δσ = σmax − σmin = 2σa R = σminσmax
-

les six grandeurs du cycle (polycopié, p. 2, figure 2)

+

les six grandeurs du cycle

Deux nombres suffisent

Un cycle sinusoïdal est entièrement fixé par deux grandeurs indépendantes (plus sa fréquence) : (σm, σa), ou (σmax, σmin), ou (σmax, R), ou encore (Δσ, R). Les essais et les normes utilisent surtout les deux derniers couples. Les conversions se démontrent en remplaçant σmin par R·σmax :

@@ -575,7 +564,7 @@

Deux nombres suffisent

⚠️ Piège n° 1 : le facteur 2. σa va de la moyenne à la crête, Δσ du creux à la crête. Avant d'utiliser une courbe ou une formule, vérifie toujours laquelle des deux elle emploie : les courbes des soudures sont en Δσ, beaucoup de courbes d'éprouvettes lisses en σa.
⚠️ Piège n° 2 : les signes. σmin se met avec son signe (−50, pas 50). σa et Δσ sont toujours positives ou nulles. Et R n'est pas défini quand σmax = 0 (division par zéro) : c'est le cas d'un cycle qui va de 0 à une compression (chapitre 4).
-
💡 Le rapport d'amplitude A. Certains ouvrages utilisent aussi A = σa/σm = (1 − R)/(1 + R). Ce n'est qu'une autre façon de dire la même chose ; le polycopié emploie R.
+
💡 Le rapport d'amplitude A. Certains ouvrages utilisent aussi A = σa/σm = (1 − R)/(1 + R). Ce n'est qu'une autre façon de dire la même chose ; ce cours emploie R.
🧠 Mnémotechnique : « m comme marée, a comme vague ». La marée fixe σm, la vague fixe σa, et le surfeur mesure Δσ du creux à la crête.
🔥 Pourquoi les soudures se calculent en Δσ @@ -595,7 +584,7 @@

Deux nombres suffisent

👁 Niveau 1 : voir quatre images du quotidien
-

La figure 3 du polycopié range les cycles en quatre familles, selon la position de la moyenne par rapport à l'amplitude. Associe à chacune une image :

+

On range les cycles en quatre familles, selon la position de la moyenne par rapport à l'amplitude. Associe à chacune une image :

  • (a) La balançoire, R = −1 : contrainte alternée symétrique. σm = 0 : autant de traction que de compression, comme une balançoire qui monte aussi haut devant que derrière. Exemple : un essieu qui tourne.
  • (b) Le plongeoir, −1 < R < 0 : contrainte alternée asymétrique. 0 < σm < σa : la planche plie fort sous le plongeur, puis rebondit un peu dans l'autre sens. On passe en compression, mais moins qu'en traction.
  • @@ -660,7 +649,7 @@

    Le lien entre x = σm/σa et R

👁 Niveau 1 : voir la baguette et l'eau autour de la pile du pont
-

Pour mesurer la résistance en fatigue, le polycopié cite des sollicitations-types : traction-compression, flexion, torsion, cisaillement. Elles ne font pas travailler la matière de la même façon :

+

Pour mesurer la résistance en fatigue, on utilise des sollicitations-types : traction-compression, flexion, torsion, cisaillement. Elles ne font pas travailler la matière de la même façon :

  • en traction-compression, toute la section porte la même contrainte ;
  • en flexion, comme une baguette qu'on plie, la contrainte est nulle au centre (sur l'axe neutre) et maximale à la surface : un côté s'étire, l'autre s'écrase ;
  • @@ -685,7 +674,7 @@

    Le lien entre x = σm/σa et R

-
🎓 Niveau 2 : maîtriser les formules de l'arbre hors poly
+
🎓 Niveau 2 : maîtriser les formules de l'arbre complément

Rappels de la série RDM, pour un rond plein de diamètre d :

S = πd²/4
aire de la section (mm²)
@@ -748,7 +737,7 @@

Le coefficient de concentration de contrainte Kt

👁 Niveau 1 : voir la biographie d'une fissure
-

Le polycopié (p. 1) découpe la vie d'une pièce fatiguée en six phases, plus ou moins distinctes. Imagine une pellicule de film en six images ; à chaque image, on change de grossissement :

+

On découpe la vie d'une pièce fatiguée en six phases, plus ou moins distinctes. Imagine une pellicule de film en six images ; à chaque image, on change de grossissement :

@@ -779,17 +768,17 @@

Le coefficient de concentration de contrainte Kt

🎓 Niveau 2 : maîtriser amorçage, propagation, taille critique
📖 Amorçage : ensemble des phases qui mènent à une fissure « d'ingénieur », c'est-à-dire assez grande pour être détectée et traitée par la mécanique de la rupture (de l'ordre de 0,1 à 1 mm selon les auteurs : la frontière est une convention). Propagation : croissance de cette fissure jusqu'à la rupture.
Nr = Na + Np

durée de vie Nr (cycles à rupture) = cycles d'amorçage Na + cycles de propagation Np

-

Selon le polycopié (p. 7), l'amorçage peut représenter une part négligeable ou au contraire prépondérante de la durée de vie, selon le matériau, les concentrations de contrainte, le chargement et l'état de surface. Ordres de grandeur indicatifs : la plus grande partie de la vie pour une éprouvette lisse et polie peu chargée, environ la moitié pour une pièce entaillée, très peu pour un assemblage soudé.

+

L'amorçage peut représenter une part négligeable ou au contraire prépondérante de la durée de vie, selon le matériau, les concentrations de contrainte, le chargement et l'état de surface. Ordres de grandeur indicatifs : la plus grande partie de la vie pour une éprouvette lisse et polie peu chargée, environ la moitié pour une pièce entaillée, très peu pour un assemblage soudé.

La taille critique (simple rappel de mécanique de la rupture)

-

La fissure de longueur a est caractérisée par le facteur d'intensité de contrainte KI, qui mesure la sévérité de la contrainte à sa pointe (l'indice I désigne le mode I, l'ouverture de la fissure par traction perpendiculaire à ses lèvres). La pièce casse brutalement quand KI atteint la ténacité KIC du matériau, sa résistance à la propagation brutale d'une fissure. Avec la notation du polycopié :

+

La fissure de longueur a est caractérisée par le facteur d'intensité de contrainte KI, qui mesure la sévérité de la contrainte à sa pointe (l'indice I désigne le mode I, l'ouverture de la fissure par traction perpendiculaire à ses lèvres). La pièce casse brutalement quand KI atteint la ténacité KIC du matériau, sa résistance à la propagation brutale d'une fissure. Avec la notation de la série :

KI = σ·Y·√aac = (KICY·σmax)²
-

K en MPa·√m, σ en MPa, a en m ; Y : facteur géométrique sans unité (dans la convention du polycopié, il contient le √π que d'autres ouvrages écrivent à part)

+

K en MPa·√m, σ en MPa, a en m ; Y : facteur géométrique sans unité (dans la convention de la série, il contient le √π que d'autres ouvrages écrivent à part)

Exemple. Acier de ténacité KIC = 50 MPa·√m, fissure débouchante en surface (Y ≈ 1,12√π ≈ 2), σmax = 200 MPa : ac = (50/(2 × 200))² = (0,125)² = 0,0156 m ≈ 16 mm. Une fissure de 1 mm est donc détectable bien avant d'être dangereuse : c'est tout l'enjeu des inspections.

⚠️ Piège : ac varie comme 1/σmax². Doubler la contrainte maximale divise la taille critique par quatre. Et c'est σmax qui compte ici, pas σa : la rupture finale se produit au sommet d'un cycle.
📖 CND (contrôles non destructifs) : méthodes qui détectent les défauts sans abîmer la pièce. Les principales : le ressuage (un liquide coloré pénètre dans les fissures débouchantes), la magnétoscopie (une poudre magnétique révèle les fissures des aciers), les ultrasons, la radiographie et les courants de Foucault. Leur seuil de détection pratique est de l'ordre du millimètre, parfois moins.

Deux métiers, deux connaissances

-

Le polycopié (p. 1 et 2) conclut que, pour prévoir la tenue en fatigue d'une pièce réelle, il faut connaître les conditions réelles de chargement (le travail du mécanicien : mesurer, compter et décrire les cycles, objet de ce cours) et connaître la réponse du matériau et son endommagement selon le niveau de contrainte, le nombre et l'amplitude des cycles (le travail du métallurgiste : cours 2 à 4).

+

Pour prévoir la tenue en fatigue d'une pièce réelle, il faut donc connaître les conditions réelles de chargement (le travail du mécanicien : mesurer, compter et décrire les cycles, objet de ce cours) et connaître la réponse du matériau et son endommagement selon le niveau de contrainte, le nombre et l'amplitude des cycles (le travail du métallurgiste : cours 2 à 4).

🧠 Mnémotechnique : « Trace, graine, fêlure, fissure, croissance, chute ». Les quatre premières font l'amorçage, les deux dernières la propagation.
🔥 Dans une soudure, presque tout est propagation

Un pied de cordon contient dès la fabrication de petits défauts (micro-inclusions de laitier, caniveaux, manques de fusion) de l'ordre de 0,1 mm, dans une zone de concentration de contrainte et de contraintes résiduelles de traction. La phase d'amorçage y est donc très courte : la durée de vie d'un assemblage soudé est presque entièrement une durée de propagation.

@@ -896,7 +885,7 @@

Exercice 5 : compter à la goutte de pluie N2 · chapitr

Exercice 6 : grande ou petite fissure ? N1 et N2 · chapitre 6

-

Un acier a une ténacité KIC = 60 MPa·√m. Une fissure débouchante en surface a un facteur géométrique Y = 2 (convention du polycopié). La contrainte maximale du cycle vaut σmax = 150 MPa.

+

Un acier a une ténacité KIC = 60 MPa·√m. Une fissure débouchante en surface a un facteur géométrique Y = 2 (convention de la série). La contrainte maximale du cycle vaut σmax = 150 MPa.

a) Calcule la longueur critique ac.

b) Les CND détectent les fissures à partir de 2 mm. Y a-t-il une marge entre la détection et la rupture ?

c) Que devient ac si σmax double ?

@@ -945,7 +934,7 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit
★

Fiche mémoire du cours 1

Neuf cases, neuf images : à photographier, puis à redessiner de tête

-
📸Image à retenirLe musée de la fatigue, salle 1
+
🔍Image à retenirL'essieu qui n'avait pas « cristallisé »
📎

Le trombone

σ < Rm, mais N fois

La répétition casse ce que la charge seule ne casserait pas. Durée : t = N/f.

@@ -958,7 +947,7 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit
🕳️

Le trou

σloc = Kt·σnom

Trou rond : Kt = 3 ; ellipse : 1 + 2a/b. En fatigue, la ductilité ne protège pas.

🎬

La pellicule

Nr = Na + Np

Six scènes, amorçage puis propagation. ac = (KIC/(Yσmax))². Dans une soudure, presque tout est propagation.

-
🏛 La visite du musée, salle 1 (2 minutes, les yeux fermés) : à l'entrée, un gardien plie et déplie un trombone 📎 au rythme d'un diapason 🎵 posé sur son bureau. Dehors, il pleut : une goutte de pluie 🌧️ ruisselle de toit en toit sur une pagode et tombe dans un grand aquarium où la houle 🌊 soulève un minuscule surfeur 🏄. Arrivé sur la plage, le surfeur mesure sa vague du creux à la crête avec une règle 📏, puis la pose sur une baguette 🥖 que le gardien plie : elle craque côté extérieur, juste au bord d'un trou 🕳️. Par ce trou, on voit défiler une pellicule 🎬 de six images, de la première trace à la cassure.
+
🔍 Fun fact : Non, le métal fatigué ne « cristallise » pasAu XIXe siècle, devant un essieu rompu, les ingénieurs voyaient une cassure à gros grains brillants et en concluaient que le fer, à force de vibrer, avait « cristallisé » et perdu sa texture fibreuse. Dès 1843, un an après l'accident de Meudon, l'ingénieur écossais William Rankine conteste cette idée : rien ne prouve que ces grains n'étaient pas déjà là dans l'essieu neuf. Il remarque que les ruptures partent des épaulements à angle vif et progressent lentement, et il conseille des changements de diamètre progressifs. Il avait raison : le métal est cristallin dès sa fabrication, et l'aspect grenu n'est que la zone de rupture finale, brutale, de la dernière scène du chapitre 6. Le mythe de la « cristallisation » a pourtant survécu des décennies dans les ateliers.

@@ -971,9 +960,9 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit

a, ac
Longueur d'une fissure (en m) ; ac : longueur critique, à laquelle la pièce casse brutalement.
-
Alternance
Montée ou descente entre deux extremums successifs, soit un demi-cycle. Le polycopié emploie aussi le mot au sens de « répétition ».
+
Alternance
Montée ou descente entre deux extremums successifs, soit un demi-cycle. Le mot s'emploie aussi au sens de « répétition ».
Amorçage
Phases 1 à 4 de la vie en fatigue : de la première déformation plastique locale jusqu'à une fissure détectable.
-
Amplitude σa
Écart entre la contrainte moyenne et la contrainte maximale d'un cycle ; « composante alternative » dans le polycopié.
+
Amplitude σa
Écart entre la contrainte moyenne et la contrainte maximale d'un cycle ; on dit aussi « composante alternative ».
ASTM
American Society for Testing and Materials : organisme de normalisation américain (norme E1049 pour le comptage des cycles).
Axe neutre
Ligne de la section où la contrainte de flexion est nulle ; la contrainte croît en s'en éloignant.
Caniveau
Défaut de soudage : sillon creusé dans la tôle le long du pied de cordon par la fusion, et non comblé.
@@ -983,7 +972,7 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit
Contraintes résiduelles
Contraintes qui restent dans une pièce sans aucune charge extérieure, par exemple après le refroidissement d'une soudure.
Cycle
Aller-retour complet de la contrainte : deux alternances.
d
Diamètre d'un arbre rond, en mm.
-
Δσ (étendue)
« Delta sigma » : écart entre σmax et σmin, égal à 2σa ; « amplitude totale » dans le polycopié, stress range en anglais.
+
Δσ (étendue)
« Delta sigma » : écart entre σmax et σmin, égal à 2σa ; parfois appelée « amplitude totale », stress range en anglais.
Détensionnement
Traitement thermique qui relâche les contraintes résiduelles d'une pièce soudée.
EN 1993-1-9
Eurocode 3, partie 1-9 : la norme européenne de calcul en fatigue des structures en acier.
Endommagement
Dégradation progressive et irréversible de la matière sous l'effet des cycles.
@@ -1024,7 +1013,7 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit
Triaxial
État de contrainte où les trois contraintes principales sont non nulles.
W
Module de flexion, en mm³ : W = IGz/v ; πd³/32 pour un rond plein.
x
Dans ce cours, le rapport σm/σa = (1 + R)/(1 − R).
-
Y
Facteur géométrique de la fissure, sans unité ; dans la convention du polycopié, il contient √π.
+
Y
Facteur géométrique de la fissure, sans unité ; dans la convention de la série, il contient √π.
≈, ≫, ⟺
« Environ égal à » ; « très grand devant » ; « équivaut à ».

@@ -1052,14 +1041,14 @@

🏆 Défi : la poutre de roulement soudée N2 · chapit

-
🔭 Au prochain épisode, cours 2 : la courbe de Wöhler. On place une éprouvette sur une machine, on la fait osciller à σa constant jusqu'à la rupture, et on recommence à d'autres niveaux. En reportant σa en fonction du nombre de cycles à rupture Nr, on obtient la courbe d'endurance (polycopié, p. 3, figure 4). On y lira trois domaines (fatigue oligocyclique, endurance limitée, endurance illimitée), la limite d'endurance σD, la loi de Basquin qui met la courbe en équation, la dispersion des essais, et les courbes de fatigue des soudures avec leurs classes FAT.
+
🔭 Au prochain épisode, cours 2 : la courbe de Wöhler. On place une éprouvette sur une machine, on la fait osciller à σa constant jusqu'à la rupture, et on recommence à d'autres niveaux. En reportant σa en fonction du nombre de cycles à rupture Nr, on obtient la courbe d'endurance. On y lira trois domaines (fatigue oligocyclique, endurance limitée, endurance illimitée), la limite d'endurance σD, la loi de Basquin qui met la courbe en équation, la dispersion des essais, et les courbes de fatigue des soudures avec leurs classes FAT.
-

Cours 1 sur 4 de la série « Fatigue des métaux : la vie d'une fissure ». Notations alignées sur le polycopié de référence (Partie II : Fatigue) ; pour les notations et les conventions, le cours de référence de chaque formation fait foi.

+

Cours 1 sur 4 de la série « Fatigue des métaux : la vie d'une fissure ». Pour les notations et les conventions, l'enseignement de ta formation fait foi.

Aller au menu du wiki') + + +def panel(current, site, here=None): + """Panneau latéral commun à toutes les pages : marque, recherche, page courante, matières et parcours. + + Il est placé en fin de document : le contenu vient d’abord au clavier et pour les lecteurs d’écran, + la feuille de style l’affiche à gauche, ouvert, replié en rail ou en tiroir selon la largeur.""" + here = here or {} + + def mark(target): + return ' aria-current="page"' if target == current else "" + + home = link(current, "index.html") + quick = [(home, "home", "Accueil", mark("index.html"), "")] + if site["planning"]: + quick.append((link(current, "planning.html"), "calendar", "Planning", mark("planning.html"), "")) + quick += [(link(current, "index.html", "rechercher"), "search", "Rechercher", "", " wiki-rail-only"), + (link(current, "index.html", "matieres"), "subjects", "Matières", "", " wiki-rail-only")] + if site["routes"]: + quick.append((link(current, "index.html", "parcours"), "routes", "Parcours", "", " wiki-rail-only")) + shortcuts = "".join(f'
  • {icon(name)}{label}
  • ' + for href, name, label, attr, extra in quick) + + context = "" + if here.get("subject"): + subject = here["subject"] + context = f'
    {h(subject["titre"])}' + context += f'

    {h(here["repere"])}{h(here["titre"])}

    ' + if here.get("sections"): + items = [] + for section in here["sections"]: + number = re.fullmatch(r"c(\d+)", section["ancre"]) + num = f'' if number else "" + items.append(f'
  • {num}{h(section["titre"])}
  • ') + context += f'

    Sommaire

      {"".join(items)}
    ' + pager = [] + for key, rel, label, arrow in (("previous", "prev", "Précédent", "←"), ("next", "next", "Suivant", "→")): + other = here.get(key) + if other: + text = f' {label}' if rel == "prev" else f'{label} ' + pager.append(f'{text} : {h(other["titre"])}') + if pager: + context += f'

    {"".join(pager)}

    ' + context += "
    " + + groups = [] + for subject, courses in site["subjects"]: + overview = "matieres/" + subject["id"] + ".html" + is_here = here.get("subject", {}).get("id") == subject["id"] or current == overview + entries = [f'
  • Vue d’ensemble : {h(subject["titre"])}
  • '] + for course in courses: + entries.append(f'
  • {h(short_title(course, subject))}
  • ') + groups.append(f'
  • {h(subject["titre"])}
      {"".join(entries)}
  • ') + routes = "" + if site["routes"]: + on_route = current.startswith("parcours/") + items = "".join(f'
  • {h(route["titre"])}
  • ' for route in site["routes"]) + routes = (f'

    Parcours

    • Faire le lien avec le soudage' + f'
        {items}
    ') + + return f""" + +""" + + +def shell(current, title, body, site, extra_head=""): css = link(current, "assets/wiki.css") js = link(current, "assets/wiki.js") - home = link(current, "index.html") return f""" {h(title)} · Révisions IWE {extra_head} -Aller au contenu -
    Révisions IWE -
    +{panel_start()}
    {body}
    -
    Supports de révision de la promo · DU Ingénierie du soudage · Polytech Nantes
    Un complément aux cours et aux TD de la formation.
    """ +
    Supports de révision de la promo · DU Ingénierie du soudage · Polytech Nantes
    Un complément aux cours et aux TD de la formation.
    +{panel(current, site)}""" def course_card(course, current): @@ -63,17 +168,15 @@ def app_card(app, current): return f'
    {genre}

    {title}

    {description}{h(tags)}
    ' -def app_page(app, subject): - """Copie publiée d'une application : barre du wiki ajoutée, source et routes internes intactes.""" +def app_page(app, subject, site): + """Copie publiée d'une application : panneau du wiki ajouté (replié au départ), source et routes internes intactes.""" current = app["url"] head = (f'' f'') - nav = f"""""" + here = {"subject": subject, "repere": app.get("genre", "Application interactive"), "titre": app["titre"]} html = re.sub(r"", lambda _: head + '\n', app["_source"], count=1, flags=re.I) - return re.sub(r"(]*>)", lambda m: m.group(1) + '\n' + nav, html, count=1, flags=re.I) + html = re.sub(r"(]*>)", lambda m: m.group(1) + '\n' + panel_start(folded=True), html, count=1, flags=re.I) + return re.sub(r"", lambda _: panel(current, site, here) + '\n', html, count=1, flags=re.I) def validate_site(output): @@ -137,6 +240,9 @@ def build(root): live_apps = [a for a in apps if a["statut"] == "disponible"] subjects = [s for s in data["matieres"] if any(item["matiere"] == s["id"] for item in [*courses, *apps])] subject_by_id = {s["id"]: s for s in subjects} + # Le panneau latéral liste les cours disponibles ; brouillons, cours à venir et applications n’y figurent pas. + site = {"planning": bool(plan), "routes": data["parcours"], + "subjects": [(s, [c for c in available if c["matiere"] == s["id"]]) for s in subjects]} subject_cards = [] for subject in subjects: grouped = [c for c in courses if c["matiere"] == subject["id"]] @@ -146,7 +252,7 @@ def build(root): subject_apps = [a for a in apps if a["matiere"] == subject["id"]] training = f'

    S’entraîner

    Jeux et applications interactives
    {"".join(app_card(a, current) for a in subject_apps)}
    ' if subject_apps else "" body = f'

    Matière · {count} cours disponibles

    {h(subject["titre"])}

    {h(subject.get("description", ""))}

    {cards}
    {training}' - write(output, current, shell(current, subject["titre"], body, has_planning=bool(plan))) + write(output, current, shell(current, subject["titre"], body, site)) playable = sum(a["statut"] == "disponible" for a in subject_apps) mention = f" · {playable} application{'s' if playable > 1 else ''}" if playable else "" subject_cards.append(f'{count} cours disponibles{mention}

    {h(subject["titre"])}

    {h(subject.get("description", ""))}

    ') @@ -160,7 +266,7 @@ def build(root): href = link(current, course["url"], step["ancre"]) steps.append(f'
  • {h(label)}

    {h(subject_by_id[course["matiere"]]["titre"])} · {h(course.get("repere", ""))}

  • ') body = f'

    Applications au soudage · {len(steps)} étapes

    {h(route["titre"])}

    {h(route.get("description", ""))}

      {"".join(steps)}
    ' - write(output, current, shell(current, route["titre"], body, has_planning=bool(plan))) + write(output, current, shell(current, route["titre"], body, site)) route_cards.append(f'') options = ''.join(f'' for s in subjects) planning_teaser = 'Suivre le fil de la formationPré-rentrée, semaines de cours et examens : les supports au bon moment.' if plan else "" @@ -175,7 +281,7 @@ def build(root):

    Explorez les matières ci-dessous ou recherchez un sujet précis.

      Avancer par matière

      Les bases, dans l’ordre
      {''.join(subject_cards)}

      Faire le lien avec le soudage

      Des parcours entre les cours
      {''.join(route_cards)}
      """ - write(output, "index.html", shell("index.html", "Accueil", body, has_planning=bool(plan))) + write(output, "index.html", shell("index.html", "Accueil", body, site)) if plan: for source in plan['sources']: if not source.get('publier', False): @@ -184,7 +290,7 @@ def build(root): target.parent.mkdir(parents=True, exist_ok=True) shutil.copyfile(root / source['fichier'], target) extra = '' - write(output, 'planning.html', shell('planning.html', 'Planning de formation', render_planning(plan, data, link), has_planning=True, extra_head=extra)) + write(output, 'planning.html', shell('planning.html', 'Planning de formation', render_planning(plan, data, link), site, extra_head=extra)) search_rows = [] for course in available: current = course["url"] @@ -201,15 +307,9 @@ def build(root): prerequisite = by_id.get(ident) if prerequisite and prerequisite["statut"] == "disponible": prerequisites.append(f'{h(prerequisite["titre"])}') - home = link(current, "index.html") - subject_url = link(current, f"matieres/{subject['id']}.html") - section_links = ''.join(f'
    • {h(s["titre"])}
    • ' for s in course["sections"]) - planning_link = f'Planning' if plan else "" - nav = f"""""" + here = {"subject": subject, "repere": course.get("repere", "Cours"), "titre": course["titre"], "sections": course["sections"], + "previous": siblings[position-1] if position > 0 else None, + "next": siblings[position+1] if position+1 < len(siblings) else None} footer = '
      ' if prerequisites: footer += '

      Prérequis conseillés : ' + ' · '.join(prerequisites) + '

      ' @@ -220,8 +320,8 @@ def build(root): head = f'' html = re.sub(r"]*>.*?", lambda _: ''+h(subject['titre']+' — '+course.get('repere','Cours')+' — '+course['titre'])+'', course["_source"], count=1, flags=re.I | re.S) html = re.sub(r"", lambda _: head+'\n', html, count=1, flags=re.I) - html = re.sub(r"(]*>)", lambda m: m.group(1)+'\n'+nav, html, count=1, flags=re.I) - html = re.sub(r"", lambda _: footer+'\n', html, count=1, flags=re.I) + html = re.sub(r"(]*>)", lambda m: m.group(1)+'\n'+panel_start(), html, count=1, flags=re.I) + html = re.sub(r"", lambda _: footer+'\n'+panel(current, site, here)+'\n', html, count=1, flags=re.I) write(output, current, html) for asset in course['fichiers_associes']: dest = output / asset @@ -237,7 +337,7 @@ def build(root): if target != app["url"]: (output / target).parent.mkdir(parents=True, exist_ok=True) shutil.copyfile(root / source, output / target) - write(output, app["url"], app_page(app, subject)) + write(output, app["url"], app_page(app, subject, site)) search_rows.append({'cours_id': app['id'], 'cours': app['titre'], 'matiere': subject['id'], 'matiere_titre': subject['titre'], 'mots_cles': app['mots_cles'], 'ressources': app['ressources'], 'titre': app['titre'], 'url': link('index.html', app['url']), 'type': 'application'})

      ScèneCe qui se passeÉchelleCours
      1 La tracedes changements irréversibles dans la matière, par déformation plastique très localiséequelques grains3