Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2008:11_12

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
commit:2008:11_12 [2008/11/11 11:42] – created jchampscommit:2008:11_12 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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//

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki