Title: Amlioration d'un logiciel de dtection et correction des intersections dans un maillage surfacique d'
1Amélioration d'un logiciel de détection et
correction des intersections dans un maillage
surfacique d'éléments finis
- Entreprise MECALOG
- Sophia-Antipolis
Laetitia Joly
2Plan
- Présentation du sujet
- Réalisation
- Conclusion
3Présentation du sujet
4Description
- Amélioration du logiciel M-Crash destiné à la
préparation des modèles d'éléments finis pour la
simulation de crash.
5Description
- Possibilité d'intersections dans le maillage
-
- But du stage optimiser l'algorithme de calcul
des intersections et de désintersection
6Vocabulaire
- Modèle
- Elément
- Segment
- Part
-
7Vocabulaire
- Intersections traitées par couples de parts
8Réalisation
9Décomposition en 3 phases
- Familiarisation avec le logiciel et documentation
du code - Debuggage et autres tâches courantes
- Tâche principale optimisation de l'algorithme
de calcul des intersections et de désintersection
10Tâche principale
- Algorithme général
- Calcul des lignes d'intersection
- Regroupement des lignes d'intersection
- Tri et collage des lignes à l'intérieur d'un
couple de segments - Tri et collage des lignes par couples de parts
- Fermeture des lignes par les contours des parts
- Proposition d'une solution de désintersection
11Tâche principale
- Algorithme général
- Calcul des lignes d'intersection
- Regroupement des lignes d'intersection
- Tri et collage des lignes à l'intérieur d'un
couple de segments - Tri et collage des lignes par couples de parts
- Fermeture des lignes par les contours des parts
- Proposition d'une solution de désintersection
12Tâche principale
- Algorithme général
- Calcul des lignes d'intersection
- Regroupement des lignes d'intersection
- Tri et collage des lignes à l'intérieur d'un
couple de segments - Tri et collage des lignes par couples de parts
- Fermeture des lignes par les contours des parts
- Proposition d'une solution de désintersection
13Tâche principale
- Algorithme général
- Calcul des lignes d'intersection
- Regroupement des lignes d'intersection
- Tri et collage des lignes à l'intérieur d'un
couple de segments - Tri et collage des lignes par couples de parts
- Fermeture des lignes par les contours des parts
- Proposition d'une solution de désintersection
14Tâche principale
- Algorithme général
- Calcul des lignes d'intersection
- Regroupement des lignes d'intersection
- Tri et collage des lignes à l'intérieur d'un
couple de segments suppression des lignes
dégénérées - Tri et collage des lignes par couples de parts
- Fermeture des lignes par les contours des parts
- Proposition d'une solution de désintersection
15Suppression des lignes dégénérées
- L'algorithme existant marche, mais il peut
engendrer des lignes dégénérées
16Fermeture des lignes d'intersection par les
contours des parts
- Etape nécessaire à la désintersection
17Fermeture des lignes d'intersection par les
contours des parts
- Description d'un contour d'une part
18Fermeture des lignes d'intersection par les
contours des parts
- L'algorithme actuel ferme les lignes seulement
par un contour d'une part - Remplacement de cet algorithme
19Fermeture des lignes d'intersection par les
contours des parts
- Travail sur les bouts de ligne
20Nouvel algorithme pour la fermeture
- Remplir les informations sur les bouts de ligne.
- Tant qu'il reste des bouts de ligne
- Prendre le premier bout de ligne non utilisé.
- Chercher ses voisins sur son contour.
- Pour chaque voisin, suivre la ligne à l'autre
bout. - Chercher les voisins, et recommencer la boucle
avec ces derniers, jusqu'à ce qu'on soit bloqué
ou qu'on retombe sur le premier bout de ligne. - On obtient un ensemble de solutions possibles.
- Trouver la meilleure solution
21Représentation des solutions sous forme darbre
- (null, 1) / \
- (2, 3) (4, 1) / /(4,
1) (null, 2) / (3, 2)
22Représentation des solutions sous forme darbre
(null, 1) / \ (2,
3) (4, 1) / /(4, 1)
(null, 2) / (3, 2)
23Résultats
- Cette partie n'est pas complètement terminée.
- Tests du remplissage de l'arbre l'impression
est correcte pour chaque modèle testé - Il reste à reconstruire l'intersection avec ces
nouvelles données, et effectuer d'autres tests.
24Conclusion
- Approfondissement des connaissances dans les
langages C et Fortran - Algorithmique
- Logiciel existant
- Première expérience professionnelle
25Questions?