Télécharger optab0.eso

Retour à la liste

Numérotation des lignes :

optab0
  1. C OPTAB0 SOURCE CB215821 20/11/25 13:35:29 10792
  2. C OPTAB0
  3. SUBROUTINE OPTAB0(ith,IPOINT)
  4. C Cette subroutine est l''interface entre OPTABi et OPTABj
  5. C Elle peut etre appelee directement ou en parallele
  6. C
  7. C Elle extrait des SEGMENTS des OBJETS les tableaux FORTRAN puis fait
  8. C appel a OPTABj qui realise les operations en FORTRAN pur
  9.  
  10. C Creation 23/02/2018
  11. C Createur CB215821
  12. C Historique des Corrections apportees :
  13. C -
  14. C -
  15. C -
  16.  
  17. IMPLICIT INTEGER(I-N)
  18. IMPLICIT REAL*8 (A-H,O-Z)
  19.  
  20. -INC SMCHPOI
  21. -INC SMCHAML
  22. -INC SMLREEL
  23. -INC SMLENTI
  24. -INC TMVALUE
  25. -INC CCASSIS
  26.  
  27. C Debut des INSTRUCTIONS
  28. SPARAL = IPOINT
  29. NBTHR = SPARAL.NBTHRD
  30. SVALUE = SPARAL.IVALUE
  31. IOPERA = SPARAL.IOPE
  32. IARGU = SPARAL.IARG
  33. I1 = SPARAL.I1I
  34. X1 = SPARAL.X1I
  35.  
  36. DO 99 IA=1,SVALUE.NPUTIL
  37. NTABEN = 1
  38. ITYP = SVALUE.ITYPOI (IA )
  39. ITAIL1=SVALUE.IPOI0 (IA,2)
  40. ITAIL2=SVALUE.IPOI1 (IA,2)
  41. ITAIL3=SVALUE.IPOI2 (IA,2)
  42.  
  43. C Traitement direct du bon type d''OBJET de Cast3M
  44. GOTO ( 1, 2, 3, 4),ITYP
  45. PRINT *,'OPTAB0: OBJET NON COMPATIBLE',ith,IPOIN,SVALUE,ITYP
  46. SPARAL.IERROR(ith) = 5
  47. RETURN
  48.  
  49. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  50. C MPOVAL.VPOCHA
  51. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  52. 1 CONTINUE
  53. MPOVA1=SVALUE.IPOI0 (IA,1)
  54. MPOVA2=SVALUE.IPOI1 (IA,1)
  55. MPOVAL=SVALUE.IPOI2 (IA,1)
  56.  
  57. IF (MPOVA2 .GT. 0) THEN
  58. NTABEN = 2
  59. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  60. & MPOVA1.VPOCHA,MPOVA2.VPOCHA,MPOVAL.VPOCHA,
  61. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  62. ELSE
  63. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  64. & MPOVA1.VPOCHA,MPOVA1.VPOCHA,MPOVAL.VPOCHA,
  65. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  66. ENDIF
  67. GOTO 99
  68.  
  69. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  70. C MELVAL.VELCHE
  71. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  72. 2 CONTINUE
  73. MELVA1=SVALUE.IPOI0 (IA,1)
  74. MELVA2=SVALUE.IPOI1 (IA,1)
  75. MELVAL=SVALUE.IPOI2 (IA,1)
  76.  
  77. IF (MELVA2 .GT. 0) THEN
  78. NTABEN = 2
  79. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  80. & MELVA1.VELCHE,MELVA2.VELCHE,MELVAL.VELCHE,
  81. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  82. ELSE
  83. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  84. & MELVA1.VELCHE,MELVA1.VELCHE,MELVAL.VELCHE,
  85. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  86. ENDIF
  87. GOTO 99
  88.  
  89. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  90. C MLREEL.PROG
  91. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  92. 3 CONTINUE
  93. MLREE1=SVALUE.IPOI0 (IA,1)
  94. MLREE2=SVALUE.IPOI1 (IA,1)
  95. MLREEL=SVALUE.IPOI2 (IA,1)
  96. IF (MLREE2 .GT. 0) THEN
  97. NTABEN = 2
  98. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  99. & MLREE1.PROG,MLREE2.PROG,MLREEL.PROG,
  100. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  101. ELSE
  102. CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  103. & MLREE1.PROG,MLREE1.PROG,MLREEL.PROG,
  104. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  105. ENDIF
  106. GOTO 99
  107.  
  108. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  109. C MLENTI.LECT
  110. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  111. 4 CONTINUE
  112. MLENT1=SVALUE.IPOI0 (IA,1)
  113. MLENT2=SVALUE.IPOI1 (IA,1)
  114. MLENTI=SVALUE.IPOI2 (IA,1)
  115.  
  116. C CB215821 : Operation non prevue encore sur les LISTENTI !!!
  117. SPARAL.IERROR = 21
  118. RETURN
  119.  
  120. C IF (MLENT2 .GT. 0) THEN
  121. C NTABEN = 2
  122. C CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  123. C & MLENT1.LECT,MLENT2.LECT,MLENTI.LECT,
  124. C & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  125. C ELSE
  126. C CALL OPTABj(NBTHR ,ith,IOPERA,NTABEN,
  127. C & MLENT1.LECT,MLENT1.LECT,MLENTI.LECT,
  128. C & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 ,IRETOU )
  129. C ENDIF
  130. C GOTO 99
  131.  
  132. 99 CONTINUE
  133.  
  134. C Enregistrement de l'erreur eventuelle
  135. SPARAL.IERROR(ith) = IRETOU
  136.  
  137. RETURN
  138. END
  139.  
  140.  
  141.  
  142.  

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