StrVector
: la gestion des exceptions de type Continue Exception
(jacobien négatifs, etc) a été déplacée dans TimeIntegration
(fct genForce
)Element
: création d'une couche non-template regroupant l'interface spécifique à l'analyse Metafor
. J'ai nommé cette couche MtElement
dont dérive pour l'instant tous les éléments finis.Cette nouvelle lib est nécessaire pour:
mtFEM
dépend de mtMaterials
par exemple).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:
Domain
pour fonctionner) m'a poussé à tout réécrire en version “light” pour le mailleur.
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.
J'ai créé une classe LoadingSetBase
dont dérive LoadingSet
et InitialConditionSet
pour éviter la duplication de code.
mtFEMBase
, nouvelle DLL (même includes et deps que mtFEM
mises à part les cycliques). Les fichiers sont répartis dans oo_meta/mtFEMBase
et oofelie/oeFEMBase
.mtFEM
dépend de mtFEMBase
. La plupart des libs qui dépendent de mtFEM
dépendent aussi de mtFEMBase
(par contre le main
ne dépend plus de mtFEM
)_mtFEM
(j'ai pas encore fait le _mtFEMBase
)_mtFEM
dépend de mtFEMBase
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