Télécharger optabi.eso

Retour à la liste

Numérotation des lignes :

  1. C OPTABI SOURCE CB215821 17/02/06 21:15:06 9301
  2. SUBROUTINE OPTABi(ithr)
  3. C Cette subroutine est l''interface pour les operations elementaires
  4. C et les fonctions appliquees sur les OBJETS qui les supportent
  5. C Elle peut etre appelee 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 01/09/2016
  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.  
  26. C Declaration du COMMON pour le travail en parallele
  27. COMMON/optabc/NBTH1,IERR1,IVALUE,NBPOI1,IOPE,IARG,I1I,X1I
  28.  
  29. INTEGER NTABEN,IARGU
  30.  
  31. C Debut des INSTRUCTIONS
  32. NBTHR = NBTH1
  33. SERROR = IERR1
  34. SVALUE = IVALUE
  35. NBPOIN = NBPOI1
  36. IOPERA = IOPE
  37. IARGU = IARG
  38. I1 = I1I
  39. X1 = X1I
  40.  
  41. DO 99 IA=1,NBPOIN
  42. NTABEN = 1
  43. ITYP = SVALUE.ITYPOI (IA )
  44. ITAIL1=SVALUE.IPOI0 (IA,2)
  45. ITAIL2=SVALUE.IPOI1 (IA,2)
  46. ITAIL3=SVALUE.IPOI2 (IA,2)
  47.  
  48. C Traitement direct du bon type d''OBJET de Cast3M
  49. GOTO ( 1, 2, 3, 4),ITYP
  50.  
  51. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  52. C MPOVAL.VPOCHA
  53. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  54. 1 CONTINUE
  55. MPOVA1=SVALUE.IPOI0 (IA,1)
  56. MPOVA2=SVALUE.IPOI1 (IA,1)
  57. MPOVAL=SVALUE.IPOI2 (IA,1)
  58.  
  59. IF (MPOVA2 .GT. 0) THEN
  60. NTABEN = 2
  61. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  62. & MPOVA1.VPOCHA,MPOVA2.VPOCHA,MPOVAL.VPOCHA,
  63. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  64. ELSE
  65. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  66. & MPOVA1.VPOCHA,MPOVA1.VPOCHA,MPOVAL.VPOCHA,
  67. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  68. ENDIF
  69. GOTO 99
  70.  
  71. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  72. C MELVAL.VELCHE
  73. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  74. 2 CONTINUE
  75. MELVA1=SVALUE.IPOI0 (IA,1)
  76. MELVA2=SVALUE.IPOI1 (IA,1)
  77. MELVAL=SVALUE.IPOI2 (IA,1)
  78.  
  79. IF (MELVA2 .GT. 0) THEN
  80. NTABEN = 2
  81. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  82. & MELVA1.VELCHE,MELVA2.VELCHE,MELVAL.VELCHE,
  83. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  84. ELSE
  85. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  86. & MELVA1.VELCHE,MELVA1.VELCHE,MELVAL.VELCHE,
  87. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  88. ENDIF
  89. GOTO 99
  90.  
  91. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  92. C MLREEL.PROG
  93. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  94. 3 CONTINUE
  95. MLREE1=SVALUE.IPOI0 (IA,1)
  96. MLREE2=SVALUE.IPOI1 (IA,1)
  97. MLREEL=SVALUE.IPOI2 (IA,1)
  98. IF (MLREE2 .GT. 0) THEN
  99. NTABEN = 2
  100. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  101. & MLREE1.PROG,MLREE2.PROG,MLREEL.PROG,
  102. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  103. ELSE
  104. CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  105. & MLREE1.PROG,MLREE1.PROG,MLREEL.PROG,
  106. & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  107. ENDIF
  108. GOTO 99
  109.  
  110. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  111. C MLENTI.LECT
  112. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  113. 4 CONTINUE
  114. MLENT1=SVALUE.IPOI0 (IA,1)
  115. MLENT2=SVALUE.IPOI1 (IA,1)
  116. MLENTI=SVALUE.IPOI2 (IA,1)
  117.  
  118. C CB215821 : Operation non prevue encore sur les LISTENTI !!!
  119. SERROR.IERROR(ithr) = 21
  120. RETURN
  121.  
  122. C IF (MLENT2 .GT. 0) THEN
  123. C NTABEN = 2
  124. C CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  125. C & MLENT1.LECT,MLENT2.LECT,MLENTI.LECT,
  126. C & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  127. C ELSE
  128. C CALL OPTABj(NBTHR ,ITHR ,SERROR.IERROR,IOPERA,NTABEN,
  129. C & MLENT1.LECT,MLENT1.LECT,MLENTI.LECT,
  130. C & ITAIL1,ITAIL2,ITAIL3,IARGU ,I1 ,X1 )
  131. C ENDIF
  132. C GOTO 99
  133.  
  134. 99 CONTINUE
  135. RETURN
  136. END
  137.  
  138.  
  139.  

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