// ************************************************************************ // --- 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 ChampPseudoRelaxationMateriauVieillisantFormulationThetaSchemas_DEJA_INCLUS #define ChampPseudoRelaxationMateriauVieillisantFormulationThetaSchemas_DEJA_INCLUS // ******************************************************************** // Nom du fichier: ChampPseudoRelaxationMateriauVieillisantFormulationThetaSchemas.h // // Nom de la classe: ChampPseudoRelaxationMateriauVieillisantFormulationThetaSchemas // // Sommaire: Classe calculant un champ de pseudo-relaxation (tenseur d'ordre 4 à symétries mineures). // Partant du model viscoelastique generalise de Maxwell, on introduit une nouvelle // variable d'etat afin de transformer l'equation constitutive sous forme integrale en une forme differentielle (ODE). // // Description: Ce champ calcul le tenseur des pseudo-relaxation à partir du champ des deformations // au temps précédent et courant, de la pseudo-relaxation précédente et des tenseur d'ordre 4 // d'elasticite/viscosite, et des fonctions de viellissements. // //
// !{!(1+\theta\Delta{t}\alpha^{p}_{ijkl})y^{p}_{ijkl} = \theta\Delta{t}\gamma^{p}_{ijkl}\epsilon_{kl}(U) // +(1-\theta)\Delta{t}\gamma^{p,Prec}_{ijkl}\epsilon{kl}(UPrec) // +[1-((1-\theta)\Delta{t}\alpha^{p,Prec}_{ijkl})]y^{p,Prec}_{ijkl}!}! //
// Sommaire : Classe calculant
// Attributs:
// ChampTensorielO4Sym *aChampsElasticite:
// ChampTensorielO4Sym *aChampsViscosite:
// ChampTensorielO4SymMin *aChampYijklPrecedentes;
// ChampTensorielO2Sym *aChampDeplacements:
// ChampTensorielO2Sym *aChampDeplacementsPrecedents:
// ChampScalaire *aChampFonctionVieillisementRessort;
// ChampScalaire *aChampFonctionVieilRessortPrecedent;
// ChampScalaire *aChampFonctionVieillisementLambda;
// ChampScalaire *aChampFonctionVieilLambdaPrecedent;
// ChampScalaire *aChampChampDeriveeFonctionVieilRessortPrecedent;
// ChampScalaire *aChampDeriveeFonctionVieillisementRessort;
// ChampScalaire *aChampIndicateurEtat;
// DReel *aPasDeTemps : Le pas de temps
// const aThetaSchema: Le parametre de theta schema
//
//
//
// ********************************************************************
#include "MEFPPUtil.h"
#include "ChampAnalytiqueBaseDiscParElement.h"
#include "ChampScalaireComposanteDiscontinu.h"
#include "ChampTensO4SymDiscParElement.h"
#include "ChampTensO4SymMinDiscParElement.h"
#include "TenseurO4Sym.h"
#include "TenseurO4SymMin.h"
class ChampVect3DContinu;
class ChampTensorielO4Sym;
class ChampTensorielO4SymMin;
class ChampPseudoRelaxationMateriauVieillisantFormulationThetaSchemas : public ChampAnalytiqueBaseDiscParElement