===== Commit 2017-09-25 ===== Création mtComposites - structure paramètres Mat/MatLaw (suite et pas fin) ===== mtComposites : ===== * Déplacement de tout ce qui est relatif aux composites (matériaux, matérialLaws, tests, tools,...) dans un module spécifique (progression vers la modularisation de Metafor) * Dorénavant, pour lancer un calcul composite (matériaux à élasticité Orthotrope dérivant de ''OrthoHypoMatérial''), il faut ajouter en entête du jeux de données from wrap.mtComposites import * * l'idée étant d'intégrer les tests APC et ICOGEN dans cette architecture (et ainsi dans la batterie) * certaines classes ont été renommées pour suivre la règle de dérivation (la dernière dérivation en début de nom de classe !!!) * Interface3DDamageBilinear -> BilinearInterface3DDamage * Interface3DDamageCachan -> CachanInterface3DDamage * WovenCompositeDamagePow2 -> Pow2WovenCompositeDamage ===== Nouvelle structure matériaux ===== * Ajout des structures des paramètres matériaux dans les ''MaterialsLaws'' (toujours pas utilisées, mais il faut que les structures existent partout avant de commencer à les interfacer...) ===== Nettoyage Matériaux Visco-élastiques PK2 (matériaux Eduardo) : ===== * Suppression des classes statiques ''HenckyStaticFunction'' et ''OgdenStaticFunction'' qui implémentait dans une structure à part le calcul des fonctions qui étaient passées par pointeur au SpectralOperator. * Le soucis avec ces classes était qu'elle devaient être statiques ainsi que les paramètres matériaux associés. Ca interdisait d'office toute idée de parallélisation... * Les fonctions de calcul ont été rappatriées dans les ''HenckyFunction'' et ''OgdenFunction'' et le passage vers les fonctions de SpectralOperator est fait via fonctions Lambdas et récupérées dans les SpectralOperator via l'objet de la STL ''std::function''. so3d.computeFunctionOfEigValues([this](double c) {return FC(c);}); inline double SpectralOperations3D::computeFunctionOfEigValues(std::function fct) const * C'est la manière la plus simple par laquelle j'ai pu supprimer les classes statiques sans devoir réimplémenter complètement SpectralOperator... * Malheureusement, j'ai du dupliquer les fonctions qui sont toujours appelées d'autre part via pointeur de fonction (celui qui a le courage de s'y mettre ...) * computeFunctionOfMatrix * computeFunctionOfEigValues * addFunctionDerivationOfMatrix * addNumericalFunctionDerivationOfMatrix ===== Fichiers ajoutés/supprimés ===== Added : oo_meta/mtComposites/ Added : oo_meta/mtComposites/_src/ Added : oo_meta/mtComposites/_src/CMakeLists.txt Added : oo_meta/mtComposites/_src/mtComposites.i Added : oo_meta/mtComposites/src/CMakeLists.txt Added : oo_meta/mtComposites/src/materialLaws/ Added : oo_meta/mtComposites/src/materials Added : oo_meta/mtComposites/src/ruptureCriterion Moved : oo_meta/mtMaterialLaws/damage/Interface3DDamageBilinear.h/cpp -> oo_meta/mtComposites/src/materialLaws/BilinearInterface3DDamage.h/cpp Moved : oo_meta/mtMaterialLaws/damage/Interface3DDamageCachan.h/cpp -> oo_meta/mtComposites/src/materialLaws/CachanInterface3DDamage.h/cpp Moved : oo_meta/mtMaterialLaws/damage/Interface3DDamageBilinear.h/cpp -> oo_meta/mtComposites/src/materialLaws/Comp1DirPlasticCriterion.h/cpp Moved : oo_meta/mtMaterialLaws/damage/CompositeDamageGpState.h/cpp -> oo_meta/mtComposites/src/materialLaws/CompositeDamageGpState.h/cpp Moved : oo_meta/mtMaterialLaws/damage/DamageGpState.h/cpp -> oo_meta/mtComposites/src/materialLaws/DamageGpState.h/cpp Moved : oo_meta/mtMaterialLaws/damage/Interface3DDamage.h/cpp -> oo_meta/mtComposites/src/materialLaws/Interface3DDamage.h/cpp Moved : oo_meta/mtMaterialLaws/damage/Interface3DDamageGpState.h/cpp -> oo_meta/mtComposites/src/materialLaws/Interface3DDamageGpState.h/cpp Moved : oo_meta/mtMaterialLaws/damage/OrthoDamage.h/cpp -> oo_meta/mtComposites/src/materialLaws/OrthoDamage.h/cpp Moved : oo_meta/mtMaterialLaws/damage/OrthoPlasticCriterion.h/cpp -> oo_meta/mtComposites/src/materialLaws/OrthoPlasticCriterion.h/cpp Moved : oo_meta/mtMaterialLaws/damage/UDCompositeDamage.h/cpp -> oo_meta/mtComposites/src/materialLaws/UDCompositeDamage.h/cpp Moved : oo_meta/mtMaterialLaws/plasticCriteria/Comp1DirPlasticCriterion.h/cpp -> oo_meta/mtComposites/src/materialLaws/Comp1DirPlasticCriterion.h/cpp Moved : oo_meta/mtMaterial/plasticCriteria/VonMisesOrthoPlasticCriterion.h/cpp -> oo_meta/mtComposites/src/materialLaws/VonMisesOrthoPlasticCriterion.h/cpp Moved : oo_meta/mtMaterials/volumes/DamageEpIsoHOrthoHypoGpState.h/cpp -> oo_meta/mtComposites/src/materials/DamageEpIsoHOrthoHypoGpState.h/cpp Moved : oo_meta/mtMaterials/volumes/DamageEpIsoHOrthoHypoMaterial.h/cpp -> oo_meta/mtComposites/src/materials/DamageEpIsoHOrthoHypoMaterial.h/cpp Moved : oo_meta/mtMaterials/volumes/DamageInterface3DGpState.h/cpp -> oo_meta/mtComposites/src/materials/DamageInterface3DGpState.h/cpp Moved : oo_meta/mtMaterials/volumes/DamageInterface3DMaterial.h/cpp -> oo_meta/mtComposites/src/materials/DamageInterface3DMaterial.h/cpp Moved : oo_meta/mtMaterials/volumes/EpIsoHOrthoHypoMaterial.h/cpp -> oo_meta/mtComposites/src/materials/EpIsoHOrthoHypoMaterial.h/cpp Moved : oo_meta/mtMaterials/volumes/Interface3DMaterial.h/cpp -> oo_meta/mtComposites/src/materials/Interface3DMaterial.h/cpp Moved : oo_meta/mtMaterials/volumes/OrthoElastHypoMaterial.h/cpp -> oo_meta/mtComposites/src/materials/OrthoElastHypoMaterial.h/cpp Moved : oo_meta/mtMaterials/volumes/OrthoHypoGpkState.h/cpp -> oo_meta/mtComposites/src/materials/OrthoHypoGpkState.h/cpp Moved : oo_meta/mtMaterials/volumes/OrthoHypoMaterial.h/cpp -> oo_meta/mtComposites/src/materials/OrthoHypoMaterial.h/cpp Moved : oo_meta/mtMaterials/ruptureCriterion/WovenCompRuptureCriterion.h/cpp -> oo_meta/mtComposites/src/ruptureCriterion/WovenCompRuptureCriterion.h/cpp Moved : oo_meta/apps/composite/* -> mtComposites/tests/composite/* Moved : oo_meta/apps/monosMaterials/elastOrtho3D.* -> mtComposites/tests/composite/elastOrtho3D.* Moved : oo_meta/apps/monosMaterials2/LinearIsoHVonMisesOrthoEp.py-> mtComposites/tests/monosMaterials2/LinearIsoHVonMisesOrthoEp.py Moved : oo_meta/apps/monos/* -> mtComposites/tests/composite/* Moved : oo_meta/apps/toolbox/createCompositeMaterial.py -> mtComposites/tools/createCompositeMaterial.py Moved : oo_meta/apps/toolbox/createMaterialAPC.py -> mtComposites/tools/createMaterialAPC.py Moved : oo_meta/mtComposites/src/CMakeLists.txt Deleted : oo_meta\mtMaterialLaws\viscoelastic\HenckyStaticFunction.h/cpp Deleted : oo_meta\mtMaterialLaws\viscoelastic\OgdenStaticFunction.h/cpp ===== Tests ajoutés/supprimés ===== Adding: --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2017/09/22 //