Table of Contents

Commit 2007-08-13

Modifs

Suppression des dépendances Domain/Metafor

Création d'une nouvelle lib: mtFEMBase

Cette nouvelle lib est nécessaire pour:

Les applications visées par Metafor sont de plus en plus nombreuses et très variées (X-FEM, ALE, Lubri?, Remaillage?, etc). Il est donc nécessaire de pouvoir bien séparer les concepts de base (un ddl, un ensemble de matériau, une interaction générique, un EF générique, etc) avec les classes spécialisées (extracteur du nombre de noeuds en contact, interaction de contact, adaptation de pression, ALE, etc). Les classes spécialisées doivent dépendre des classes de base et non l'inverse. Plusieurs exemples:

Pour ce faire, il faut abandonner l'envie de vouloir regrouper les classes de même type dans des mêmes libs (tous les éléments, tous les matériaux, tous les loadings, tous les extracteurs, etc). C'est la cause principale des liens cycliques qu'on observe. Par exemple, on a un élément de contact dans mtElements et un extracteur donnant le nombre de neouds en contact dans mtFEM. Conséquence, mtFEM dépend de mtElements. L'extracteur en question est un extracteur hyper spécialisé (valable quand je fais du contact grandes défo) et je ne doit pas avoir besoin de linker avec lui si je travaille sur un mailleur!!

Mon idée est de diviser, dans un premier temps mtFEM en deux parties: une partie plus ou moins générique (ddls, gestion d'extracteurs basiques, analyse générique, Domain) et une partie métaforienne (je parle ici de “metal forming” au sens large - contact, ALE, grandes defos, etc). Ce n'est bien sûr pas un simple déplacement de fichiers: il faut modifier des classes pour supprimer certains liens qui les rendent trop liées à Metafor. C'était le but des commits précédents.

Notez que tous les fichiers d'Oofelie correspondant à mtFEM deviennent des oeFEMBAse. C'est logique puisque Oofelie se voulait générique.

Nettoyage des chargements & C.I.

J'ai créé une classe LoadingSetBase dont dérive LoadingSet et InitialConditionSet pour éviter la duplication de code.

Projet

Fichiers ajoutés/supprimés

File	Text status
mtFEMBase	added
mtFEM/MtElement.cpp	added
mtFEMBase/Activable.cpp	added (+)
mtFEMBase/ContactConfigFlag.cpp	added (+)
mtFEMBase/Element.cpp	added (+)
mtFEMBase/ElementIDList.cpp	added (+)
mtFEMBase/ElementIterator.cpp	added (+)
mtFEMBase/ElementProperties.cpp	added (+)
mtFEMBase/ElementPropertyIDs.cpp	added (+)
mtFEMBase/EqualityDofConstraints.cpp	added (+)
mtFEMBase/EqualityDofConstraintsSet.cpp	added (+)
mtFEMBase/FixationSet.cpp	added (+)
mtFEMBase/GpStateBase.cpp	added (+)
mtFEMBase/InitialConditionSet.cpp	added (+)
mtFEMBase/Interaction.cpp	added (+)
mtFEMBase/InteractionSet.cpp	added (+)
mtFEMBase/Loading.cpp	added
mtFEMBase/LoadingSet.cpp	added
mtFEMBase/LoadingSetBase.cpp	added
mtFEMBase/MaterialIDList.cpp	added (+)
mtFEMBase/MaterialLaw.cpp	added (+)
mtFEMBase/MaterialLawIDList.cpp	added (+)
mtFEMBase/MaterialLawProperties.cpp	added (+)
mtFEMBase/MaterialLawPropertyIDs.cpp	added (+)
mtFEMBase/MaterialLawSet.cpp	added (+)
mtFEMBase/MaterialProperties.cpp	added (+)
mtFEMBase/MaterialPropertyIDs.cpp	added (+)
mtFEMBase/mtFEMBase.cpp	added
mtFEMBase/Property.cpp	added (+)
mtFEMBase/RadialLoading.cpp	added (+)
mtFEMBase/RotativeLoading.cpp	added (+)
mtFEMBase/Stage.cpp	added (+)
mtFEMBase/UniformLoading.cpp	added (+)
mtFEM/MtElement.h	added
mtFEMBase/Activable.h	added (+)
mtFEMBase/ContactConfigFlag.h	added (+)
mtFEMBase/Element.h	added (+)
mtFEMBase/ElementFactoryArgs.h	added (+)
mtFEMBase/ElementID.h	added (+)
mtFEMBase/ElementIDList.h	added (+)
mtFEMBase/ElementIterator.h	added (+)
mtFEMBase/ElementProperties.h	added (+)
mtFEMBase/ElementPropertyID.h	added (+)
mtFEMBase/ElementPropertyIDs.h	added (+)
mtFEMBase/EqualityDofConstraints.h	added (+)
mtFEMBase/EqualityDofConstraintsSet.h	added (+)
mtFEMBase/FixationSet.h	added (+)
mtFEMBase/GpStateBase.h	added (+)
mtFEMBase/InitialConditionSet.h	added (+)
mtFEMBase/Interaction.h	added (+)
mtFEMBase/InteractionSet.h	added (+)
mtFEMBase/Loading.h	added
mtFEMBase/LoadingSet.h	added
mtFEMBase/LoadingSetBase.h	added
mtFEMBase/MaterialFactoryArgs.h	added (+)
mtFEMBase/MaterialID.h	added (+)
mtFEMBase/MaterialIDList.h	added (+)
mtFEMBase/MaterialLaw.h	added (+)
mtFEMBase/MaterialLawFactoryArgs.h	added (+)
mtFEMBase/MaterialLawID.h	added (+)
mtFEMBase/MaterialLawIDList.h	added (+)
mtFEMBase/MaterialLawProperties.h	added (+)
mtFEMBase/MaterialLawPropertyID.h	added (+)
mtFEMBase/MaterialLawPropertyIDs.h	added (+)
mtFEMBase/MaterialLawSet.h	added (+)
mtFEMBase/MaterialProperties.h	added (+)
mtFEMBase/MaterialPropertyID.h	added (+)
mtFEMBase/MaterialPropertyIDs.h	added (+)
mtFEMBase/mtFEMBase.h	added
mtFEMBase/Properties.h	added (+)
mtFEMBase/Property.h	added (+)
mtFEMBase/RadialLoading.h	added (+)
mtFEMBase/RotativeLoading.h	added (+)
mtFEMBase/Stage.h	added (+)
mtFEMBase/StageDepValue.h	added (+)
mtFEMBase/UniformLoading.h	added (+)
mtFEMBase/Makefile.in	added
mtFEM/MtElement.inl	added
mtFEMBase/Element.inl	added (+)
mtFEMBase/ElementIterator.inl	added (+)
mtFEMBase/MaterialLaw.inl	added (+)
mtFEMBase/Properties.inl	added (+)
mtFEMBase/StageDepValue.inl	added (+)
mtFEM/Activable.cpp	deleted
mtFEM/ContactConfigFlag.cpp	deleted
mtFEM/Element.cpp	deleted
mtFEM/ElementIDList.cpp	deleted
mtFEM/ElementIterator.cpp	deleted
mtFEM/ElementProperties.cpp	deleted
mtFEM/ElementPropertyIDs.cpp	deleted
mtFEM/EqualityDofConstraints.cpp	deleted
mtFEM/EqualityDofConstraintsSet.cpp	deleted
mtFEM/FixationSet.cpp	deleted
mtFEM/GpStateBase.cpp	deleted
mtFEM/InitialConditionSet.cpp	deleted
mtFEM/Interaction.cpp	deleted
mtFEM/InteractionSet.cpp	deleted
mtFEM/Loading.cpp	deleted
mtFEM/LoadingSet.cpp	deleted
mtFEM/MaterialIDList.cpp	deleted
mtFEM/MaterialLaw.cpp	deleted
mtFEM/MaterialLawIDList.cpp	deleted
mtFEM/MaterialLawProperties.cpp	deleted
mtFEM/MaterialLawPropertyIDs.cpp	deleted
mtFEM/MaterialLawSet.cpp	deleted
mtFEM/MaterialProperties.cpp	deleted
mtFEM/MaterialPropertyIDs.cpp	deleted
mtFEM/Property.cpp	deleted
mtFEM/RadialLoading.cpp	deleted
mtFEM/RotativeLoading.cpp	deleted
mtFEM/Stage.cpp	deleted
mtFEM/UniformLoading.cpp	deleted
mtFEM/Activable.h	deleted
mtFEM/ContactConfigFlag.h	deleted
mtFEM/Element.h	deleted
mtFEM/ElementFactoryArgs.h	deleted
mtFEM/ElementID.h	deleted
mtFEM/ElementIDList.h	deleted
mtFEM/ElementIterator.h	deleted
mtFEM/ElementProperties.h	deleted
mtFEM/ElementPropertyID.h	deleted
mtFEM/ElementPropertyIDs.h	deleted
mtFEM/EqualityDofConstraints.h	deleted
mtFEM/EqualityDofConstraintsSet.h	deleted
mtFEM/FixationSet.h	deleted
mtFEM/GpStateBase.h	deleted
mtFEM/InitialConditionSet.h	deleted
mtFEM/Interaction.h	deleted
mtFEM/InteractionSet.h	deleted
mtFEM/Loading.h	deleted
mtFEM/LoadingSet.h	deleted
mtFEM/MaterialFactoryArgs.h	deleted
mtFEM/MaterialID.h	deleted
mtFEM/MaterialIDList.h	deleted
mtFEM/MaterialLaw.h	deleted
mtFEM/MaterialLawFactoryArgs.h	deleted
mtFEM/MaterialLawID.h	deleted
mtFEM/MaterialLawIDList.h	deleted
mtFEM/MaterialLawProperties.h	deleted
mtFEM/MaterialLawPropertyID.h	deleted
mtFEM/MaterialLawPropertyIDs.h	deleted
mtFEM/MaterialLawSet.h	deleted
mtFEM/MaterialProperties.h	deleted
mtFEM/MaterialPropertyID.h	deleted
mtFEM/MaterialPropertyIDs.h	deleted
mtFEM/Properties.h	deleted
mtFEM/Property.h	deleted
mtFEM/RadialLoading.h	deleted
mtFEM/RotativeLoading.h	deleted
mtFEM/Stage.h	deleted
mtFEM/StageDepValue.h	deleted
mtFEM/UniformLoading.h	deleted
mtFEM/Element.inl	deleted
mtFEM/ElementIterator.inl	deleted
mtFEM/MaterialLaw.inl	deleted
mtFEM/Properties.inl	deleted
mtFEM/StageDepValue.inl	deleted

File	Text status
oeFEM	deleted
oeFEM/Analysis.cpp	deleted
oeFEM/Analysis.h	deleted
oeFEM/Analysis.inl	deleted
oeFEM/Connexion.cpp	deleted
oeFEM/Connexion.h	deleted
oeFEM/Connexion.inl	deleted
oeFEM/ConnexionBuilder.cpp	deleted
oeFEM/ConnexionBuilder.h	deleted
oeFEM/ConnexionSet.cpp	deleted
oeFEM/ConnexionSet.h	deleted
oeFEM/Dof.cpp	deleted
oeFEM/Dof.h	deleted
oeFEM/Dof.inl	deleted
oeFEM/DofFlag.cpp	deleted
oeFEM/DofFlag.h	deleted
oeFEM/DofFlagSet.cpp	deleted
oeFEM/DofFlagSet.h	deleted
oeFEM/DofFlagSet.inl	deleted
oeFEM/DofSet.cpp	deleted
oeFEM/DofSet.h	deleted
oeFEM/DofSet.inl	deleted
oeFEM/Domain.cpp	deleted
oeFEM/Domain.h	deleted
oeFEM/ElementPropertiesSet.cpp	deleted
oeFEM/ElementPropertiesSet.h	deleted
oeFEM/ElementSet.cpp	deleted
oeFEM/ElementSet.h	deleted
oeFEM/ElementSet.inl	deleted
oeFEM/ElemStrVector.cpp	deleted
oeFEM/ElemStrVector.h	deleted
oeFEM/Material.cpp	deleted
oeFEM/Material.h	deleted
oeFEM/Material.inl	deleted
oeFEM/MaterialSet.cpp	deleted
oeFEM/MaterialSet.h	deleted
oeFEM/MaterialSet.inl	deleted
oeFEM/MetisConnexionBuilder.cpp	deleted
oeFEM/MetisConnexionBuilder.h	deleted
oeFEM/Partition.cpp	deleted
oeFEM/Partition.h	deleted
oeFEM/Partition.inl	deleted
oeFEM/SloanConnexionBuilder.cpp	deleted
oeFEM/SloanConnexionBuilder.h	deleted
oeFEM/StrID.cpp	deleted
oeFEM/StrID.h	deleted
oeFEM/StrIDList.cpp	deleted
oeFEM/StrIDList.h	deleted
oeFEM/StrIDs.cpp	deleted
oeFEM/StrIDs.h	deleted
oeFEM/StrMatrixBase.cpp	deleted
oeFEM/StrMatrixBase.h	deleted
oeFEM/StrVector.cpp	deleted
oeFEM/StrVector.h	deleted
oeFEM/StrVectorBase.cpp	deleted
oeFEM/StrVectorBase.h	deleted
oeFEM/StrVectorBase.inl	deleted
oeFEM/UnionLock.cpp	deleted
oeFEM/UnionLock.h	deleted
oeFEMBase	added
oeFEMBase/Analysis.cpp	added (+)
oeFEMBase/Analysis.h	added (+)
oeFEMBase/Analysis.inl	added (+)
oeFEMBase/Connexion.cpp	added (+)
oeFEMBase/Connexion.h	added (+)
oeFEMBase/Connexion.inl	added (+)
oeFEMBase/ConnexionBuilder.cpp	added (+)
oeFEMBase/ConnexionBuilder.h	added (+)
oeFEMBase/ConnexionSet.cpp	added (+)
oeFEMBase/ConnexionSet.h	added (+)
oeFEMBase/Dof.cpp	added (+)
oeFEMBase/Dof.h	added (+)
oeFEMBase/Dof.inl	added (+)
oeFEMBase/DofFlag.cpp	added (+)
oeFEMBase/DofFlag.h	added (+)
oeFEMBase/DofFlagSet.cpp	added (+)
oeFEMBase/DofFlagSet.h	added (+)
oeFEMBase/DofFlagSet.inl	added (+)
oeFEMBase/DofSet.cpp	added (+)
oeFEMBase/DofSet.h	added (+)
oeFEMBase/DofSet.inl	added (+)
oeFEMBase/Domain.cpp	added (+)
oeFEMBase/Domain.h	added (+)
oeFEMBase/ElementPropertiesSet.cpp	added (+)
oeFEMBase/ElementPropertiesSet.h	added (+)
oeFEMBase/ElementSet.cpp	added (+)
oeFEMBase/ElementSet.h	added (+)
oeFEMBase/ElementSet.inl	added (+)
oeFEMBase/ElemStrVector.cpp	added (+)
oeFEMBase/ElemStrVector.h	added (+)
oeFEMBase/Makefile.in	added
oeFEMBase/Material.cpp	added (+)
oeFEMBase/Material.h	added (+)
oeFEMBase/Material.inl	added (+)
oeFEMBase/MaterialSet.cpp	added (+)
oeFEMBase/MaterialSet.h	added (+)
oeFEMBase/MaterialSet.inl	added (+)
oeFEMBase/MetisConnexionBuilder.cpp	added (+)
oeFEMBase/MetisConnexionBuilder.h	added (+)
oeFEMBase/Partition.cpp	added (+)
oeFEMBase/Partition.h	added (+)
oeFEMBase/Partition.inl	added (+)
oeFEMBase/SloanConnexionBuilder.cpp	added (+)
oeFEMBase/SloanConnexionBuilder.h	added (+)
oeFEMBase/StrID.cpp	added (+)
oeFEMBase/StrID.h	added (+)
oeFEMBase/StrIDList.cpp	added (+)
oeFEMBase/StrIDList.h	added (+)
oeFEMBase/StrIDs.cpp	added (+)
oeFEMBase/StrIDs.h	added (+)
oeFEMBase/StrMatrixBase.cpp	added (+)
oeFEMBase/StrMatrixBase.h	added (+)
oeFEMBase/StrVector.cpp	added (+)
oeFEMBase/StrVector.h	added (+)
oeFEMBase/StrVectorBase.cpp	added (+)
oeFEMBase/StrVectorBase.h	added (+)
oeFEMBase/StrVectorBase.inl	added (+)
oeFEMBase/UnionLock.cpp	added (+)
oeFEMBase/UnionLock.h	added (+)

Romain BOMAN 2007/08/13 09:03