Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2009:08_21



Commit 2009-08-19

Modifs

Import Gmsh

Suite aux bizarreries de Gmsh sur mon pc (un tetra plat sans aucune raison apparente), ajout de deux attributs à importGmsh : setAlgo, pour changer l'algo par défaut (default ou netgen) et setOpti, pour utiliser ou nom l'option -optimize de gmsh (True ou False, choix par par défaut).

Néanmoins, en utilisant -optimize, le maillage est quand même différent sur toutes les machines (seules gaston et spirou sortent exactement le même maillage et donc les mêmes résultats) sur apps.biomec.testGravity1, ceci est apparemment (dixit Marcus…) du au fait que gmsh lance un maillage avec une série de paramètres aléatoires, on peut donc difficilement y faire quelque chose et juste se souvenir qu'on aura toujours des diffs sur les cas tests qui partent d'un .geo…

Mais au moins, il ne devrait plus faire de terta plats…[j'espère!].

Import Tetgen

Ajout d'une classe en python pour importer des fichiers lus par tetgen (maillages de surfaces, extension .poly, .stl et .node + .smesh), les mouliner avec tetgen et utiliser le maillage volumique… [du même style que triangle ou gmsh quoi…]

Il faut donc que vous ayez tetgen installé, si vous utilisez les libs de Luc, c'est fait (merci Luc qu'on dit), sinon, suivez les instructions sur la page Web Tetgen.

Pour le moment uniquement pour des maillages qui définissent une seule région de l'espace (pas de possibilité d'avoir plusieurs matériaux - comme il y a pas de cas-test commité qui en ont besoin, je ne me suis pas cassé la tête, mais à faire rapidement dans la suite avec les cas-tests du tfe de Julie…).

4 des options de tetgen sont possible : -a (self.setA, un double), -q (self.setQ, un double), -V (self.setV, 0 ou 1), -Y (self.setY, 0 ou 1) – cfr Doc Tetgen, si on en veut d'autres, il suffit de les ajouter…

Possibilité aussi de garder les infos de tetgen dans un fichier (self.setKeepInfo, un booléen), de garder ou non les fichiers générés par tetgen (self.setClean, un booléen) et de sauver le maillage volumique dans un fichier vtk (self.setSAveAsVtk, un booléen)

La classe importe des fonctions de geniso.tools.generalTools, je ne sais pas si c'est le plus adéquat vu qu'on utilise pas forcément tetgen avec geniso mais bon…

Il reste des fonctions callTetgen() et variantes dans geniso.tools.meshingTools mais qui pour le moment ne sont pas utilisées dans des fichiers commités. Je les ai laissées mais à terme elles ne seront plus utiles. Si quelqu'un les utilise, autant commiter les fichiers, ce sera plus facile pour modifier les fonctions pour les intégrer à la classe (la classe pour le moment peut complètement remplacer callTetgen(); pas les variantes encore).

J'ai essayé de faire le plus propre possible avec mes pauvres connaissances, si remarques, n'hésitez pas…

Deux cas-test associés, apps.qs.tetgenTest, une bête sphere qu'on écrase, à partir d'un fichier .stl et apps.biomec.spineTet, une vertèbre, à partir d'un couple de fichiers .node, .smesh

Lois Matérielles - Endo continu pour les os

Corrections des unités de la densité, ça ne change rien à rien vu qu'on travaille toujours en densité relative mais au moins, la densité initiale du jeu de donnée a des unités cohérentes avec le reste…

Fichiers ajoutés / supprimés.

[a]: G:\MetaProject\devTet\oo_meta\apps\biomec\machoireGravity.py
[a]: G:\MetaProject\devTet\oo_meta\apps\biomec\machoire_1Mat.vtk
[a]: G:\MetaProject\devTet\oo_meta\apps\biomec\spine.node  
[a]: G:\MetaProject\devTet\oo_meta\apps\biomec\spine.smesh  
[a]: G:\MetaProject\devTet\oo_meta\apps\biomec\spineTet.py
[a]: G:\MetaProject\devTet\oo_meta\apps\qs\tetgenTest.py
[a]: G:\MetaProject\devTet\oo_meta\apps\qs\tetgenTest.stl  
[a]: G:\MetaProject\devTet\oo_meta\toolbox\tetgen.py

Marlene Mengoni 2009/08/19 20:34

commit/2009/08_21.txt · Last modified: 2016/03/30 15:23 (external edit)