===== 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 //