===== Commit 2008-08-06 =====
* Extracteurs contact
===== Modifs =====
* **Extracteurs de contact**
* Suppression des extracteurs ''GapMaxValueExtractor'' & ''NCValueExtractor''
* Ajout des extracteurs ''ContactStatusValueExtractor'', ''SlidingStatusValueExtractor'', ''GapValueExtractor'', ''NormalForceValueExtractor'', ''TangentForceValueExtractor'' dérivant tous de la classe abstraite ''ContactInteractionValueExtractor'' gerant la création de la liste des éléments, & les opérateurs de tri (attention le sélecteur étant une intéraction, ...)
* Ces nouveaux opérateurs à priori matriciels peuvent être transformés en vecteurs par un ''VectorToScalarOperator'' ad-hoc (genre ''AbsMaxOperator'' sur un ''GapValueExtractor'' pour récupérer le gap max quel que soit son signe ou ''SumOperator'' sur ''ContactStatusValueExtractor'' pour obtenir le nombre de noeuds en contact)
* **DataVector**
* Suppression de la classe "DataVectorSet"
* DataVectorBase n'est plus un ''NumberedObject'' (juste un "RefCounted") et donc de même pour les classes dérivées (''OnFileDataVector'', ''OnFileDataMatrix'' & ''InMemoryDataVector'')
* Réunification des ''VectorValueStruc'' & ''MatrixValueStruc'' dans une classe unique ''ValueStruc''
* Allocation des vecteurs & matrice dans le valueStruc (et non dans le ''ValueManager'')
* Unification des fonctions d'extraction quel que soit le nombre de valeurs (1 ou +) de valeurs extraites (pour pouvoir utiliser une même fonction dérivée)
* **Divers**
* Modification de toolbox/meshers.py pour permettre d'appeller 2 fois triangle mesher dans le même cas test.
===== Futur Works =====
===== Tests =====
* Ajout du test de contact de Hertz (Comparaison de Philippe Bussetta)
* Propagation des modifs sur les extracteurs de contact
===== Projet =====
* Up To Date
===== ToDo list =====
* Visualiser les états de contact / gaps tangentiels, ...
* Ajouter des extracteurs pour analyser le lagrangien augmenté
* Analyser l'effet sur le cpu de l'unification des fonctions extract & extractMultiple (voir si on ne passe pas trop de temps à allouer/copier des ''std::vector'')
===== Fichiers ajoutés/supprimés =====
**Code**
A oo_meta\mtElements\boundaries\NormalForceValueExtractor.h/cpp
A oo_meta\mtElements\boundaries\SlidingStatusValueExtractor.h/cpp
A oo_meta\mtElements\boundaries\TangentForceValueExtractor.h/cpp
A oo_meta\mtElements\boundaries\ContactInteractionValueExtractor.h/cpp
A oo_meta\mtElements\boundaries\ContactStatusValueExtractor.h/cpp
A oo_meta\mtElements\boundaries\GapValueExtractor.h/cpp
R oo_meta\mtElements\GapMaxValueExtractor.h/cpp
R oo_meta\mtElements\boundaries\NcValueExtractor.h/cpp
R oo_meta\mtKernel\DataVectorSet.h/cpp
**Test**
A oo_meta\apps\contactMec\contactHertz.py
A oo_meta\apps\contactMec\contactHertzGen4.py
A oo_meta\apps\contactMec\contactHertzTriangle.py
A oo_nda\newac\tests\utbm\HR51YRigidPid.py
--- //[[L.Papeleux@ulg.ac.be|Luc PAPELEUX]] 2008/08/06 //