commit:2006:09_19
Table of Contents
Commit 2006-09-19
Modifs
Nettoyage des materiaux visco-élastiques
- mtMaterialLaws/viscoelastic:
- Création de functions hyperélastiques de Ogden et Hencky.
- Création d'une loi visco-élastique composée d'un ressort et d'un dashpot, chacun obéissant à une loi hyperélastique.
- mtFEM/mtFEM:
- Le père d'un
materialLawest lematerialLawSet, ce qui permet de définir une loi visco-élastique à partir de lois hyperélastique.
- mtMaterials/volumes:
- Création d'un matériau visco-élastique avec une branche principale (spring et dashpot en parallèle) visco-élastique et une branche de Maxwell (spring et dashpot en série) visco-élastique.
- Création d'un matériau pouvant utiliser une fonction hyperélastique.
- mtMath/mtMath:
- Nettoyage des opérations spectrales sur matrices.
Exemples d'application
- Création de lois de type Ogden et Hencky:
materLawSet.define(index, OgdenHyperFunction)
materLawSet[index].put(OGDEN_MU1, mu1)
materLawSet[index].put(OGDEN_MU2, mu2)
materLawSet[index].put(OGDEN_MU3, mu3)
materLawSet[index].put(OGDEN_A1, a1)
materLawSet[index].put(OGDEN_A2, a2)
materLawSet[index].put(OGDEN_A3, a3)
materLawSet.define(index, HenckyHyperFunction)
materLawSet[index].put(HENCKY_MU, mu)
- Création d'une loi visco-élastique avec
slle numéro de la loi de typeHyperFunctioncorrespondant au spring etdlle numéro de la loi de typeHyperFunctioncorrespondant au dashpot:
materLawSet.define(index, IsoViscoElasticFunction)
materLawSet[index].put(VE_SPRING_LAW, sl)
materLawSet[index].put(VE_DASHPOT_LAW, dl)
- Création d'un matériau visco-élastique avec
mainLawle numéro de la loi de typeIsoViscoElasticFunctioncorrespondant à la branche principale etmaxwellLawle numéro de la loi de typeIsoViscoElasticFunctioncorrespondant à la branche de maxwell:
materSet.define(materIndex, VeIsoHyperPk2Material)
materSet[materIndex].put(MASS_DENSITY, rho)
materSet[materIndex].put(HYPER_K0, k)
materSet[materIndex].put(MAIN_FUNCTION_NO, mainLaw)
materSet[materIndex].put(MAXWELL_FUNCTION_NO, maxwellLaw)
- Création d'un matériau hyperélastique avec
hyperLawle numéro de la loi de typeHyperFunction:
materSet.define(materIndex, FunctionBasedHyperPk2Material)
materSet[materIndex].put(MASS_DENSITY, rho)
materSet[materIndex].put(HYPER_K0, k)
materSet[materIndex].put(HYPER_FUNCTION_NO, hyperLaw)
- En utilsant les macros de toolbox, un ancien matériaux OHOH devient:
materSet = domain.getMaterialSet()
materLawSet = domain.getMaterialLawSet()
materLawOgden(materLawSet, 1, 0., 0., 0., 1.8, -2., 7.)
materLawHencky(materLawSet, 2, 0.)
materLawOgden(materLawSet, 3, 51.4, -18., 3.86, 1.8, -2.0, 7.)
materLawHencky(materLawSet, 4, 1361.)
materLawIsoVe(materLawSet, 11, 1, 2)
materLawIsoVe(materLawSet, 12, 3, 4)
materialEvIso(materSet, 1, 7.895e-9, 10000.0, 11, 12)
TO DO list
- Des fonctions sur la décomposition spectrale sont appliquées directement sur les valeurs propres au sein du matériau. Cela pourrait être déplacé dans le loi visco-élastique?
- Le pas de temps explicite est peut-être trop petit car
getG0n'est pas rempli dans le matériauveIsoHyperPk2Material. - Le matériau
veIsoHyperPk2Materialne contient qu'une seule branche de maxwell, une généralisation à n branches est envisageable.
Fichiers ajoutés/supprimés
A mtMaterialLaws\viscoelastic\HenckyHyperFunction.cpp A mtMaterialLaws\viscoelastic\HenckyHyperFunction.h A mtMaterialLaws\viscoelastic\HenckyHyperFunctionShcuts.h A mtMaterialLaws\viscoelastic\HenckyHyperFunctionShcuts.inl A mtMaterialLaws\viscoelastic\HenckyStaticFunction.cpp A mtMaterialLaws\viscoelastic\HenckyStaticFunction.h A mtMaterialLaws\viscoelastic\HyperFunction.cpp A mtMaterialLaws\viscoelastic\HyperFunction.h A mtMaterialLaws\viscoelastic\HyperFunctionShcuts.h A mtMaterialLaws\viscoelastic\HyperFunctionShcuts.inl A mtMaterialLaws\viscoelastic\IsoViscoElasticFunction.cpp A mtMaterialLaws\viscoelastic\IsoViscoElasticFunction.h A mtMaterialLaws\viscoelastic\IsoViscoElasticFunctionShcuts.h A mtMaterialLaws\viscoelastic\IsoViscoElasticFunctionShcuts.inl A mtMaterialLaws\viscoelastic\OgdenHyperFunction.cpp A mtMaterialLaws\viscoelastic\OgdenHyperFunction.h A mtMaterialLaws\viscoelastic\OgdenHyperFunctionShcuts.h A mtMaterialLaws\viscoelastic\OgdenHyperFunctionShcuts.inl A mtMaterialLaws\viscoelastic\OgdenStaticFunction.cpp A mtMaterialLaws\viscoelastic\OgdenStaticFunction.h A mtMaterialLaws\viscoelastic\ViscoElasticFunction.cpp A mtMaterialLaws\viscoelastic\ViscoElasticFunction.h A mtMaterialLaws\viscoelastic\ViscoElasticFunctionShcuts.h A mtMaterialLaws\viscoelastic\ViscoElasticFunctionShcuts.inl A mtMaterials\volumes\FunctionBasedHyperPk2GpState.cpp A mtMaterials\volumes\FunctionBasedHyperPk2GpState.h A mtMaterials\volumes\FunctionBasedHyperPk2Material.cpp A mtMaterials\volumes\FunctionBasedHyperPk2Material.h A mtMaterials\volumes\FunctionBasedHyperPk2MatShcuts.cpp A mtMaterials\volumes\FunctionBasedHyperPk2MatShcuts.h A mtMaterials\volumes\VeIsoHyperPk2GpkState.cpp A mtMaterials\volumes\VeIsoHyperPk2GpkState.h A mtMaterials\volumes\VeIsoHyperPk2GpState.cpp A mtMaterials\volumes\VeIsoHyperPk2GpState.h A mtMaterials\volumes\VeIsoHyperPk2Material.cpp A mtMaterials\volumes\VeIsoHyperPk2Material.h A mtMaterials\volumes\VeIsoHyperPk2MatShcuts.cpp A mtMaterials\volumes\VeIsoHyperPk2MatShcuts.h R mtMaterials\volumes\HenckyFunctions.cpp R mtMaterials\volumes\HenckyFunctions.h R mtMaterials\volumes\OgdenFunctions.cpp R mtMaterials\volumes\OgdenFunctions.h R mtMaterials\volumes\OgdenHyperPk2GpState.cpp R mtMaterials\volumes\OgdenHyperPk2GpState.h R mtMaterials\volumes\OgdenHyperPk2Material.cpp R mtMaterials\volumes\OgdenHyperPk2Material.h R mtMaterials\volumes\OgdenHyperPk2MatShcuts.cpp R mtMaterials\volumes\OgdenHyperPk2MatShcuts.h R mtMaterials\volumes\OgdenStaticFunctions.cpp R mtMaterials\volumes\OgdenStaticFunctions.h R mtMaterials\volumes\VeIsoHyperHHHHPk2GpkState.cpp R mtMaterials\volumes\VeIsoHyperHHHHPk2GpkState.h R mtMaterials\volumes\VeIsoHyperHHHHPk2GpState.cpp R mtMaterials\volumes\VeIsoHyperHHHHPk2GpState.h R mtMaterials\volumes\VeIsoHyperHHHHPk2Material.cpp R mtMaterials\volumes\VeIsoHyperHHHHPk2Material.h R mtMaterials\volumes\VeIsoHyperHHHHPk2MatShcuts.cpp R mtMaterials\volumes\VeIsoHyperHHHHPk2MatShcuts.h R mtMaterials\volumes\VeIsoHyperOHHHPk2GpkState.cpp R mtMaterials\volumes\VeIsoHyperOHHHPk2GpkState.h R mtMaterials\volumes\VeIsoHyperOHHHPk2GpState.cpp R mtMaterials\volumes\VeIsoHyperOHHHPk2GpState.h R mtMaterials\volumes\VeIsoHyperOHHHPk2Material.cpp R mtMaterials\volumes\VeIsoHyperOHHHPk2Material.h R mtMaterials\volumes\VeIsoHyperOHHHPk2MatShcuts.cpp R mtMaterials\volumes\VeIsoHyperOHHHPk2MatShcuts.h R mtMaterials\volumes\VeIsoHyperOHOHPk2GpkState.cpp R mtMaterials\volumes\VeIsoHyperOHOHPk2GpkState.h R mtMaterials\volumes\VeIsoHyperOHOHPk2GpState.cpp R mtMaterials\volumes\VeIsoHyperOHOHPk2GpState.h R mtMaterials\volumes\VeIsoHyperOHOHPk2Material.cpp R mtMaterials\volumes\VeIsoHyperOHOHPk2Material.h R mtMaterials\volumes\VeIsoHyperOHOHPk2MatShcuts.cpp R mtMaterials\volumes\VeIsoHyperOHOHPk2MatShcuts.h R mtMaterials\volumes\VeIsoHyperOHOOPk2GpkState.cpp R mtMaterials\volumes\VeIsoHyperOHOOPk2GpkState.h R mtMaterials\volumes\VeIsoHyperOHOOPk2GpState.cpp R mtMaterials\volumes\VeIsoHyperOHOOPk2GpState.h R mtMaterials\volumes\VeIsoHyperOHOOPk2Material.cpp R mtMaterials\volumes\VeIsoHyperOHOOPk2Material.h R mtMaterials\volumes\VeIsoHyperOHOOPk2MatShcuts.cpp R mtMaterials\volumes\VeIsoHyperOHOOPk2MatShcuts.h R mtMaterials\volumes\ViscoElasticFunctionsHHHH.cpp R mtMaterials\volumes\ViscoElasticFunctionsHHHH.h R mtMaterials\volumes\ViscoElasticFunctionsOHHH.cpp R mtMaterials\volumes\ViscoElasticFunctionsOHHH.h R mtMaterials\volumes\ViscoElasticFunctionsOHOH.cpp R mtMaterials\volumes\ViscoElasticFunctionsOHOH.h R mtMaterials\volumes\ViscoElasticFunctionsOHOO.cpp R mtMaterials\volumes\ViscoElasticFunctionsOHOO.h
commit/2006/09_19.txt · Last modified: by 127.0.0.1
