Fortran exemple de code

Bonjour, je recherche des exemples de code en Fortran, n'ayant jusqu'a présent fait que de la théorie analytique, j'ai de grosse lacune en numérique et notament j'ai du mal à codé des éléments finis par exemple.

Du coup j'aimerais d'abord exercé mon esprit sur des cas simples en fortran, comme par exemple l'équation de la chaleur résolue en fortran. Ou autre exemple dans le genre.

Ce qui me manque c'est la résolution de A à Z d'un problème simple (une EDP classique).

Donc si vous avez en livre (je n'ai pas trouvé d'exemple traité et codé de A à Z) où sur le net à me conseiller, c'est avec joie que prendrais vos suggestions...

Merci.

[Tu peux jeter un oeil à cet discussion sur le même sujet. AD]
http://www.les-mathematiques.net/phorum/read.php?15,339409,373877#msg-373877

Réponses

  • Bonsoir,

    Il y a plusieurs exemples de programmes dans le livre Numerical Recipes que l'on peut trouver en ligne ici Numerical Recipes .

    seb
  • Si tu veux faire des éléments finis, ce n'est pas très utile de réinventer la roue et de tout recoder de A à Z (à moins que ce soit ton but dans la vie). Utilises plutôt des logiciels spécialisés dans lesquels des spécialistes ont déjà mis leur savoir. Parmi les solutions gratuites FreeFem++, OpenFem pour Scilab, et bien d'autres sans doute.
  • Bonjour remarque

    Merci pour l'info, mais en fait je dois partir d'un code déja existant, donc pas vraiment le choix.
  • Ah, et bien dans ce cas là (qui n'est pas spécialement marrant), bon courage ! Je n'ai pas l'impression qu'il y ait des éléments finis dans Numerical Recipes. Ce n'est pas du code qui tient en quelques lignes, malheureusement. Mais le livre peut peut-être t'aider quand même...
  • merci, en fait j'ai déja un bouquin (pas trés facile à lire d'ailleurs)concernant les éléments finis, pas sur le code en effet, juste la partie maths.

    Mais ma demande là n'est pas spécifiquement sur les éléments finis, j'aimerais des liens web où des livres si quelqu'un connait avec des problèmes traités en entier. Comme par exemple l'équation de la chaleur avec les conditions de bords et initiales, le shéma numérique jusqu'au code en fortran. J'ai cherché énormément sur le net et à la bibliothèque, et je trouve ça halucinant de pas trouver, y a bien quelqu'un qui a eut l'id"e de faire ça quand même !!??

    ps : pour couronner le tout, c'est du Fortran 77, et les bouts que je rajoute je peux même pas les mettre en Fortran 90-95, ça engendrerait des problèmes. Le plus pénible c'est la déclaration de tableau, pas d'allocation dynamique avec le 77.
  • Par ici tu as du code correspondant au livre de Pironneau et Lucquin Introduction to scientific computing. Mais ça a l'air d'être du C... Sinon, dans ce livre tu as la description des problèmes, leur résolution numérique, etc.
  • Quelques liens vite fait sur le thème éléments finis, fortran 77 et equation de la chaleur (via google avec des mots clés en anglais):

    - ceci (le source et le script associé sont tout en bas de la page)
    http://people.scs.fsu.edu/~burkardt/f77_src/fem1d/fem1d.html

    - modulef de l'inria (il y a des exemples dans documentation complémentaire) http://www-rocq.inria.fr/modulef/francais.html

    - cette librarie http://ta.twi.tudelft.nl/sepran/sepran.html
  • Ok merci à vous, je vais regarder tout ça en espérant y trouver mon bonheur.
  • J'ai un problème avec mon programme en fortran. J'obtiens des résultats qui ne sont pas les mêmes que les valeurs analytiques.
    Si vous voulez vraiment m'aider sur ce programme et merci
    d[2]/d[2]T=sin(x)
    avec des conditions limite mixte Dirichlet-Neumann
    !     ******************************************************************* 
    !     ******                                                       ******
    !     **********    programme de resolution de l'equation de    *********
    !     *************     la chaleur en regime permanant     **************
    !     *****************                                ******************
    !     *******************************************************************
    !                                           
    IMPLICIT DOUBLE PRECISION(A-H,O-Z)
    !                       ******************************
    !                       ** déclaration des tableaux **
    !                       ******************************
            dimension  soud(200),diag(200),surd(200),sm(200),RES(200),X(200)
    
    open(2,file='resultat1.xls',status='old')
    
    !                              ***************
    !                              ** Bloc DATA **
    !                              ***************
       Data N/5/, XL/1.0/, T0/0.0/ ,B/10.0/
    
    !                   ***************************************
    !                   ** Calcul des éléments de la matrice **
    !                   ***************************************
    h=XL/float(N-1)
    do i=1,N-1
      X(i)=float(i)*h
      soud(i)=1.0
      diag(i)=-2.0
      surd(i)=1.0
      sm(i)=(h**2)*Dsin(X(i))
    enddo 
    
    surd(1)=surd(1)
    sm(1)=sm(1)
    diag(1)=diag(1)
    soud(1)=0.0
    sm(1)= (h**2)*Dsin(X(1))-T0
    
    sm(N-1)=sm(N-1)
    diag(N-1)=-1.0
    soud(N-1)=soud(N-1)
    sm(N-1)= (h*B)
    !                   ***************************************
    !                   **     appel  de la sous-routine     **
    !                   ***************************************
    Call  TDMA (soud,diag,surd,sm,N-1,res)
    
    !                   ***************************************
    !                   **     affichage des résultats       **
    !                   ***************************************
    write(2,*) 1, T0
    do i =1,N-1
      write(2,*) i+1,(res(i))
    enddo 
               
    stop
    end
    
  • Bonjour,

    Je recherche des exemples de code en Fortran, dans le domaine de la physique nucléaire, physic des reacteur

    Donc si vous avez en livre (je n'ai pas trouvé d'exemple traité et codé ) où sur le net à me conseiller, c'est avec joie que prendrais vos suggestions...

    Merci.
  • Est-ce que vous avez trouvé une solution pour votre question, car j'ai le même problème, je cherche la solution de l'équation de la chaleur résolue en fortran
  • Salus pour tousse,

    je cherche quelqu'un qui m'aider d'écrire un code Fortran pour calculer les contrainte de cisaillement interlaminaire dans matériau composite stratifié.
    et merci pour tous le monde.
  • bonjour
    ecrire un programme de résolution de ce systeme non lineaire f(x)=0 de 6 equations suivantes
    f1=X1-x1/(a/2(t1+X2)+b)=0
    f2=x2-x2/(a/2(X2+X3)+b)=0
    f3=x3-x3/(a/2(X3+t4)+b)=0
    f4=X4*X1-(X2-t1)=0
    f5=X5*X1-(X3-X2)=0
    f6=X6*X1-(t4-X3)=0
    la programmation sera sur FORTRAN 77
    et merci d'avance
  • Bonjour,

    alors je ne vais pas vous donner mes codes éléments finis en fortran 77, parce qu'un code EF ça fait des milliers de lignes ! (des dizaines de milliers même).

    De mémoire, il doit y avoir des codes fortran dans au moins l'un des deux ouvrages suivants (mais là, je ne les ai pas sous la main pour vérifier, il faudra que je regarde ce soit à la maison):
    - Une présentation de la méthode des éléments finis, Gouri Dhatt, Gilbert Touzot
    - Modélisation des structures par éléments finis, Jean-Louis Batoz, G. Dhatt (ouvrage en 3 volumes)

    Les demandes me semblent (attention, c'est un ressenti) plus liées à un problème d'algorithmie que d'éléments finis.
    Résoudre par exemple l'équation de la chaleur, on l'a tous faits en prépa ou en TD de 1ère année d'ingé. ça prend moins de deux heures, quelque soit le langage, par les différences finies... c'est ce qui me fait faire la remarque précédente.

    Numerical Recipes, ça reste "la bible" selon moi. Attention, les algo sont hyper optimisés (mais tout est expliqué), du coup, le code seul peut être parfois un peu rude si l'on manque d'expérience.
    Enfin, pour ceux qui utiliseraient Cast3M... ça ressemble déjà pas mal à du fortran, donc ça doit pouvoir servir !
  • Bonjour

    Je voudrais quelques exercices corrigés en fortran pour les EDP (advection) avec des schémas numériques par exemple (Lax, Lax Wendrouf ...
  • Salut à tous, je voudrais savoir la signification de cette ligne dans le code de fortran
    ilsenmahdi a écrit:
    open(2,file='resultat1.xls',status='old')
    qlq Quelqu'un peut m'aider ? Svp.
Connectez-vous ou Inscrivez-vous pour répondre.