Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2006:09_19

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 le materialLawSet, 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 type HyperFunction correspondant au spring et dl le numéro de la loi de type HyperFunction 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 type IsoViscoElasticFunction correspondant à la branche principale et maxwellLaw le numéro de la loi de type IsoViscoElasticFunction 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 type HyperFunction:
       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ériau veIsoHyperPk2Material.
  • 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 (external edit)