Télécharger chmlst.eso

Retour à la liste

Numérotation des lignes :

chmlst
  1. C CHMLST SOURCE CB215821 20/11/25 13:19:31 10792
  2. SUBROUTINE CHMLST(MCHPOI,MLIDX,IPTIDX,JPOVAL)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C------------------------------------------------------------------
  6. C
  7. C CORRESPONDANCE ENTRE LES COMPOSANTES D' UN CHPOINT ET LES IDX
  8. C JPOVAL POINTEUR DU TABLEAU DE VALEURS DU CHPOINT
  9. C
  10. C On cherche si toutes les composantes du chpoint correspondent
  11. C a un identificateur et réciproquement .On vérifie l'unicité
  12. C------------------------------------------------------------------
  13. -INC SMCHPOI
  14. -INC SMLENTI
  15.  
  16. -INC PPARAM
  17. -INC CCOPTIO
  18. SEGMENT IPTIDX
  19. INTEGER ITDX(NXDIM)
  20. ENDSEGMENT
  21. SEGMENT ITBID
  22. INTEGER IBID(NXDIM)
  23. ENDSEGMENT
  24. MLENTI=MLIDX
  25. SEGACT MCHPOI
  26. MSOUPO=IPCHP(1)
  27. SEGACT MSOUPO
  28. NXDIM=LECT(/1)
  29. SEGINI IPTIDX
  30. SEGINI ITBID
  31. CALL INITI(ITDX,NXDIM,0)
  32. CALL RSETI(IBID,LECT,NXDIM)
  33. NC=NOCOMP(/2)
  34. DO 50 I=1,NC
  35. READ(NOCOMP(I),100)NLL
  36. 100 FORMAT(1X,I3)
  37. C WRITE(6,*)'COMPOSANTE ',NLL
  38. DO 20 J=1,NXDIM
  39. IF(NLL.EQ.IBID(J))THEN
  40. ITDX(J)=I
  41. IBID(J)=0
  42. GO TO 30
  43. ENDIF
  44. 20 CONTINUE
  45. MOTERR=NOCOMP(I)
  46. CALL ERREUR(197)
  47. RETURN
  48. 30 CONTINUE
  49. 50 CONTINUE
  50. DO 60 J=1,NXDIM
  51. IF(ITDX(J).EQ.0)THEN
  52. WRITE(MOTERR(1:LOCOMP),110)LECT(J)
  53. CALL ERREUR(77)
  54. RETURN
  55. ENDIF
  56. 60 CONTINUE
  57. 110 FORMAT('X',I3.3)
  58. MPOVAL=IPOVAL
  59. SEGACT MPOVAL
  60. JPOVAL= IPOVAL
  61. SEGSUP ITBID
  62. C write(6,*)' ITDX ',(itdx(j),j=1,nxdim)
  63. RETURN
  64. END
  65.  
  66.  

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