Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:05_22b

Commit 2015-05-22

IF/DbGeoPointValueExtractor

IF/DbGeoPointValueExtractor

  • GeoPointValueExtractors :
    • extracteurs de valeurs sur base d'une liste de points (fonctionnalité du même ordre que GeoPtValueExtractor : à nettoyer à terme)
    • consiste à retrouver l'élément contenant le point géométrique & les coordonnées réduites dans celui-ci (⇒ définition d'un IntegrationPoint pour calculer l'interpolation au sein de l'élément)
    • Extractions de valeurs de la base de données (DbGeoPointValueExtractor) ou InternalField (IFGeoPointValueExtractor)
    • Extraction Lagrangienne (le point bouge avec la matière : 1 seule détection) ou Eulérienne (la position du point n'est pas liée à la matière mais pourrait évoluer avec un déplacement imposé)
    • Réglage de la tolérance sur la détection (un point légèrement en dehors de la matière peut quand même trouver une projection liée à un élément (dans ce cas, on extrapole les valeurs : Attention à l'analyse des résultats)
    • En lagrangien, pour la visu, les points se déplacement avec la matière
    • Différence avec GeoPtValueExtractor : la première projection dans un élément est la bonne (en cas de point sur ou proche d'un noeud, pas de traitement particulier)
  • Une classe générique virtuelle gérant les aspects géométrique de la détection est définie GeoPointValueExtractor
  • deux classes dérivées gèrent l'extraction proprement dite des valeurs selon que ce sont des Db ou IF

Naming des ValueExtractor

  • profitant de travailler sur les ValueExtractor, j'ai corrigé le naming des classes (pour coller à la règle de syntaxe de programmation qui dit que la spécification de la classe dérivée IF est écrite devant le nom de la classe mère GeoPointValueExtractor)
  • Les classes suivantes ont été renommées :
    • DbValueExtractor → DbNodalValueExtractor
    • NodalInternalFieldValueExtractor → IFNodalValueExtractor
  • Et par soucis d'uniformité :
    • ElementInternalFieldValueExtractor → IFElementValueExtractor
    • GaussPointInternalFieldValueExtractor → IFGaussPointValueExtractor
  • Ajout de void Element::fillNodalDbValues(const Field &field, std::vector<double> &vals)
  • Ajout d'une couche non template aux Smooth Fields Integration Points : SfIntegrationPoint pour faire des std::vectors< SfIntegrationPoint *> (honte sur moi, étant purement virtuelle, je l'ai laissée dans le fichier SfIntegrationPointTemplate.h).
TOUS Les cas tests de oo_meta & oo_nda ont été modifiés (batterie & hors batterie) à l'aide de powergrep.

J'ai commité le fichier de la séquence dans le répertoire “oo_meta/grepSequences/from2263To2266_ValuesExtractors.pgsa”.

Une pratique qu'il faudrait généraliser et améliorer (si qqn a des idées…).

IMPORTANT : Updatez votre configuration SVN en ajoutant la ligne suivante dans le fichier serveur :

*.pgsa = svn:eol-style=native;svn:keywords=Id;svn:mime-type=text/plain

Divers

  • suppression d'un warning dans oo_meta/mtGlobal/mtMD5.cpp
  • Ajout de tests sur la modification du mailleur extrusion (fonction de translation ou de rotation)

Fichiers ajoutés/supprimés

A : oo_meta\grepSequences\from2263To2266_ValuesExtractors.gpsa
A : oo_meta\mtFEM\extractors\GeoPointValueExtractor.h/cpp
A : oo_meta\mtFEM\extractors\DbGeoPointValueExtractor.h/cpp
A : oo_meta\mtFEM\extractors\IFGeoPointValueExtractor.h/cpp
Renamed : oo_meta\mtFEM\extractors\DbValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\DbNodalValueExtractor.h/cpp
Renamed : oo_meta\mtFEM\extractors\NodalInternalFieldValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\IFNodalValueExtractor.h/cpp
Renamed : oo_meta\mtFEM\extractors\ElementInternalFieldValueExtractorh/cpp -> oo_meta\mtFEM\extractors\IFElementValueExtractor.h/cpp
Renamed : oo_meta\mtFEM\extractors\GaussPointInternalFieldValueExtractor.h/cpp -> oo_meta\mtFEM\extractors\IFGaussPointValueExtractor.h/cpp

Tests ajoutés/supprimés

A : oo_meta\apps\qs\cont2GeoPtExtractor.py
A : oo_meta\apps\qs\contactRuledGeoPtExtractor.py
A : oo_meta\apps\qs\extruMesher3dTx.py
A : oo_meta\apps\qs\extruMesher3dTy.py
A : oo_meta\apps\qs\extruMesher3dTorsion.py
A : oo_meta\apps\qs\extruMesher3dTxTyRz.py

Luc Papeleux 2015/05/22

commit/2015/05_22b.txt · Last modified: 2016/03/30 15:23 (external edit)