Télécharger kctrp0.eso

Retour à la liste

Numérotation des lignes :

kctrp0
  1. C KCTRP0 SOURCE PV 20/03/24 21:18:28 10554
  2. SUBROUTINE KCTRP0(MTABLE,IPOINT)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5.  
  6. -INC PPARAM
  7. -INC CCOPTIO
  8. -INC CCGEOME
  9. -INC SMTABLE
  10. -INC SMCOORD
  11. -INC SMELEME
  12. POINTEUR MELEMI.MELEME
  13. DIMENSION XA(3,27),XL(3,4),XG(3,4)
  14. CHARACTER*8 TYPE,NOME
  15.  
  16. IPOINT=0
  17. TYPE=' '
  18. CALL ACMO(MTABLE,'MACRO',TYPE,MACRO)
  19. TYPE=' '
  20. CALL ACMO(MTABLE,'QUADRATI',TYPE,MQ)
  21. IF(MACRO.EQ.0.AND.MQ.EQ.0)THEN
  22.  
  23. TYPE=' '
  24. CALL ACMO(MTABLE,'CENTRE',TYPE,MELEMC)
  25. IF(MELEMC.EQ.0)THEN
  26. MOTERR(1: 8) = 'DOMAINE.'
  27. MOTERR(9:16) = 'CENTRE '
  28. CALL ERREUR(792)
  29. IPOINT=0
  30. RETURN
  31. ENDIF
  32.  
  33. ELSE
  34. IF(MACRO.NE.0)MELEMI=MACRO
  35. IF(MQ .NE.0)MELEMI=MQ
  36.  
  37. CALL ECROBJ('MAILLAGE',MELEMI)
  38. CALL NBEL
  39. CALL LIRENT(NBELEM,1,IRET)
  40. IF(IRET.EQ.0)RETURN
  41. NBSOUS=0
  42. NBREF=0
  43. NBNN=1
  44. SEGINI MELEME
  45. ITYPEL=1
  46. segact mcoord*mod
  47. NBV0=nbpts
  48. NBPTS=NBV0+NBELEM
  49. SEGADJ MCOORD
  50. K0=NBV0
  51. KE=0
  52.  
  53.  
  54. SEGACT MELEMI
  55. NBSOUL=MELEMI.LISOUS(/1)
  56. IF(NBSOUL.EQ.0)NBSOUL=1
  57.  
  58. DO 1 L=1,NBSOUL
  59. IPT1=MELEMI
  60. IF(NBSOUL.NE.1)IPT1=MELEMI.LISOUS(L)
  61. SEGACT IPT1
  62. NP=IPT1.NUM(/1)
  63. NEL=IPT1.NUM(/2)
  64.  
  65. NOME=NOMS(IPT1.ITYPEL)//' '
  66. CALL KXL(NOME,'P0',XL)
  67.  
  68. DO 2 K=1,NEL
  69. K0=K0+1
  70. KE=KE+1
  71. DO 3 M=1,IDIM
  72. DO 3 I=1,NP
  73. NI=IPT1.NUM(I,K)
  74. XA(M,I)=XCOOR((NI-1)*(IDIM+1) +M)
  75. 3 CONTINUE
  76.  
  77. CALL FFQ(NOME,XA,XL,XG,IDIM,1)
  78. DO 4 M=1,IDIM
  79. XCOOR((K0-1)*(IDIM+1) +M)=XG(M,1)
  80. 4 CONTINUE
  81. NUM(1,KE)=K0
  82. 2 CONTINUE
  83. 1 CONTINUE
  84.  
  85. IPOINT=MELEME
  86. CALL ECMO(MTABLE,'CENTREP0','MAILLAGE',MELEME)
  87. ENDIF
  88.  
  89. RETURN
  90. 1002 FORMAT(10(1X,1PE11.4))
  91. END
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  

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