Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ce que fait pyrucast

En bref

pyrucast est une bibliothèque de calcul par éléments finis. Son cœur est écrit en Rust, un langage compilé, rapide, qui répartit le travail sur tous les cœurs du processeur ; on le pilote depuis Python. Un calcul est donc un script, du premier point posé au dernier résultat tracé.

pyrucast n’a pas d’interface graphique : les figures sont produites par le script lui-même, dans une fenêtre ou dans des fichiers d’image, et les résultats s’exportent vers les logiciels de visualisation (ParaView, par le format VTK). C’est un logiciel libre.

Les étapes d’un calcul

Tout calcul suit les mêmes étapes, et chacune a son objet ou sa famille de fonctions :

étapece qu’on faitdans pyrucastvu dans
géométrie, maillageposer des points, mailler lignes, surfaces et volumesCoords, pyrucast.meshPremiers pas, Maillage
espace éléments finischoisir l’interpolation sur le maillageFiniteElementSpacePremiers pas, Régime stationnaire
modèledéclarer la physique, ses blocages, ses chargementspyrucast.modelRégime stationnaire, Élasticité, Contact
matériauxdonner les coefficients que le modèle réclamepyrucast.element_field.material_fieldRégime stationnaire
second membreintégrer les chargementspyrucast.node_field.external_forcesRégime stationnaire
assemblageconstruire la matrice du systèmepyrucast.matrix.stiffnessRégime stationnaire
résolutionrésoudre le systèmepyrucast.solver.solveRégime stationnaire, Élasticité
exploitationtracer, extraire, exporter, sauvegarderplot, pyrucast.evolution.along, pyrucast.export.export_vtk, pyrucast.saveMaillage, Régime stationnaire, Thermique non linéaire, Élasticité

Quand le problème n’est pas linéaire ou évolue dans le temps, le calcul pas à pas (pyrucast.stepping.step_by_step) répète les étapes de l’assemblage à la résolution à chaque instant, jusqu’à l’équilibre : voir Régime transitoire et Mécanique non linéaire.

Les domaines couverts

Chaque ligne renvoie à la page qui la détaille.

Thermique. Conduction isotrope, orthotrope ou anisotrope, en régime stationnaire ou transitoire ; convection et flux imposé, sources volumiques ; rayonnement vers l’environnement. Dans ce tutoriel : régime stationnaire, régime transitoire, rayonnement.

Diffusion. La loi de Fick, pour une ou plusieurs espèces.

Mécanique des milieux continus, en contraintes planes, déformations planes, axisymétrie ou 3D :

Éléments de structure. Barre, poutres d’Euler-Bernoulli et de Timoshenko (portiques plans, cadres spatiaux), coques.

Conditions et liaisons. Blocages, relations entre nœuds, barres noyées dans un volume, contact sans frottement ; en égalité ou en inégalité (voir Contraintes).

Calcul pas à pas. À chaque instant, la thermique puis la mécanique à la température atteinte ; les lois non linéaires, le contact, la dynamique, le pilotage du chargement — voir Calcul pas à pas.

Éléments finis. Quinze types, linéaires et quadratiques, du segment à l’hexaèdre à 27 nœuds — voir Éléments finis supportés.

Maillage. Des mailleurs intégrés — lignes et arcs, balayages, triangulation de surfaces et de volumes, pavage en quadrangles, couche limite d’hexaèdres — et la lecture des maillages gmsh et MED : voir Maillage et Mailler une géométrie.

Résultats. Tracés dans une fenêtre ou en PNG/SVG, export VTK, sauvegarde d’une session dans un fichier .pyr.

Où trouver la documentation

Compiler pyrucast soi-même

La version précompilée suffit pour tout ce tutoriel. Compiler pyrucast depuis ses sources ne sert qu’à l’installer avec la visualisation sur une plateforme qui n’a pas de version précompilée, ou à travailler sur pyrucast lui-même. Il faut alors Rust et l’outil maturin : la marche à suivre est dans Installation et démarrage rapide.

Suite : Python & conventions pyrucast.