Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2014:10_29

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:2014:10_29 [2014/10/29 22:37] wauteletcommit:2014:10_29 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 9: Line 9:
   - Version standard (On effectue un nombre fixe d'augmentations par pas de temps sur les interactions de contact sélectionnées.) :   - Version standard (On effectue un nombre fixe d'augmentations par pas de temps sur les interactions de contact sélectionnées.) :
 <code> <code>
-            alm = StandardAugmentedLagrangianManager(metafor) +alm = StandardAugmentedLagrangianManager(metafor) 
-            alm.setNbOfIterationsPerStep(parameter['NbreAugmentation'])+alm.setNbOfIterationsPerStep(parameter['NbreAugmentation'])
                          
-            augLagAugmentation = AugLagClassicalAugmentation(alm) +augLagAugmentation = AugLagClassicalAugmentation(alm) 
-            ci.setAugLagAugmentation(augLagAugmentation)+ci.setAugLagAugmentation(augLagAugmentation)
                          
-            alm.addContactInteraction(ci)+alm.addContactInteraction(ci)
 </code> </code>
   - Version automatique (On effectue un nombre d'augmentations par pas de temps de manière à satisfaire un critère donné (Critère géométrique ou en force), et ce nombre ne peut pas être supérieur à une valeur maximale donnée.) :    - Version automatique (On effectue un nombre d'augmentations par pas de temps de manière à satisfaire un critère donné (Critère géométrique ou en force), et ce nombre ne peut pas être supérieur à une valeur maximale donnée.) : 
 <code> <code>
-            alm = AutomaticAugmentedLagrangianManager(metafor) +alm = AutomaticAugmentedLagrangianManager(metafor) 
-            alm.setMaxNbOfIterations(parameter['NbreAugmentationMax'])+alm.setMaxNbOfIterations(parameter['NbreAugmentationMax'])
                          
-            augLagCriterion = AugLagGeoCriterion(alm) +augLagCriterion = AugLagGeoCriterion(alm) 
-            augLagCriterion.setNormalGapPrec(parameter['gapNTol']) +augLagCriterion.setNormalGapPrec(parameter['gapNTol']) 
-            augLagCriterion.setTangentialGapPrec(parameter['gapTTol'])             +augLagCriterion.setTangentialGapPrec(parameter['gapTTol'])             
-            ci.setAugLagCriterion(augLagCriterion)+ci.setAugLagCriterion(augLagCriterion)
                          
-            augLagAugmentation = AugLagClassicalAugmentation(alm) +augLagAugmentation = AugLagClassicalAugmentation(alm) 
-            ci.setAugLagAugmentation(augLagAugmentation)+ci.setAugLagAugmentation(augLagAugmentation)
                          
-            alm.addContactInteraction(ci)+alm.addContactInteraction(ci)
 </code> </code>
 Il existe 4 critères de base :  Il existe 4 critères de base : 
   - Critère géométrique    - Critère géométrique 
 <code> <code>
-        augLagGeoCriterion= AugLagGeoCriterion(alm) +augLagGeoCriterion= AugLagGeoCriterion(alm) 
-        augLagGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) +augLagGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) 
-        augLagGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) +augLagGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) 
-        augLagGeoCriterion.setNormalGapPrec(parameter['gapNTol']) +augLagGeoCriterion.setNormalGapPrec(parameter['gapNTol']) 
-        augLagGeoCriterion.setTangentialGapPrec(parameter['gapTTol'])+augLagGeoCriterion.setTangentialGapPrec(parameter['gapTTol'])
 </code>         </code>        
   - Critère géométrique normalisé   - Critère géométrique normalisé
 <code> <code>
-        augLagNormalisedGeoCriterion= AugLagNormalisedGeoCriterion(alm) +augLagNormalisedGeoCriterion= AugLagNormalisedGeoCriterion(alm) 
-        augLagNormalisedGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) +augLagNormalisedGeoCriterion.setNormalGapNorm(ALM_MAX_NORM) 
-        augLagNormalisedGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) +augLagNormalisedGeoCriterion.setTangentialGapNorm(ALM_MEAN_NORM) 
-        augLagNormalisedGeoCriterion.setNormalGapPrec(parameter['gapNTol']) +augLagNormalisedGeoCriterion.setNormalGapPrec(parameter['gapNTol']) 
-        augLagNormalisedGeoCriterion.setTangentialGapPrec(parameter['gapTTol'])+augLagNormalisedGeoCriterion.setTangentialGapPrec(parameter['gapTTol'])
 </code>         </code>        
   - Critère force ou pression/cisaillement (si on utilise la méthode area in contact)    - Critère force ou pression/cisaillement (si on utilise la méthode area in contact) 
 <code> <code>
-        augLagForceCriterion= AugLagForceCriterion(alm) +augLagForceCriterion= AugLagForceCriterion(alm) 
-        augLagForceCriterion.setContactPressureNorm(ALM_MAX_NORM) +augLagForceCriterion.setContactPressureNorm(ALM_MAX_NORM) 
-        augLagForceCriterion.setContactShearNorm(ALM_MEAN_NORM) +augLagForceCriterion.setContactShearNorm(ALM_MEAN_NORM) 
-        augLagForceCriterion.setContactPressurePrec(parameter['contactPressureTol']) +augLagForceCriterion.setContactPressurePrec(parameter['contactPressureTol']) 
-        augLagForceCriterion.setContactShearPrec(parameter['contactShearTol'])+augLagForceCriterion.setContactShearPrec(parameter['contactShearTol'])
 </code>         </code>        
   - Critère force ou pression/cisaillement normalisé (si on utilise la méthode area in contact)    - Critère force ou pression/cisaillement normalisé (si on utilise la méthode area in contact) 
 <code>  <code> 
-        augLagNormalisedForceCriterion= AugLagNormalisedForceCriterion(alm) +augLagNormalisedForceCriterion= AugLagNormalisedForceCriterion(alm) 
-        augLagNormalisedForceCriterion.setContactPressureNorm(ALM_MAX_NORM) +augLagNormalisedForceCriterion.setContactPressureNorm(ALM_MAX_NORM) 
-        augLagNormalisedForceCriterion.setContactShearNorm(ALM_MEAN_NORM) +augLagNormalisedForceCriterion.setContactShearNorm(ALM_MEAN_NORM) 
-        augLagNormalisedForceCriterion.setContactPressurePrec(parameter['contactPressureTol']) +augLagNormalisedForceCriterion.setContactPressurePrec(parameter['contactPressureTol']) 
-        augLagNormalisedForceCriterion.setContactShearPrec(parameter['contactShearTol'])+augLagNormalisedForceCriterion.setContactShearPrec(parameter['contactShearTol'])
 </code>         </code>        
 Il est possible de les combiner pour faire un critère multiple :         Il est possible de les combiner pour faire un critère multiple :        
 <code>         <code>        
-        augLagGeoForceCriterion = AugLagMultipleCriterions(alm) +augLagGeoForceCriterion = AugLagMultipleCriterions(alm) 
-        augLagGeoForceCriterion.add(augLagGeoCriterion) +augLagGeoForceCriterion.add(augLagGeoCriterion) 
-        augLagGeoForceCriterion.add(augLagNormalisedForceCriterion)+augLagGeoForceCriterion.add(augLagNormalisedForceCriterion)
 </code>         </code>        
 Il est possible d'enlever un critère du critère multiple : Il est possible d'enlever un critère du critère multiple :
 <code> <code>
-        augLagGeoForceCriterion.remove(augLagNormalisedForceCriterion)+augLagGeoForceCriterion.remove(augLagNormalisedForceCriterion)
 </code> </code>
 Pour finir, il faut associer le matériau suivant pour chaque interaction de contact sélectionnée :  Pour finir, il faut associer le matériau suivant pour chaque interaction de contact sélectionnée : 
Line 122: Line 122:
 Pour se faire, il suffit d'utiliser les commandes suivantes :  Pour se faire, il suffit d'utiliser les commandes suivantes : 
 <code> <code>
-    extractorFt = TangentForceValueExtractor(ci) +extractorFt = TangentForceValueExtractor(ci) 
-    extractorFt.setUseToolLocalSystemAxes(True) +extractorFt.setUseToolLocalSystemAxes(True) 
-    valuesmanager.add(1, extractorFt,'Ft'+valuesmanager.add(1, extractorFt,'Ft'
 </code> </code>
 **Cette fonctionnalité ne marche que pour l'instant en état plan déformation et en axisymétrique.**  **Cette fonctionnalité ne marche que pour l'instant en état plan déformation et en axisymétrique.** 
commit/2014/10_29.1414618658.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki