Télécharger cupcpo.eso

Retour à la liste

Numérotation des lignes :

cupcpo
  1. C CUPCPO SOURCE CB215821 25/04/23 21:15:11 12247
  2. subroutine cupcpo(bu,bufPos,pChpo)
  3. C=======================================================================
  4. C COLlaborateur UnPAQuettage Champ par POint
  5. C Lecture d'un champ par point dans le buffer d'envoi bu
  6. C=======================================================================
  7. integer bufPos
  8. integer lonBuf
  9. integer nat,nbComp,nbNoeu,nSoupo,n,nc
  10. integer iSoupo,mofour
  11. character*8 typChp
  12. character*72 desChp
  13. C character*72 soutyp
  14. -INC SMCHPOI
  15. -INC SMCOORD
  16. -INC PPARAM
  17. -INC TMCOLAC
  18. segment BUFFER
  19. character ffer(lonBuf)
  20. endsegment
  21.  
  22. pointeur pChpo.MCHPOI
  23. pointeur pSoupo.MSOUPO
  24. pointeur pPoval.MPOVAL
  25. pointeur bu.BUFFER
  26.  
  27. C write(ioimp,*) 'Entre dans CUPCPO'
  28. C write(ioimp,*)'Position du buffer',bufPos
  29. lonBuf=bu.ffer(/2)
  30. C write(ioimp,*)'Taille du buffer',lonBuf
  31. call mpiupC(typChp,8, bu,bufPos)
  32.  
  33. C write(ioimp,*)'Type du champ',typChp
  34. C write(ioimp,*)'Position du buffer',bufPos
  35. call mpiupC(desChp,72, bu,bufPos)
  36.  
  37. C write(ioimp,*)'Description du champ',desChp
  38. C write(ioimp,*)'Position du buffer',bufPos
  39. call mpiupI(mofour,1, bu,bufPos)
  40.  
  41. C write(ioimp,*)'Ifopoi',mofour
  42. C write(ioimp,*)'Position du buffer',bufPos
  43. call mpiupI(nSoupo,1, bu,bufPos)
  44.  
  45. C write(ioimp,*)'nsoupo',nsoupo
  46. C write(ioimp,*)'Position du buffer',bufPos
  47. call mpiupI(nat,1, bu,bufPos)
  48.  
  49. C write(ioimp,*) 'Buff', bufPos,lonBuf
  50. C write(ioimp,*)'nat',nat
  51. if (pChpo.ne.0) then
  52. segact pChpo*mod
  53. segadj pChpo
  54. else
  55. segini pChpo
  56. endif
  57. pChpo.MTYPOI=typChp
  58. pChpo.MOCHDE=desChp
  59. pChpo.IFOPOI=mofour
  60.  
  61. if(nat.gt.0) then
  62. call mpiupI(pChpo.jattri(1), nat, bu,bufPos)
  63. endif
  64. C write(ioimp,*)'jattri',(pChpo.jattri(i),i=1,nat)
  65. do iSoupo=1,nSoupo
  66. C write(ioimp,*) 'Soupo :',iSoupo
  67. call mpiupI(nbComp,1, bu,bufPos)
  68.  
  69. C write(ioimp,*)'nbComp',nbComp
  70. call mpiupI(nbNoeu,1, bu,bufPos)
  71.  
  72. C write(ioimp,*)'nbNoeu',nbNoeu
  73. nc=nbComp
  74. segini pSoupo
  75. pChpo.ipchp(iSoupo)=pSoupo
  76. n=nbNoeu
  77. segini pPoval
  78. pSoupo.ipoval=pPoval
  79. if(nbNoeu.gt.0.and.nbComp.gt.0) then
  80. C write(ioimp,*)'Lecture des valeurs'
  81. call mpiupR( pPoval.vpocha(1,1),nbNoeu*nbComp, bu,bufPos)
  82.  
  83. endif
  84. segdes pPoval
  85. C write(ioimp,*) 'iSoupo',iSoupo
  86. C write(ioimp,*) 'pSoupo',pSoupo
  87. call mpiupI( pSoupo.igeoc,1, bu,bufPos)
  88.  
  89. C write(ioimp,*)'pSoupo.igeoc',pSoupo.igeoc
  90. if(nbComp.gt.0)then
  91. call mpiupC( pSoupo.nocomp(1),nbComp*4, bu,bufPos)
  92.  
  93. C write(ioimp,*)'Lecture du nom de composante'
  94. C SOUTYP=pSoupo.nocomp(1)
  95. C write(ioimp,*) 'Nom composante',soutyp
  96. C write(ioimp,*)'Position du buffer',bufPos
  97. C write(ioimp,*)'Position du buffer',bufPos
  98. call mpiupI( pSoupo.noharm(1),nbComp, bu,bufPos)
  99.  
  100. C write(ioimp,*)'Lecture du numero des harmoniques',
  101. C & (pSoupo.noharm(i),i=1,nbComp)
  102. C write(ioimp,*)'Position du buffer',bufPos
  103. endif
  104. segdes pSoupo
  105. enddo
  106. segdes pChpo
  107. C write(ioimp,*) 'Sortie de CUPCPO'
  108. end
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  

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