6  Poutre console


6.1 Origines historiques

L’étude de la poutre en console (cantilever) constitue l’un des premiers problèmes fondamentaux de la mécanique des structures.

En 1638, dans son ouvrage Discours concernant deux sciences nouvelles, Galilée propose une première analyse d’une poutre encastrée soumise à une charge.

Poutre console Figure 1.1 : Poutre console

Bien que son modèle reste approximatif — notamment car il suppose une répartition simplifiée des contraintes — il introduit une idée essentielle :
> la poutre peut être assimilée à un levier, avec une zone critique située à l’encastrement.

Au cours des siècles suivants, ces premières intuitions sont enrichies et rigoureusement formalisées.
L’analyse des poutres évolue alors vers une description continue, fondée sur les lois de la mécanique et le calcul différentiel.

Cette évolution conduit à l’établissement de la théorie d’Euler-Bernoulli, qui constitue aujourd’hui le cadre classique pour modéliser le comportement des poutres en flexion.


6.1.1 Cadre théorique

L’étude est menée dans le cadre de la théorie d’Euler-Bernoulli, basée sur les hypothèses suivantes :

  • Équilibre statique (pas d’effets dynamiques),
  • Petites déformations,
  • Matériau homogène et isotrope,
  • Comportement linéaire élastique (loi de Hooke),
  • Sections planes restent planes (hypothèse de Navier-Bernoulli).

Ces hypothèses permettent d’obtenir une modélisation simplifiée et largement utilisée en ingénierie.

Dans ce cadre, la théorie d’Euler-Bernoulli relie le moment fléchissant à la courbure de la poutre :

\[ EI\, y''(x) = M(x) \]


6.1.2 Problématique étudiée

On considère une poutre : - de longueur \(L\), - encastrée en \(A\), - soumise à un chargement extérieur ponctuel a son extrémité.

L’objectif est de déterminer :

  • les réactions d’appui,
  • les efforts internes,
  • la déformée,
  • les contraintes dans la structure.
=== Problem summary ===
L = 1.0 m
E = 210.00 GPa
nu = 0.3
I = 1.330000e-04 m^4
W = 1.333000e-03 m^3
h_equiv = 0.2 m
Supports: A=fixed, B=free
Load type: point_load
P = 1000.0 N at x = 1.0 m

6.2 Réactions d’appui

Les réactions d’appui sont déterminées à partir des équations fondamentales de l’équilibre statique :

\[ \sum \vec{F} = 0 \quad ; \quad \sum \vec{M} = 0 \]

Dans le cas d’un encastrement en \(A\), l’appui impose : - une réaction verticale \(R_A\) - un moment d’encastrement \(M_A\)

6.3 Efforts internes — méthode des coupures

6.3.1 Principe

On considère une section droite de la poutre à l’abscisse \(x\).
L’isolement d’une portion de la structure permet, par application des équations d’équilibre, de déterminer les efforts internes dans la section.

Cette démarche repose sur le principe de Saint-Venant : les efforts internes en une section dépendent uniquement des actions mécaniques appliquées sur l’une des parties isolées.


6.3.2 Définition des efforts internes

Dans une section droite, les actions mécaniques internes sont décrites par le torseur des efforts internes.

Pour une poutre sollicitée dans son plan, on distingue : - l’effort normal \(N(x)\) : effort de traction ou de compression suivant l’axe de la poutre - l’effort tranchant \(V(x)\) : effort de cisaillement dans la section - le moment fléchissant \(M(x)\) : moment responsable de la flexion de la poutre

La détermination de ces grandeurs le long de la poutre permet d’établir les diagrammes des efforts internes.

=== Méthode des coupures ===
Segments définis:
  Segment 1: 0 ≤ x < a
  Segment 2: a ≤ x ≤ L

--- Segment 1 (0 ≤ x < a) ---
V(x) = -R_A = -1000.00 N
M(x) = -M_A - R_A·x = -1000.00 - 1000.00·x

--- Segment 2 (a ≤ x ≤ L) ---
V(x) = -R_A + P = -1000.00 + 1000.00 = 0.00 N
M(x) = -M_A - R_A·x + P·(x-a)
=== Fonctions des efforts internes ===
V(0) = -1000.0 N
V(L) = 0.0 N
M(0) = -1000.0 N·m
M(L) = -0.0 N·m

=== Résultats globaux ===
Effort tranchant max : Vmax = 1000.00 N
Moment fléchissant max : Mmax = 1000.00 N·m

6.4 Diagrammes \(N(x)\), \(V(x)\), \(M(x)\)

Les diagrammes des efforts internes représentent l’évolution des sollicitations le long de la poutre.

Ils sont obtenus à partir des expressions de \(N(x)\), \(V(x)\) et \(M(x)\) établies précédemment, et permettent d’identifier les zones les plus sollicitées de la structure.

6.5 Calcul de la flèche \(y(x)\)

La déformée d’une poutre, ou flèche \(y(x)\), permet de vérifier l’État Limite de Service (ELS), en contrôlant les déplacements de la structure.

Elle est obtenue à partir de l’équation fondamentale de la théorie d’Euler-Bernoulli :

\[ EI\, y''(x) = M(x) \]

\(E\) est le module de Young et \(I\) le moment d’inertie de la section.

La double intégration de cette relation permet d’obtenir \(y(x)\), les constantes étant déterminées à partir des conditions aux limites (encastrement, appuis, etc.).

=== Rigidité ===
I = 1.330000e-04 m^4
EI = 2.793e+07 N·m²

6.6 Contraintes normales de flexion \(\sigma(x)\)

Les contraintes normales de flexion traduisent la répartition des efforts internes dans la section d’une poutre soumise à un moment fléchissant.

Elles sont données par la relation :

\[ \sigma(x,y) = \frac{M(x)\, y}{I} \]

\(y\) est la distance à la fibre neutre et \(I\) le moment d’inertie de la section.

Cette expression montre que les contraintes sont maximales aux fibres extrêmes de la section.

=== Contraintes de flexion ===
|M_max| = 1000.00 N·m
|σ_max| = 7.50e+05 Pa
        = 0.75 MPa


=== Vérification contrainte (Eurocode simplifié) ===
Limite élastique: 250.0 MPa
Contrainte maxi: 0.75 MPa
Coefficient de sécurité: 333.25
✓ Résistance OK (EC3)

=== Vérification flèche (Eurocode EC2 simplifié) ===
Flèche max: 0.01 mm
Limite admissible: 4.00 mm
✓ Flèche conforme Eurocode
!pip install papermill
Collecting papermill
  Using cached papermill-2.7.0-py3-none-any.whl (88 kB)
Requirement already satisfied: click in /opt/conda/lib/python3.10/site-packages (from papermill) (8.3.1)
Requirement already satisfied: entrypoints in /opt/conda/lib/python3.10/site-packages (from papermill) (0.4)
Requirement already satisfied: nbclient>=0.2 in /opt/conda/lib/python3.10/site-packages (from papermill) (0.8.0)
Requirement already satisfied: nbformat>=5.2 in /opt/conda/lib/python3.10/site-packages (from papermill) (5.8.0)
Requirement already satisfied: pyyaml in /opt/conda/lib/python3.10/site-packages (from papermill) (6.0.3)
Requirement already satisfied: requests in /opt/conda/lib/python3.10/site-packages (from papermill) (2.31.0)
Requirement already satisfied: tenacity>=5.0.2 in /opt/conda/lib/python3.10/site-packages (from papermill) (9.1.2)
Requirement already satisfied: tqdm>=4.32.2 in /opt/conda/lib/python3.10/site-packages (from papermill) (4.65.0)
Requirement already satisfied: jupyter-client>=6.1.12 in /opt/conda/lib/python3.10/site-packages (from nbclient>=0.2->papermill) (8.2.0)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /opt/conda/lib/python3.10/site-packages (from nbclient>=0.2->papermill) (5.3.0)
Requirement already satisfied: traitlets>=5.4 in /opt/conda/lib/python3.10/site-packages (from nbclient>=0.2->papermill) (5.9.0)
Requirement already satisfied: fastjsonschema in /opt/conda/lib/python3.10/site-packages (from nbformat>=5.2->papermill) (2.17.1)
Requirement already satisfied: jsonschema>=2.6 in /opt/conda/lib/python3.10/site-packages (from nbformat>=5.2->papermill) (4.17.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.10/site-packages (from requests->papermill) (3.1.0)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.10/site-packages (from requests->papermill) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/lib/python3.10/site-packages (from requests->papermill) (2.0.2)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.10/site-packages (from requests->papermill) (2026.2.25)
Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema>=2.6->nbformat>=5.2->papermill) (23.1.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /opt/conda/lib/python3.10/site-packages (from jsonschema>=2.6->nbformat>=5.2->papermill) (0.19.3)
Requirement already satisfied: python-dateutil>=2.8.2 in /opt/conda/lib/python3.10/site-packages (from jupyter-client>=6.1.12->nbclient>=0.2->papermill) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /opt/conda/lib/python3.10/site-packages (from jupyter-client>=6.1.12->nbclient>=0.2->papermill) (25.0.2)
Requirement already satisfied: tornado>=6.2 in /opt/conda/lib/python3.10/site-packages (from jupyter-client>=6.1.12->nbclient>=0.2->papermill) (6.3.2)
Requirement already satisfied: platformdirs>=2.5 in /opt/conda/lib/python3.10/site-packages (from jupyter-core!=5.0.*,>=4.12->nbclient>=0.2->papermill) (3.5.1)
Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->nbclient>=0.2->papermill) (1.16.0)
Installing collected packages: papermill
Successfully installed papermill-2.7.0