commit:2017:09_25
Table of Contents
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
etOgdenStaticFunction
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
etOgdenFunction
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 STLstd::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