Télécharger cogaf1.eso

Retour à la liste

Numérotation des lignes :

cogaf1
  1. C COGAF1 SOURCE GOUNAND 21/06/02 21:15:27 11022
  2. SUBROUTINE COGAF1(NDDL,NBPOGO,NBELEV,NBELFV,NBELEF,
  3. $ NLVCOF,NLFVFF,NLFCOG,
  4. $ JCOEFF,FFPG,SSFACT,
  5. $ JCOEFG,
  6. $ IMPR,IRET)
  7. IMPLICIT REAL*8 (A-H,O-Z)
  8. IMPLICIT INTEGER (I-N)
  9. C***********************************************************************
  10. C NOM : COGAF1
  11. C PROJET : Noyau linéaire NLIN
  12. C DESCRIPTION :
  13. C
  14. C LANGAGE : Fortran 77 (sauf E/S)
  15. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  16. C mél : gounand@semt2.smts.cea.fr
  17. C***********************************************************************
  18. C APPELES : -
  19. C APPELE PAR : COGAUF
  20. C***********************************************************************
  21. C ENTREES :
  22. C ENTREES/SORTIES :
  23. C SORTIES : -
  24. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  25. C***********************************************************************
  26. C VERSION : v2, 03/10/03, refonte complète (modif SMTNLIN)
  27. C VERSION : v1, 17/01/03, version initiale
  28. C HISTORIQUE : v1, 17/01/03, création
  29. C HISTORIQUE :
  30. C HISTORIQUE :
  31. C***********************************************************************
  32. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  33. C en cas de modification de ce sous-programme afin de faciliter
  34. C la maintenance !
  35. C***********************************************************************
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. INTEGER NDDL,NBPOGO,NBELEV,NBELFV,NBELEF
  40. REAL*8 JCOEFF (NDDL,NLVCOF)
  41. REAL*8 FFPG (NDDL,NBPOGO,NLFVFF)
  42. LOGICAL SSFACT(NBELFV,NBELEV)
  43. REAL*8 JCOEFG(NBPOGO,NLFCOG)
  44. *
  45. INTEGER IMPR,IRET
  46. INTEGER IBPOGO,IDDL,IBELEV,IBELEF,IBELFV
  47. *
  48. * Executable statements
  49. *
  50. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans cogaf1'
  51. IF (NLFCOG.EQ.1) THEN
  52. IF (NLVCOF.NE.1.OR.NLFVFF.NE.1) THEN
  53. WRITE(IOIMP,*) 'Erreur grave 1'
  54. GOTO 9999
  55. ENDIF
  56. DO IBPOGO=1,NBPOGO
  57. DO IDDL=1,NDDL
  58. JCOEFG(IBPOGO,1)=JCOEFG(IBPOGO,1)+
  59. $ ( FFPG(IDDL,IBPOGO,1)
  60. $ *JCOEFF(IDDL,1))
  61. ENDDO
  62. ENDDO
  63. ELSEIF (NLFCOG.EQ.NBELEF) THEN
  64. IBELEF=0
  65. DO IBELEV=1,NBELEV
  66. DO IBELFV=1,NBELFV
  67. IF (SSFACT(IBELFV,IBELEV)) THEN
  68. IF (NLVCOF.EQ.1) THEN
  69. ILVCOF=1
  70. ELSE
  71. ILVCOF=IBELEV
  72. ENDIF
  73. IF (NLFVFF.EQ.1) THEN
  74. ILFVFF=1
  75. ELSE
  76. ILFVFF=IBELFV
  77. ENDIF
  78. IBELEF=IBELEF+1
  79. DO IBPOGO=1,NBPOGO
  80. DO IDDL=1,NDDL
  81. JCOEFG(IBPOGO,IBELEF)=
  82. $ JCOEFG(IBPOGO,IBELEF)
  83. $ + (JCOEFF(IDDL,ILVCOF)
  84. $ *FFPG(IDDL,IBPOGO,ILFVFF))
  85. ENDDO
  86. ENDDO
  87. ENDIF
  88. ENDDO
  89. ENDDO
  90. ELSE
  91. WRITE(IOIMP,*) 'Erreur grave 2'
  92. GOTO 9999
  93. ENDIF
  94. *
  95. * Normal termination
  96. *
  97. IRET=0
  98. RETURN
  99. *
  100. * Format handling
  101. *
  102. *
  103. * Error handling
  104. *
  105. 9999 CONTINUE
  106. IRET=1
  107. WRITE(IOIMP,*) 'An error was detected in subroutine cogaf1'
  108. RETURN
  109. *
  110. * End of subroutine COGAF1
  111. *
  112. END
  113.  
  114.  
  115.  
  116.  

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