====== Commit 2008-11-12 ====== ===== Modifs ===== ==== Trièdre ==== Introduction d'un objet géométrique de type trièdre. Ce trièdre est défini par 3 points ''pt0'', ''pt1'' et ''pt2''. ''pt0'' est l'origine du trièdre. La droite ''pt0''-''pt1'' est la direction du premier axe (axe ''x'' local). La troisième direction (axe ''z'' local) est définie par le produit vectoriel des directions ''pt0''-''pt1'' et ''pt0''-''pt2''. Enfin, la deuxième direction (axe ''y'' local) est défini par le produit vectoriel des directions ''x'' et ''z'' local. Syntaxiquement, on écrit: triedre1 = Triedre(pt0,pt1,pt2) ''pt0'', ''pt1'' et ''pt2'' sont définis, soit via des points géométriques, soit des noeuds topologiques. [[doc:user:triedres|Doc]] qui va avec. ==== Opérateur géométrique d'alignement ==== Introduction d'un opérateur géométrique d'alignement qui permet d'effectuer un changement de repère et de repositionner un objet géométrique (maillé ou non). C'est utile quand, par exemple, Techspace-Aero envoie des maillages dans un mauvais système d'axes... Cet opérateur d'alignement est défini par deux trièdres (d'où la définition de l'objet ''Triedre'' ci-dessus): opAl = AlignmentOperator(triedreRef,triedreMesh) tpointset.move(opAl) si on veut bouger les points topologiques. ''triedreRef'' est le trièdre dans lequel on veut placer le maillage et ''triedreMesh'' est le trièdre modélisant un système d'axes local du trièdre à déplacer. ==== Optimisation de forme ==== Modification de la fonction ''ShapeValueExtractor'' pour utiliser le trièdre plutôt que des axes comme c'était fait jusque maintenant. On écrit à présent: sve1 = ShapeValueExtractor(object1, object2) sve1.setTriedreRef(triedreRef) sve1.setTriedreMesh(triedreMesh) où ''object1'' et ''object2'' sont respectivement la forme à optimiser (géométrie maillée) et la forme optimisée. Les fonctions ''setTriedreRef(triedreRef)'' et ''setTriedreMesh(triedreMesh)'' définissent les systèmes d'axes de la forme optimisée et du maillage à optimiser. ==== Rupture ==== * Correction du numéro d'élément cassé (le numéro d'élément qui s'affichait n'était pas correct dans le cas d'éléments de frontière). * Ajout dans l'''ObjectBrowser'' du flag ''isActive'' dans l'''ElementSet''. * Appel plus judicieux de la fonction établissant si des éléments de frontière (contact, pression...) sont cassés ou non. ==== Matériaux ==== * Suite à une question récurrente de notre chef bien aimé "Et Johnson-Cook sans tenir compte de la température, ça donne quoi??", j'ai commité (et ajouté des tests) une loi de Johnson-Cook purement mécanique ''JohnsonCookMecIsotropicHardening'' et ''JohnsonCookMecPlasticViscosity''. La loi d'évolution de la limite d'élasticité s'écrit: $$ \bar\sigma = \left(A+B\left(\bar\varepsilon^{pl}\right)^n\right)\left(1+C\ln\frac{\dot{\bar\varepsilon}^{pl}}{\dot\varepsilon_0}\right) $$ * Suppression de la fonction ''getShearModulus()'' et ''getCompressionModulus()'' dans les matériaux hypo qui n'était jamais appelé nulle part. Il y a de toute façon déjà les fonctions ''getG()'' et ''getK()'' * Matériaux TM : * Regroupement de ''DISSIP_TQ'' et ''DISSIP_TE'' dans la classe de base ''TmMaterial'' * Regroupement de ''HEAT_CAPACITY'' et ''CONDUCTIVITY'' dans la classe de base ''ThermalMaterial'' ==== Divers ==== * Importation des penta de Bacon avec ''dat2py'' * Correction de ''nas2py'' pour éviter le bug de mémoire de python constaté [[commit:2008:09_11|précédemment]] avec ''dat2py'' * Ajout d'un test de l'aube de ma thèse avec frottement * Suppression de fonctions inutiles dans ''Vect3'' et ''Vect2'' (jamais appelées) * Suppression de cas-tests redondants dans les matériaux * Doc des [[doc:user:opérateurs de transformation géométrique]] et de la définition d'[[doc:user:axes]]. ===== Fichiers ajoutés ===== R apps/monosMaterials/tmEvpIsoFast2dAxiImp.py R apps/monosMaterials/tmEvpIsoFast2dEpeImp.py R apps/monosMaterials/tmEvpIsoFast3dImp.py A apps/qs/Alignment2d.py A apps/qs/Alignment3d.py A mtGeo/mtGeoAlignmentOperator.cpp A mtGeo/mtGeoAlignmentOperator.h A mtGeo/mtGeoTriedre.cpp A mtGeo/mtGeoTriedre.h A mtMaterialLaws/isohard/JohnsonCookMecIsotropicHardening.cpp A mtMaterialLaws/isohard/JohnsonCookMecIsotropicHardening.h A mtMaterialLaws/plastvisco/JohnsonCookMecPlasticViscosity.cpp A mtMaterialLaws/plastvisco/JohnsonCookMecPlasticViscosity.h A techspace/tests/aubeImpametaFrot.dat A techspace/tests/aubeImpametaFrot.py --- //[[ppjeunechamps@ulg.ac.be|Pierre-Paul Jeunechamps]] 2008/11/12 09:04//