commit:2014:10_29
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
commit:2014:10_29 [2014/10/29 18:22] – created wautelet | commit:2014:10_29 [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Commit 2014-03-19 ====== | + | ====== Commit 2014-10-29 ====== |
===== Modifications ===== | ===== Modifications ===== | ||
- | ==== Nettoyage de l' | + | ==== Nouvel Interfaçage |
- | J'ai nettoyé l' | + | L'algorithme |
- | Désormais, on a uniquement " | + | |
- | ==== Nettoyage Electric Iteration Manager | + | - Version standard (On effectue un nombre fixe d' |
+ | < | ||
+ | alm = StandardAugmentedLagrangianManager(metafor) | ||
+ | alm.setNbOfIterationsPerStep(parameter[' | ||
+ | |||
+ | augLagAugmentation | ||
+ | ci.setAugLagAugmentation(augLagAugmentation) | ||
+ | |||
+ | alm.addContactInteraction(ci) | ||
+ | </ | ||
+ | - Version automatique (On effectue un nombre d' | ||
+ | < | ||
+ | alm = AutomaticAugmentedLagrangianManager(metafor) | ||
+ | alm.setMaxNbOfIterations(parameter[' | ||
+ | |||
+ | augLagCriterion | ||
+ | augLagCriterion.setNormalGapPrec(parameter[' | ||
+ | augLagCriterion.setTangentialGapPrec(parameter[' | ||
+ | ci.setAugLagCriterion(augLagCriterion) | ||
+ | |||
+ | augLagAugmentation = AugLagClassicalAugmentation(alm) | ||
+ | ci.setAugLagAugmentation(augLagAugmentation) | ||
+ | |||
+ | alm.addContactInteraction(ci) | ||
+ | </ | ||
+ | Il existe 4 critères de base : | ||
+ | - Critère géométrique | ||
+ | < | ||
+ | augLagGeoCriterion= AugLagGeoCriterion(alm) | ||
+ | augLagGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) | ||
+ | augLagGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) | ||
+ | augLagGeoCriterion.setNormalGapPrec(parameter[' | ||
+ | augLagGeoCriterion.setTangentialGapPrec(parameter[' | ||
+ | </ | ||
+ | - Critère géométrique normalisé | ||
+ | < | ||
+ | augLagNormalisedGeoCriterion= AugLagNormalisedGeoCriterion(alm) | ||
+ | augLagNormalisedGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) | ||
+ | augLagNormalisedGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) | ||
+ | augLagNormalisedGeoCriterion.setNormalGapPrec(parameter[' | ||
+ | augLagNormalisedGeoCriterion.setTangentialGapPrec(parameter[' | ||
+ | </ | ||
+ | - Critère force ou pression/ | ||
+ | < | ||
+ | augLagForceCriterion= AugLagForceCriterion(alm) | ||
+ | augLagForceCriterion.setContactPressureNorm(ALM_MAX_NORM) | ||
+ | augLagForceCriterion.setContactShearNorm(ALM_MEAN_NORM) | ||
+ | augLagForceCriterion.setContactPressurePrec(parameter[' | ||
+ | augLagForceCriterion.setContactShearPrec(parameter[' | ||
+ | </ | ||
+ | - Critère force ou pression/ | ||
+ | < | ||
+ | augLagNormalisedForceCriterion= AugLagNormalisedForceCriterion(alm) | ||
+ | augLagNormalisedForceCriterion.setContactPressureNorm(ALM_MAX_NORM) | ||
+ | augLagNormalisedForceCriterion.setContactShearNorm(ALM_MEAN_NORM) | ||
+ | augLagNormalisedForceCriterion.setContactPressurePrec(parameter[' | ||
+ | augLagNormalisedForceCriterion.setContactShearPrec(parameter[' | ||
+ | </ | ||
+ | Il est possible de les combiner pour faire un critère multiple : | ||
+ | < | ||
+ | augLagGeoForceCriterion = AugLagMultipleCriterions(alm) | ||
+ | augLagGeoForceCriterion.add(augLagGeoCriterion) | ||
+ | augLagGeoForceCriterion.add(augLagNormalisedForceCriterion) | ||
+ | </ | ||
+ | Il est possible d' | ||
+ | < | ||
+ | augLagGeoForceCriterion.remove(augLagNormalisedForceCriterion) | ||
+ | </ | ||
+ | Pour finir, il faut associer le matériau suivant pour chaque interaction de contact sélectionnée : | ||
+ | < | ||
+ | if(parameter[' | ||
+ | materset.define (2, AugLagFrictionlessContactMaterial) | ||
+ | materset(2).put(PROF_CONT, | ||
+ | materset(2).put(PEN_NORMALE, | ||
+ | materset(2).put(TYPE_CONT, | ||
+ | print " | ||
+ | elif(parameter[' | ||
+ | materset.define (2, AugLagStickingContactMaterial) | ||
+ | materset(2).put(PROF_CONT, | ||
+ | materset(2).put(PEN_TANGENT, | ||
+ | materset(2).put(PEN_NORMALE, | ||
+ | materset(2).put(TYPE_CONT, | ||
+ | print " | ||
+ | elif(parameter[' | ||
+ | materset.define (2, AugLagCoulombContactMaterial) | ||
+ | materset(2).put(PROF_CONT, | ||
+ | materset(2).put(COEF_FROT_STA, | ||
+ | materset(2).put(COEF_FROT_DYN, | ||
+ | materset(2).put(PEN_TANGENT, | ||
+ | materset(2).put(PEN_NORMALE, | ||
+ | materset(2).put(TYPE_CONT, | ||
+ | print " | ||
+ | else: | ||
+ | print "Bad definition of type contact" | ||
+ | </ | ||
+ | **Étant donné que la configuration/ | ||
- | J'ai nettoyé l' | + | <note important> |
+ | Il est à noter que l'algorithme | ||
- | ==== Nettoyage LoadAdaptationManager | + | - ALE (Mise à jour du point de collement ?), |
+ | - en contact déformable - déformable, | ||
+ | - en contact 3D, ... | ||
+ | </ | ||
- | Par défaut, il y a une instance du LoadAdapationManager | + | D' |
- | lam = LoadAdapationManager(metafor) | + | ==== Ajout d'une fonctionnalité sur l' |
- | et nous n'avons plu dans la fenêtre | + | La gestion du contact tangentielle se fait au moyen d'une base locale associée à chaque nœud en contact construite à partir du gap tangentiel, |
- | J'ai adapté les 4 cas-tests | + | Dans certains cas de figure, afin de comparer avec des résultats de la littérature, |
+ | |||
+ | Pour se faire, il suffit d' | ||
+ | < | ||
+ | extractorFt = TangentForceValueExtractor(ci) | ||
+ | extractorFt.setUseToolLocalSystemAxes(True) | ||
+ | valuesmanager.add(1, | ||
+ | </ | ||
+ | **Cette fonctionnalité ne marche que pour l' | ||
+ | |||
+ | ==== Ajout d'un Timer ==== | ||
+ | |||
+ | Afin de tenir compte de la fraction du temps CPU passée | ||
+ | |||
+ | ==== Ajout d' | ||
+ | |||
+ | Il est possible de | ||
+ | |||
+ | - de mettre à jour la fenêtre de visualisation à chaque augmentation. | ||
+ | - de sauvegarder les grandeurs des extracteurs sur le disque dur à chaque augmentation. | ||
==== Modification des Cas Tests ==== | ==== Modification des Cas Tests ==== | ||
Line 45: | Line 162: | ||
- apps.qs.contactDefoDefoAugLag3 | - apps.qs.contactDefoDefoAugLag3 | ||
- apps.qs.contactDefoDefoAugLag4 | - apps.qs.contactDefoDefoAugLag4 | ||
+ | |||
+ | J'ai adapté l' | ||
+ | |||
==== Perspective ==== | ==== Perspective ==== | ||
Line 50: | Line 170: | ||
Dans la suite du commit, il faut | Dans la suite du commit, il faut | ||
+ | - nettoyer toutes les classes possédant l' | ||
- ajouter des cas-tests (état plan déformation, | - ajouter des cas-tests (état plan déformation, | ||
- | - ajouter les cas-tests de référence de l' | + | - ajouter les cas-tests de référence de l' |
- faire la documentation; | - faire la documentation; | ||
- | - nettoyer toutes les classes possédant l' | ||
===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ | ||
< | < | ||
- | [r]: | + | [a]:mtContact/ |
- | [a]: | + | [a]:mtContact/ |
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [r]: | ||
+ | [r]: | ||
</ | </ | ||
Line 70: | Line 278: | ||
- | --- // | + | --- // |
commit/2014/10_29.1414603357.txt.gz · Last modified: 2016/03/30 15:22 (external edit)