====== Commit 2007-11-08 ====== Unification de la définition des normales 2D-3D RD / DD ===== Modifs ===== * **Contact : Unification des normales ** * Toutes les configurations de contact sont alignées sur le défo-défo : la normale géométrique la surface pointe toujours vers l'intérieur de l'outil). * en 2D, (la normale aux courbes n'étant pas affichée), il faut utiliser la règle de la main droite : Tangent^Normal = (0 0 1). * Le gap mesurant une distance sur la normale (celle-ci étant intérieure : changement de référentiel : le contact par défaut est maintenant de ''TypeOfContact'' ''UNILATERAL_POSITIF'' !!! * ** Contact : géométrie ** * Suppression du "normalFactor" et fonctions associées (le get modifiant potentiellement l'objet, induisait des gaps *= -1 , ...) et n'ayant plus de raison d'être étant donné l'unification des normales RD/DD (principal usage en 2D). Lorsque le sens de la ligne est inversée dans un contour la projection est retournée une fois calulée (''pjst.reverseNormal()'') * suppression du "useSurfaceNormalAsSideNormal". C'est dorénavant la norme (en RD, la définition de la surface était déjà obligatoire, en defo-defo, c'est géré)!!! Tous les cas tests 3D ont été "corrigés" si nécessaire. * suppression d'un certain nombre de ''*= -1.0''. * ** Contact : Armero ** * Suppression des UseKsiL : quand on fait du contact Armero, il est nécessaire de recalculer des gaps tangentiels entre configurations "Used" "00" "0". Certaines opérations ne pouvant QUE par différence des positions, l'avantage de calculer les glissement de manière "exacte" n'a pas de sens (et est même dangereux car on mixe les 2 référentiels dans un même calcul) * Suppression des fonctions ArmeroAugmentedLagrangian (contenant juste un ''NOT_IMPLEMENTED()'') * ** Contact : Augmented Lagrangien ** * Ajout d'un ''TSC-ITE'' comptant le nombre d'augmentations du lagrangien * Ajout de tests 'simples' (Rd / classique / sans conservatif / sans quasi newton / ...) : apps/contactMeca * ** MeshedObject** * fillEdgeList/fillFacetsList : remplit une ''std::list'' à la place d'un ''std::vector'' * conséquences : AuxiliaryMeshBuilder, BCInteraction, FixationSet, DgShellInteraction, Interaction, ... * ** Ale** * AbscisseCurveReZoner : inversion du sens de la ligne (parallélisme avec le contact) * ** Spline** * suppression de la fonction ''eval_s'' (''eval'' faisait déjà appel direct à ''eval_s'') * ** Vect2 / Vect3 ** * Ajout d'un test sur la valeur de la norme dans la fonction ''normalize()'' ===== Tests ===== * Correction de tous les tests avec contact afin de prendre en compte la nouvelle phylosophie du contact * Ajout d'un répertoire de tests ''contactMeca'' (a remplir par déplacement) * Ajout de la sortie du nombre d'itérations de remise à jour du lagrangien augmenté * cont2 et dérivés : correction du nom de la courbe de force verticale et ajout de la courbe (et du tsc) de force horizontale * battery.py : la commande buildfdb baconise et la traduction en python ===== Projet ===== * up to date * ===== ToDo list ===== * gestion correcte des courbes fermées au niveau du contact (perte de contact dans aube2DCarterRigidSpline / gen4ClosedSpline/gen4ClosedSpline2) * récupération gestion des exceptions (rayon négatif / jacobien négatif) dans le lineSearch (cf. apps.qs.amorDisc) * Un nombre important de tests demandent explicitement une matrice de raideur numérique (alors que Metafor gère automatiquement la non existence de la matrice analytique) * Unification des projet 32 et 64 bits ===== Fichiers ajoutés/supprimés ===== A apps\contactMec A apps\contactMec\contact2dEpeAugLagCoul.py A apps\contactMec\contact2dEpeAugLagFrictLess.py A apps\contactMec\contact2dEpeAugLagStick.py A apps\imp\aube2DCarterDefo.py A apps\qs\cont2Coul.py A apps\qs\cont2DiscCoulNc.py A apps\qs\tutorialElfi.py R --- //[[L.Papeleux@ulg.ac.be|Luc PAPELEUX]] 2007/11/07 //