commit:2017:04_22
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
commit:2017:04_22 [2017/04/25 18:24] – [Modified Newton Raphson] wautelet | commit:2017:04_22 [2017/04/26 14:50] (current) – wautelet | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Commit 2017-04-22 ====== | + | ===== Commit 2017-04-26 ====== |
Ce commit est pour améliorer quelques routines liées au contact et pour mettre progressivement mes développements sur la version courante. | Ce commit est pour améliorer quelques routines liées au contact et pour mettre progressivement mes développements sur la version courante. | ||
Line 17: | Line 17: | ||
=== Méthode interfacée === | === Méthode interfacée === | ||
- | Après un petit refactoring, | + | Après un petit refactoring, |
=== Stratégie de la méthode de Newton Raphson Modifiée | === Stratégie de la méthode de Newton Raphson Modifiée | ||
Line 30: | Line 30: | ||
Voici les méthodes disponibles et les options associées. | Voici les méthodes disponibles et les options associées. | ||
+ | |||
+ | == NRStiffnessUpdateCriterion (Méthode Par défaut)== | ||
+ | |||
+ | < | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = NRStiffnessUpdateCriterion(mim) | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | == StiffnessUpdateCriterion (Ancienne méthode de mise à jour de la matrice de raideur tangente) == | ||
+ | |||
+ | < | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = StiffnessUpdateCriterion(mim) | ||
+ | stiffUpdate.setNbOfIterationsForStiffUpdate(parameters[' | ||
+ | stiffUpdate.setCpuDependency(parameters[' | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | == CpuModifiedNRStiffnessUpdateCriterion == | ||
+ | |||
+ | < | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = CpuModifiedNRStiffnessUpdateCriterion(mim) | ||
+ | stiffUpdate.setKeepStepStiffness(parameters[' | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | == PeriodicModifiedNRStiffnessUpdateCriterion == | ||
+ | |||
+ | < | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = PeriodicModifiedNRStiffnessUpdateCriterion(mim) | ||
+ | stiffUpdate.setMaxNbOfModifiedNRIterations(parameters[' | ||
+ | stiffUpdate.setResidualDecreaseFactor(parameters[' | ||
+ | stiffUpdate.setKeepStepStiffness(parameters[' | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | Le paramètre keepStepStiffness permet de conserver la matrice de raideur tangente d'un pas de temps à l' | ||
+ | |||
+ | |||
+ | <note important> | ||
===== Lagrangien Augmenté ===== | ===== Lagrangien Augmenté ===== | ||
Line 44: | Line 95: | ||
=== Mise à jour de la matrice de raideur tangente === | === Mise à jour de la matrice de raideur tangente === | ||
- | aa | + | La raison principale qui m'a poussé à tenter de remettre à jour les méthodes de mise à jour de la matrice de raideur tangente est la combinaison de ce type de stratégie avec la méthode du Lagrangien augmenté. Lors de l' |
+ | |||
+ | Ainsi, il semble intéressant d' | ||
+ | |||
+ | === Récapitulatif === | ||
+ | |||
+ | Voici les méthodes disponibles et les options associées. | ||
+ | |||
+ | == AlmCpuModifiedNRStiffnessUpdateCriterion == | ||
+ | |||
+ | < | ||
+ | alm = StandardAugmentedLagrangianManager(metafor) | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = AlmCpuModifiedNRStiffnessUpdateCriterion(mim, | ||
+ | stiffUpdate.setAugmentationThreshold(parameters[' | ||
+ | stiffUpdate.setKeepStepStiffness(parameters[' | ||
+ | stiffUpdate.setKeepAugmentationStiffness(parameters[' | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | == AlmPeriodicModifiedNRStiffnessUpdateCriterion == | ||
+ | |||
+ | < | ||
+ | alm = StandardAugmentedLagrangianManager(metafor) | ||
+ | mim = metafor.getMechanicalIterationManager() | ||
+ | stiffUpdate = AlmPeriodicModifiedNRStiffnessUpdateCriterion(mim, | ||
+ | stiffUpdate.setMaxNbOfModifiedNRIterations(parameters[' | ||
+ | stiffUpdate.setResidualDecreaseFactor(parameters[' | ||
+ | stiffUpdate.setAugmentationThreshold(parameters[' | ||
+ | stiffUpdate.setKeepStepStiffness(parameters[' | ||
+ | stiffUpdate.setKeepAugmentationStiffness(parameters[' | ||
+ | stiffUpdate.setDebug(parameters[' | ||
+ | stiffUpdate.setVerbose(parameters[' | ||
+ | mim.setStiffnessUpdateCriterion(stiffUpdate) | ||
+ | </ | ||
+ | |||
+ | Le paramètre keepAugmentationStiffness permet de conserver la matrice de raideur tangente après une augmentation, | ||
+ | |||
+ | Le paramètre augmentationThreshold permet de spécifier à partir de quel numéro d' | ||
+ | |||
+ | Finalement, l' | ||
+ | | ||
===== Formulation AIC ===== | ===== Formulation AIC ===== | ||
Line 52: | Line 146: | ||
< | < | ||
- | [a]: | + | [a]:mtFEM/ |
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
[r]: | [r]: | ||
</ | </ | ||
Line 59: | Line 170: | ||
< | < | ||
- | [a]: | + | [a]:apps/ |
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
[r]: | [r]: | ||
</ | </ | ||
- | --- // | + | --- // |
commit/2017/04_22.1493137450.txt.gz · Last modified: by wautelet