Télécharger dedu1.eso

Retour à la liste

Numérotation des lignes :

dedu1
  1. C DEDU1 SOURCE CB215821 20/11/25 13:24:21 10792
  2. C DEDU1
  3. C
  4. C IDENTIFIE LE CHPOINT MCHPO4 PERMETTANT DE PASSER D'UNE GEOMETRIE
  5. C IPT1 A UNE SECONDE IPT2 ET POINTE LES NOEUDS DE IPT1 DANS ICP1
  6. C ITABEL ET INOUVEL ENREGISTRENT LA CORRESPONDANCE POUR LES MELEME
  7. C FINALEMENT, MCHPO4 RANGE DANS IPOIN1
  8. C APPELE PAR PROPER, POUR EXECUTION OPTIONS 'TRANS' ET 'ROTA' DE DEDU
  9. C
  10. C 11/97 : KICH
  11. C---------------------------------------------------------------------
  12. SUBROUTINE DEDU1(IPT1,IPT2,ICP1,ITABEL,INOUVEL,IPOIN1)
  13. IMPLICIT INTEGER(I-N)
  14. IMPLICIT REAL*8 (A-H,O-Z)
  15.  
  16. -INC PPARAM
  17. -INC CCOPTIO
  18. -INC SMCOORD
  19. -INC SMELEME
  20. -INC SMCHPOI
  21. SEGMENT ICP1(nbpts)
  22. SEGMENT ITABEL(0)
  23. SEGMENT INOUVEL(0)
  24.  
  25. SEGINI ITABEL,INOUVEL
  26. SEGINI ICP1
  27. SEGDES ICP1
  28. SEGACT IPT1,IPT2
  29. NBSOUS1 = IPT1.LISOUS(/1)
  30. NBSOUS2 = IPT2.LISOUS(/1)
  31. NBREF1 = IPT1.LISREF(/1)
  32. NBREF2 = IPT2.LISREF(/1)
  33. IF (NBSOUS1.NE.NBSOUS2) GOTO 5397
  34. C pas de verification sur les references. kich
  35. c IF (NBREF1.NE.NBREF2) GOTO 5397
  36. IF (NBSOUS1.EQ.0) THEN
  37. IF (IPT1.ITYPEL.NE.IPT2.ITYPEL) GOTO 5397
  38. IF (IPT1.NUM(/1).NE.IPT2.NUM(/1)) GOTO 5397
  39. IF (IPT1.NUM(/2).NE.IPT2.NUM(/2)) GOTO 5397
  40. SEGDES IPT1,IPT2
  41. CALL PROCHP(IPT1,IPT2,IPOIN1,ICP1)
  42. IF (IERR.NE.0) GOTO 5397
  43. ITABEL(**) = IPT1
  44. INOUVEL(**) = IPT2
  45. ELSE IF (NBSOUS1.NE.0) THEN
  46. DO 5310 J=1,NBSOUS1
  47. IPT3 = IPT1.LISOUS(J)
  48. IPT4 = IPT2.LISOUS(J)
  49. SEGACT IPT3,IPT4
  50. NBSOUS3 = IPT3.LISOUS(/1)
  51. NBSOUS4 = IPT4.LISOUS(/1)
  52. NBREF3 = IPT3.LISREF(/1)
  53. NBREF4 = IPT4.LISREF(/1)
  54. IF (NBSOUS3.NE.NBSOUS4) GOTO 5396
  55. C pas de verification sur les references. kich
  56. c IF (NBREF3.NE.NBREF4) GOTO 5396
  57. IF (IPT3.ITYPEL.NE.IPT4.ITYPEL) GOTO 5396
  58. IF (IPT3.NUM(/1).NE.IPT4.NUM(/1)) GOTO 5396
  59. IF (IPT3.NUM(/2).NE.IPT4.NUM(/2)) GOTO 5396
  60. SEGDES IPT3,IPT4
  61. CALL PROCHP(IPT3,IPT4,MCHPO4,ICP1)
  62. IF (IERR.NE.0) GOTO 5396
  63. ITABEL(**) = IPT3
  64. INOUVEL(**) = IPT4
  65. IF(J.EQ.1) THEN
  66. IPCHP0 = MCHPO4
  67. ELSE
  68. CALL FUCHPO(IPCHP0,MCHPO4,IPRET)
  69. IPCHP0 = IPRET
  70. ENDIF
  71. IF (IERR.NE.0) GOTO 5396
  72. 5310 CONTINUE
  73. IPOIN1 = IPCHP0
  74. IF ((NBREF1.NE.0).AND.(NBREF1.EQ.NBREF2)) THEN
  75. DO 5317 J=1,NBREF1
  76. DO 5316 K=1,ITABEL(/1)
  77. IF (ITABEL(K).EQ.IPT1.LISREF(J)) GOTO 5317
  78. 5316 CONTINUE
  79. ITABEL(**) = IPT1.LISREF(J)
  80. INOUVEL(**) = IPT2.LISREF(J)
  81. 5317 CONTINUE
  82. ENDIF
  83. SEGDES IPT1,IPT2
  84. ENDIF
  85. SEGDES ICP1,ITABEL,INOUVEL
  86. RETURN
  87.  
  88. 5396 CONTINUE
  89. SEGDES IPT3,IPT4
  90. 5397 CONTINUE
  91. SEGDES IPT1,IPT2
  92. SEGSUP ITABEL,INOUVEL,ICP1
  93. * erreur dans le calcul du CHPOINT, verifier les donnees
  94. CALL ERREUR(878)
  95. RETURN
  96. END
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  

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