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

Fortran Discussion :

Simulation d'un essai en traction


Sujet :

Fortran

  1. #1
    Candidat au Club
    Femme Profil pro
    doctorant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Simulation d'un essai en traction
    Bonjour,
    je travaille sur la simulation d'un essai de traction sous déformation imposée c.à.d j'impose un cycle triangulaire (charge-décharge) de déformation en fonction du temps (figure 1). Pour ce cycle j'ai pas trouvé un problème avec fortran de le programmer; je le programme de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    PARAMETER (pente=1.34d-04,periode=1044.35d0,temp1=522.175d0)
    ...
          DO WHILE (temp.LE.periode)  ! DEBUT BOUCLE TEMPS
     
            IF (temp.LE.temp1) THEN
                pendefo=pente
            ELSE IF (temp.GT.temp1) THEN        
                pendefo=-pente
            END IF
     
    c Déformation totale IMPOSEE 'depstot'
          depstot=pendefo*deltat
    .....
    Toutefois, si je veux imposer le chargement réel comme en expérimental (figure 2) je ne sais pas comment le faire.
    Merci d'avance
    Pouvez vous m'aider svp?Pièce jointe 203472Pièce jointe 203473Pièce jointe 203472Pièce jointe 203473

  2. #2
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Bonjour,
    j'aurais bien aimé t'aider un peu puisque c'est mon boulot de calculateur de structures, donc je connais un peu la RDM et les essais, et le fortran; malheureusement la pièce jointe est illisible.
    David
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

  3. #3
    Candidat au Club
    Femme Profil pro
    doctorant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse David,
    je vous joints de nouveau les 2 figures: la 1ère est celle du cycle triangulaire (figure1) dont je l'ai appliqué auparavant (celui imposé dans le programme fortran que j'ai présenté) et le 2ème (figure2) est celui que je souhaite imposer (celui expérimental).
    Nom : figure1.png
Affichages : 242
Taille : 14,0 KoNom : figure2.png
Affichages : 238
Taille : 13,4 Ko

  4. #4
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Ok super, j'étais encore devant mon PC quand la notification de votre message est arrivée.
    Ça ne va pas être bien compliqué, il suffit d'échantillonner le triangle que vous voulez appliquer, je vais le faire sommairement, libre à vous d'affiner par la suite : (j'écris comme du code pour avoir une police fixe, et puis il y a vraiment du code par la suite)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     temps (s) epstot (x 100% je suppose)
       0         0.
     100         0.01
     200         0.01
     300         0.016
     400         0.04
     500         0.07
     600         0.06
     700         0.035
     800         0.02
     900         0.005
    1000         0.
    Ensuite il suffit de rentrer ces valeurs dans une table, par une instruction DATA, juste après les déclarations du début du programme, et avant la première instruction exécutable
    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
     
    c----------------------------------------------------------------------| -----|
          real(eps(11))
          DATA eps/O., 0.01, 0.01,  0.016, 0.04, 0.07, 
         +             0.06, 0.035, 0.02,  0.02, 0.005, 0./
          T=0
          deltaT=100
          defoinit=0.
          DO WHILE (T.LE.1000)  ! DEBUT BOUCLE TEMPS
    c dans chaque intervalle :
              N=int(T/100.)
              pente=(eps(N+1)-eps(N))/deltaT
              defofinale=defoinit+pente*deltaT
              print*, defofinale ! intermédiaire
              T=T+deltaT
              defoinit=defofinale
          ENDDO
    c Déformation totale IMPOSEE 'depstot'
          print*, defofinale ! finale
     
    c----------------------------------------------------------------------| -----|
    Si vous avez réussi à faire le premier petit bout de code que j'ai vu, vous devriez savoir adapter ça à votre besoin.
    À+,
    David

    EDIT: Il y a douze réels dans le tableau, donc il faut déclarer :
    real eps(12)
    EDIT2: Avant de boucler sur le prochain pas de temps, juste avant le "ENDDO" donc, il faut mettre à jour :
    defoinit=defofinale
    Bye.
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

  5. #5
    Candidat au Club
    Femme Profil pro
    doctorant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse David,
    j'obtiens ce message d'erreur Nom : Sans titre.png
Affichages : 219
Taille : 4,9 Ko
    la table 'eps' accepte une seule valeur sinon j'obtiens cette erreur.
    Pouvez vous m'aider?
    Merci encore une fois

  6. #6
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Bonjour,
    vous avez de la chance que je rentre tôt du boulot.
    J'ai été obligé de faire tourner le programme chez moi pour trouver l'erreur, donc je vais le coller en bas de ce message et l'envoyer en pièce jointe. (mais en ".txt" sinon ça ne part pas)
    Le premier terme de eps atit un 0 (lettre "o" majuscule) et non pas 0 (chiffre zéro).
    Maintenant ça marche pour les chiffres mais je ne sais pas comment le dessiner. La façon de le faire dépend de ce que peut faire votre machine, et je ne suis pas du tout un as dans ce domaine.
    Bon courage,
    David

    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
    c echo; echo; echo; gfortran FDEV.f -o FDEV
    c ./FDEV
          program FDEV
          implicit none
          integer deltaT
          integer N
          integer T
          real defofinale
          real defoinit
          real depstot
          real eps(12)
          real pente
          DATA eps/0.0, 0.01, 0.01,  0.016, 0.04, 0.07, 
         +              0.06, 0.035, 0.02,  0.02, 0.005, 0./
    c
          T=0
          deltaT=100
          defoinit=0.
          DO WHILE (T.LE.1000)  ! DEBUT BOUCLE TEMPS
    c dans chaque intervalle :
              N=int(T/100.)
              pente=(eps(N+1)-eps(N))/deltaT
              defofinale=defoinit+pente*deltaT
              print'(A,F8.3)', 'FDEV: defo=',  defofinale
              defoinit=defofinale
              T=T+deltaT
          ENDDO
          END
    cEOF
    Fichiers attachés Fichiers attachés
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

  7. #7
    Candidat au Club
    Femme Profil pro
    doctorant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bonjour David,
    j'ai ajouté le bloc nécessaire et ça marche Merci.Toutefois, la nouvelle courbe est un peu décalée de celle originale. Y'a-t-il un coefficient qui manque quelque part?
    merci

  8. #8
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Bonjour,
    je viens de refaire tourner le petit programme pour vérification, et il donne bien un déformation nulle en T=0, donc je ne comprends pas de quel décalage il peut s’agir.
    Peut-être que si vous utilisez excel pour les courbes, il s'amuse à faire des misères...
    Bon courage,
    David
    Si vous me donniez plus de détails sur ce "décalage", peut-être que ça s'éclaircirait de soi même.
    Pourquoi une doctorante s'intéresserait elle à des essais de traction ?
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

  9. #9
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Bon, je viens encore de m'y remettre un peu parce que je ne comprenais pas tout.
    Le calcul que je faisais avec une pente était complètement stupide puisque en fait tout vient de l’échantillonnage de la courbe.
    Donc le programme que j'ai modifié reproduit simplement la courbe d'essai d'après l’échantillonnage sommaire que j'ai fait.
    David
    Fichiers attachés Fichiers attachés
    P.S. Dis Toto, pourquoi l'univers existe-t'il ?
    Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se causer avant.

Discussions similaires

  1. Probleme Voyageur de Commerce - Recuit Simulé
    Par dinver dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 21/06/2009, 22h26
  2. Développpement d'une application de simulation .....
    Par dada5455 dans le forum OpenGL
    Réponses: 6
    Dernier message: 14/12/2003, 10h27
  3. simuler l'execution d'un message
    Par gaut dans le forum C
    Réponses: 14
    Dernier message: 24/07/2003, 23h01
  4. Simuler un coup de molette sur un memo...
    Par dynobremo dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/02/2003, 11h31
  5. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 19h51

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