// *********************************************************************** // --- Logiciel MEF++ // --- // --- Copyright 1996-2006 GIREF, Université Laval // --- TOUS DROITS RÉSERVÉS // --- ALL RIGHTS RESERVED // --- // --- Ce logiciel est couvert par la Loi sur le droit d'auteur. // --- L'utilisation, ou la modification de ce logiciel sous toutes ses // --- formes, que ce soit code source ou code compilé, à des fins // --- personnelles et non commerciales sont autorisées sans frais pour // --- autant que la présente notice de copyright ainsi que cette // --- permission apparaissent dans toutes les copies ainsi que dans la // --- documentation. // --- Le GIREF et l'Université Laval ne prétendent en aucune façon que // --- ce code convient à un emploi quelconque. Celui-ci est distribué // --- sans aucune garantie implicite ou explicite. // *********************************************************************** #ifndef GeorgesVisco_ChampContraintesHPPMateriauVieillissant_DEJA_INCLUS #define GeorgesVisco_ChampContraintesHPPMateriauVieillissant_DEJA_INCLUS // ******************************************************************* // Nom du fichier: GeorgesVisco_ChampContraintesHPPMateriauVieillissant.h // // Nom de la classe: ChampContraintesHPPMateriauVeillissant // // Sommaire: Classe calculant les contraintes pour un matériau dont les propriétés // varient avec le temps. On suppose que l'on applique les hypothèses // de petites perturbations avec la possibilité de distinguer deux états // du solide et d'employer deux lois de comportement: loi de Hooke ou // loi de Bazant. // // Description: Ce champ calcul un tenseur O2 (en général les contraintes d'un matériau) à partir // des déplacements (la classe calcule les déformations), d'un tenseur O4 // (en général associé à l'élasticité), d'un tenseur O2 (en général associé // au contraintes précédentes) et d'un indicateur d'état permettant de choisir // la loi de comportement: loi de Hooke (sigma = E epsilon) ou de Bazant // (dsigma/dt = E depsilon/dt). //
//!{! u !}! le champ des déplacements,
//!{! u^p !}! le champ des déplacements au temps précédent,
//!{! S_{ijkh} !}! le champ du tenseur O4,
//!{! R^p !}! un tenseur O2 ,
//!{! \chi \le 0\text{ si loi de Hooke : }\sigma_{ij}(t,x) = E_{ijkl}(t,x)\epsilon_{kl}(u(t,x))!}!
//!{! \chi > 0\text{ si loi de Bazant : }\frac{ \partial \sigma_{ij}(t,x)}{\partial t} = E_{ijkl}(t,x)\frac{\partial \epsilon_{kl}(u(t,x))}{\partial t}!}! //
// !{! R_{ij} = S_{ijkh} \epsilon_{kh}(u) + (\chi > 0)(R^p - S_{ijkh} \epsilon_{kh}(u^p))!}! //
//
// Attributs:
// ChampVect3DContinu *aChampDeplacements;
// ChampVect3DContinu *aChampDeplacementsPrecedents;
// ChampTensorielO4Sym *aChampElasticite;
// ChampTensorielO2Sym *aChampSigmaPrecedent;
// ChampScalaire *aChampIndicateurEtat;
//
// *******************************************************************
#include "MEFPPUtil.h"
#include "ChampAnalytiqueBaseDiscParElement.h"
#include "ChampScalaireComposanteDiscontinu.h"
#include "ChampTensO2SymDiscParElement.h"
#include "TenseurO2Sym.h"
class ChampVect3DContinu;
class ChampTensorielO4Sym;
class GeorgesVisco_ChampContraintesHPPMateriauVieillissant : public ChampAnalytiqueBaseDiscParElement