Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2008:11_12

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 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)

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é 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 opérateurs de transformation géométrique et de la définition d'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

Pierre-Paul Jeunechamps 2008/11/12 09:04

commit/2008/11_12.txt · Last modified: 2016/03/30 15:23 (external edit)