Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:09_25

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<double  (double)> 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: 

Luc Papeleux 2017/09/22

commit/2017/09_25.txt · Last modified: 2018/05/04 16:46 by boman