Ce dépôt contient une implémentation numérique permettant de tracer la courbe de dispersion d’ondes de compression et de cisaillement à travers un réseau hexagonal périodique.
Le travail a été réalisé dans le cadre d’une alternance de recherche au Laboratoire de Mécanique et d’Acoustique (LMA), durant le cycle d’ingénieur de Centrale Marseille 2024-2025.
L’objectif est de comprendre et de modéliser la propagation d’ondes dans un matériau de type nid-d’abeilles, en utilisant :
- un maillage hexagonal périodique,
- la théorie des poutres d’Euler-Bernoulli,
- la méthode des éléments finis avec conditions de Bloch,
- le calcul des valeurs propres pour obtenir la relation dispersion-fréquence,
- l’extraction et le tracé des courbes de dispersion dans l’espace des vecteurs d’onde.
/maillage/— Scripts MATLAB de génération du maillage/matrices/— Scripts MATLAB d'assemblage des matrices et des calculs des matrices élémentaires/resolution/— Resolution du problème 2D pour une cellule hexagonal/resolution_random/— Resolution du problème 2D dans le cas d'un cœur hexagonal randomisé (Statistics and Machine Learning Toolbox nécessaire)/resolution_regis/— Resolution du problème 1D, code extrait du répertoire de Régis Cottereau/python/— Scripts Python de génération du maillage et de conversion vers GMSH, des matrices de raideur et de masse (compression ou cisaillement ou compression/cisaillement).README.md— Présentation générale du projet (ce fichier).Rapport_d_Alternance_Recherche.pdf— Rapport de l'Alternance Recherche
L’étude du sujet a été encadrée par Régis Cottereau et Lúcio Corrêa.
La structure générale de la résolution s’inspire fortement du code 1D fourni par Régis Cottereau, calculant la courbe de dispersion dans le cas d’un réseau linéaire. Le présent travail étend cette approche au cas d’un réseau 2D hexagonal, introduisant :
- un maillage hexagonal régulier ou randomisé interne généré automatiquement,
- une gestion rigoureuse des degrés de liberté (3 par nœud : déplacement axial, déplacement transversal, rotation),
- l’utilisation de conditions périodiques généralisées (Floquet–Bloch) en 2D,
- un tri systématique des arêtes pour appliquer correctement les conditions aux quatre frontières,
- la construction des matrices périodisées et de l’opérateur de réduction.
-
Génération du maillage hexagonal
Coordonnées des nœuds et liste des connectivités. -
Construction des matrices élémentaires
Matrices de rigidité et de masse selon la théorie Euler-Bernoulli. -
Assemblage global
Construction des matrices globales ( K ) et ( M ). -
Conditions de Bloch 2D
Application des phases selon un vecteur d’onde ((k_x, k_y)). -
Résolution du problème propre généralisé
Extraction des pulsations (\omega(k)). -
Tracé de la courbe de dispersion
Parcours du chemin dans l’espace réciproque et affichage des branches. Regroupement des modes par la méthode Modal Assurance Criterion (MAC).
- MATLAB R2022a ou plus récent
- Toolboxes standard (sparse matrices, eigs…)
- Aucun package externe requis