Table of Contents
Commit 2015-09-23
Modifications
Interfaçage - Lagrangien Augmenté
J'ai interfacé la classe AugLagCriterionNormMethod qui permet de choisir le type de norme pour l'évaluation des critères d'arrêt du lagrangien augmenté.
TdFieldSavedValues (Crasse éliminée !)
J'ai éliminé la variable booléenne loadingValuesAllowed et j'ai introduit deux variables pour conserver les valeurs initiales keptInitialInternalEnergy et keptInitialWorkOfExternalForces. Ces différentes variables étaient mises à jour lors de la phase d'équilibrage de n pas de temps explicite de taille deltaTexplicite par un pas de temps implicite équivalent deltaTimplicite = n *deltaTexplicite.
IeShiftManager
Nous sommes forcés d'instancier cet objet dans le jeux de données lors de l'utilisation du shift explicite/implicite :
iesm = IeShiftManager(metafor)
ConsistentAlgorithmFunctions
Nous sommes forcés d'instancier cet objet dans le jeux de données lors de l'utilisation du schéma implicite consistent :
caf = ConsistentAlgorithmFunctions(metafor)
Référence vers le domaine
J'ai éliminé la référence vers le domaine dans les objets suivants : IeShiftManager, ConsistentAlgorithmFunctions, IterationManager, TimeIntegration, car on peut y accéder via l'objet metafor.
Schéma d'intégration explicite
J'ai inséré la fonction computeTimeStep() à la fin de la fonction initialise du schéma d'intégration explicite.
Schéma d'intégration implicite/explicite
J'ai déplacé deux fonctions de metafor vers cette classe (exportConfigurationToBalanceTheExplicitSolution et importConfigurationToBalanceTheExplicitSolution ), uniquement appelée dans ce schéma d'intégration !
TimeStepManager
J'ai éliminé un maximum d'include de “TimeStepManager” dans l'ensemble du code source.
Consistent Time Integration
Afin de rendre plus claire la lecture de ce type de schéma d'intégration spécifique, des fonctions dans la classe ImplicitTimeIntegration ont été descendues dans la classe ConsistentTimeIntegration et on évite les tests du genre isMethodConsistent() un peu partout !
keepIntegrating()
Cette fonction était redéfinie dans le schéma d'intégration implicite explicite alors qu'elle devrait être identique pour tous les schémas !
La différence était dans un gardien où on utilisait metafor.getCurrentTime() au lieu de metafor.getOldTime().
J'ai résolu cette différence en indiquant explicitement que metafor.setCurrentTime(metafor.getOldTime()) lors de la phase errorManagement() des schémas d'intégration !
Fichiers/Dossiers ajoutés/supprimés
[a]: [r]:
Tests ajoutés/supprimés
[r]: [a]:
— Gaëtan WAUTELET 2015/09/23