IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Comportement d'hystérésis entre les contraintes et la déformation


Sujet :

Mathématiques

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Comportement d'hystérésis entre les contraintes et la déformation
    Bonjour,
    J'ai besoin d'un algorithme ou une subroutine [FORTRAN,MATLAB] qui détermine le comportement hystérésis entre les contraintes et déformation.
    j'ai élaboré un programme en éléments finis (1D) qui peut prédire la réponse sismique d'un profil de sol unidimensionnel par l'utilisation des critères de plasticités en tenant compte de l'évolution de la surface de charge (isotropique, cinématique ou le mariage des deux), seulement pour le cas de déchargement le module tangent élastoplastique est identique au module élastique, tandis que la plupart des chercheurs utilisent (taux-taux_a)/2=f[(gamma-gamma_a)/2].
    Je veux l'algorithme qui décrit cette boucle d’hystérésis sous chargement cyclique pour mieux décrire le comportement des matériaux, sachant que FLA 7 utilise 04 modèle exp, hyperbolique, SIGMA3 et SIGMA4.
    Je finalise mon article (actuellement je me trouve à l'université de Sherbrooke) pour soutenir mon doctorat.
    Merci à vous.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Un exemple avec Matlab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function s=hysteres(v,init)
    persistent traj taua ya max ecart
    if init==0
        max=4;
        traj='y1';
        ya=10;
        ecart=5;
        taua=sign(v)*max;
        s=taua;
    else
        if  v < -ya
            s = -taua;
            traj='y1';
        end
        if  v > ya
            s = taua;
            traj='y2';
        end
        if v <= ya & v >= -ya
            if traj=='y2'
                s=2*max./(1+exp(-v-ecart))-max;
            else
                s=2*max./(1+exp(-v+ecart))-max;
            end
        end
    end
    Pour tracer la courbe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    max=4;
    ecart=5;
    x=-20:0.1:20;
    y1=2*max./(1+exp(-x+ecart))-max;
    y2=2*max./(1+exp(-x-ecart))-max;  
    plot(x,y1,x,y2)
    grid
    axis([-20 20,-5 5])
    Nom : hyster.jpg
Affichages : 576
Taille : 68,7 Ko

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci Phryte pour ton aide,
    Je me suis familiariser avec la programmation en FORTRAN mais sa n’empêche pas que je maîtrise un petit peut MATLAB. La subroutine que j'ai établit pour simuler le chargement cyclique tel que le séisme pour un cas d'écrouissage cinématique linéaire (la plus simple) à la forme suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    if TYPE_INTEG==3%Integration explicite
    CONST=sqrt(3);
    PREYS(IELEM,1)=YIELD;
    if abs(CONST*(STRES(IELEM,1)-X(IELEM,1)))>= PREYS(IELEM,1)
     if (STRES(IELEM,1))*STLIN <0% Décharge
         %STRES(IELEM,1)=STRES(IELEM,1)+STLIN;
         STRES(IELEM,1)=STCUR;
         FMULT=2*YOUNG/ELENG; % La raideur
     else
         RFACT=1;%Comportement purement Plastique
         REDUC=1-RFACT;
         E_T1=2*YOUNG;
         E_T2=2*YOUNG+HARDS;
         E_T=E_T1*(1-(E_T1/E_T2));
         STRES(IELEM,1)=STRES(IELEM,1)+REDUC*STLIN+RFACT*E_T*STRAN;
         FMULT=E_T/ELENG;
         PLAST(IELEM,1)=PLAST(IELEM,1)+RFACT*abs(STRAN)*E_T1/E_T2;
         DEF_P(IELEM,1)=DEF_P(IELEM,1)+RFACT*(STRAN)*E_T1/E_T2;
         X(IELEM,1)=HARDS*DEF_P(IELEM,1);
     end
      else % Comportement elastoplastique
       ESCUR=CONST*abs(STCUR-X(IELEM,1))-PREYS(IELEM,1);
       if ESCUR <= 0 % Comportement élastique
         %STRES(IELEM,1)=STRES(IELEM,1)+STLIN;
         STRES(IELEM,1)=STCUR;
         FMULT=2*YOUNG/ELENG; % La raideur
      else
          RFACT=ESCUR/abs(STLIN);%Comportement ElastoPlastique
          REDUC=1-RFACT;
          E_T1=2*YOUNG;
          E_T2=2*YOUNG+HARDS;
          E_T=E_T1*(1-(E_T1/E_T2));
          STRES(IELEM,1)=STRES(IELEM,1)+REDUC*STLIN+RFACT*E_T*STRAN;
          FMULT=E_T/ELENG;
          PLAST(IELEM,1)=PLAST(IELEM,1)+RFACT*abs(STRAN)*E_T1/E_T2; 
          DEF_P(IELEM,1)=DEF_P(IELEM,1)+RFACT*(STRAN)*E_T1/E_T2;
          X(IELEM,1)=HARDS*DEF_P(IELEM,1);
       end
    end
    end
    Fin .....
    vous constatez que pour le cas de déchargement le module tangent est élastique même pour la fonction d'écrouissage elle est simple,donc ce que je veux c'est d’incorporer une fonction hyperbolique qui respect la fa fameuse formule de chargement-déchargement.
    Si possible de m'envoyer un document ou un programme qui traite ce genre de programmation.
    Voir fichier attaché pour une boucle d’hystérésis linéaire que je veux la maître dans mon programme.
    Veillez agréé mes sincères salutations et merci.
    Fichiers attachés Fichiers attachés

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Re-Bonjour,
    J'ai compris le fonctionnement de cette subroutine, c'est le cas pour une courbe standard (une lecture des valeurs sur un graphe) mais pour mon cas le graphe c'est on peut le dire est dynamique la courbe change à cause de la non symétrie du chargement, donc comment résoudre ce problème..., c'est je peux programmer une telle subroutine mais dynamique et faire des conditions sur l’intervalle de lecture sa peut marché.
    Merci et bonne réception.

Discussions similaires

  1. [Entité-Association] De MCD a MLD: Que deviennent les contraintes entre associations
    Par Invité dans le forum Schéma
    Réponses: 3
    Dernier message: 24/06/2014, 01h39
  2. [xsd] Contrainte entre les attributs
    Par XtoX dans le forum Valider
    Réponses: 3
    Dernier message: 03/04/2009, 12h00
  3. Réponses: 4
    Dernier message: 13/06/2007, 10h45
  4. Benchmark entre les langages
    Par El blérot dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 27/12/2002, 02h22
  5. Réponses: 3
    Dernier message: 07/05/2002, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo