Table of Contents

Commit 2008-02-11

Modifs

ElementProperties partagés

Autrement dit, vous pouvez écrire ceci:

prp = ElementProperties(Volume2DElement)
interactionset(99).addProperty(prp)
prp.put(MATERIAL, 1)
prp.put(STIFFMETHOD, STIFF_NUMERIC)
prp.put(CAUCHYMECHVOLINTMETH, VES_CMVIM_SRIPR)
del prp # facultatif

au lieu de:

prp = ElementProperties(Volume2DElement)
prp.put(MATERIAL, 1)
prp.put(STIFFMETHOD, STIFF_NUMERIC)
prp.put(CAUCHYMECHVOLINTMETH, VES_CMVIM_SRIPR)
interactionset(99).addProperty(prp)
del prp # facultatif

Dans le premier cas, le del prp supprime l'objet prp qui a été copié lors du addProperty.

Dans le deuxième cas, le del prp supprime simplement prp du dictionnaire python local sans appeler le destructeur.

Les deux cas sont maintenant équivalents! Auparavant, le premier placard de code ne modifiait pas les propriétés assignées à l'interaction puisque celle-ci avait fait discretos une copie. On se retrouvait donc avec un objet qui était toujours là mais qui ne servait à rien et pouvait être source d'erreurs.

J'ai modifié cont2 histoire de tester cette manière de faire qui est beaucoup plus souple.

LoadAdaptationManager

J'ai nettoyé le LoadAdaptationManager pour y voir plus clair. je suis maintenant presque certain qu'il est plein de bugs. Pour fêter ça, j'ai déplacé le contenu de ElementPropertiesSet (une autre classe bien pourrie qui est utilisée uniquement dans le cas de l'adaptation de pression) dans LoadAdaptationManager.

Nettoyage du code

Projet

Ajouter/supprimer les fichiers ci-dessous.

Fichiers ajoutés/supprimés

mtElements/ElementTemplate.cpp	added
mtElements/ElementTemplate.hpp	added
mtElements/Element2DTemplate.cpp	deleted
mtElements/Element3DTemplate.cpp	deleted
mtElements/Element2DTemplate.h	deleted
mtElements/Element3DTemplate.h	deleted
mtElements/ElementTemplate.inl	deleted

oeFEMBase/ElementPropertiesSet.cpp	deleted
oeFEMBase/ElementPropertiesSet.h	deleted

Romain BOMAN 2008/02/11 10:04