Télécharger dyne.eso

Retour à la liste

Numérotation des lignes :

dyne
  1. C DYNE SOURCE PV 22/04/27 21:15:03 11344
  2. SUBROUTINE DYNE
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *--------------------------------------------------------------------*
  6. * *
  7. * Sous-programme de l'operateur DYNE *
  8. * __________________________________ *
  9. * *
  10. * Calcul d'une reponse dynamique a l'aide d'algorithmes *
  11. * explicites pour les forces non-lineaire: *
  12. * *
  13. * 1. algorithme de Fu - de Vogelaere *
  14. * 2. algorithme des differences centrees *
  15. * 3. algorithme de Newmark (implicite sauf pour les forces NL *
  16. * *
  17. * auteurs: Denis ROBERT-MOUGIN & Lionel VIVAN ,le 19 mai 1989. *
  18. * derniere modif: BP, 2018-01-16 *
  19. * *
  20. *--------------------------------------------------------------------*
  21.  
  22. -INC PPARAM
  23. -INC CCOPTIO
  24. *
  25. CHARACTER*6 MOPLEX
  26. CHARACTER*20 MODEVO,MOALG,MODIFF,MORK4
  27. CHARACTER*20 MONEWM(2)
  28. DATA MOPLEX /'PLEXUS'/
  29. DATA MODEVO /'DE_VOGELAERE'/
  30. DATA MODIFF /'DIFFERENCES_CENTREES'/
  31. DATA MONEWM /'ACCELERATION_MOYENNE','FOX_GOODWIN'/
  32. c 12345678901234567890 12345678901
  33. DATA MORK4 /'RUNGE_KUTTA_4'/
  34. *
  35. * Quel algorithme a-t-on choisi ?
  36. *
  37. CALL MESLIR(-272)
  38. MOALG=' '
  39. CALL LIRCHA(MOALG,1,IRET)
  40. IF (IRET.EQ.0) RETURN
  41. *
  42. * Algorithme de Plexus
  43. * on s'en sert plus. Il ne figure pas dans la notice
  44. IF (MOALG(1:6).EQ.MOPLEX) THEN
  45. c CALL DYNPLX
  46. CALL ERREUR(477)
  47. RETURN
  48.  
  49. * Algorithme de Fu - de Vogelaere
  50. ELSE IF (MOALG(1:12).EQ.MODEVO) THEN
  51. CALL DYNDEV
  52. RETURN
  53.  
  54. * Algorithme des differences centrees (le meme que plexus)
  55. ELSE IF (MOALG(1:20).EQ.MODIFF) THEN
  56. CALL DYNDIF(2)
  57. RETURN
  58.  
  59. * Algorithmes implicites de Newmark
  60. ELSE IF (MOALG(1:20).EQ.MONEWM(1)) THEN
  61. CALL DYNDIF(3)
  62. RETURN
  63. ELSE IF (MOALG(1:11).EQ.MONEWM(2)) THEN
  64. CALL DYNDIF(4)
  65. RETURN
  66.  
  67. * Erreur dans le choix de l'algorithme
  68. ELSE
  69. CALL ERREUR(477)
  70. RETURN
  71. ENDIF
  72. *
  73. END
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales