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
materialLaw
est 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
sl
le numéro de la loi de typeHyperFunction
correspondant au spring etdl
le numéro de la loi de typeHyperFunction
correspondant 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
mainLaw
le numéro de la loi de typeIsoViscoElasticFunction
correspondant à la branche principale etmaxwellLaw
le numéro de la loi de typeIsoViscoElasticFunction
correspondant à 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
hyperLaw
le 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
getG0
n'est pas rempli dans le matériauveIsoHyperPk2Material
. - Le matériau
veIsoHyperPk2Material
ne 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: 2016/03/30 15:23 by 127.0.0.1