Télécharger cpacfg.eso

Retour à la liste

Numérotation des lignes :

  1. C CPACFG SOURCE PV 16/11/26 21:15:20 9205
  2. subroutine cpacfg(pConfi,lisNoe,bu,bufPos)
  3. C=======================================================================
  4. C Sous-programme cpacfg (COLlaborateur PAquettage ConFiGuration)
  5. C Enregistre la configuration pointee par le pointeur pConfi d'argument
  6. C dans le buffer d'envoi. Cette configuration est tronquee èt
  7. C renumerote par la liste des noeuds necessaires a la communication
  8. C (pile 32)
  9. C Il faut s'assurer au prealabe que la taille du buffer est
  10. C suffisante
  11. C=======================================================================
  12. integer bufPos
  13. integer nNoCo,iNoCo,iNoLo
  14. integer lonBuf
  15. integer posXco
  16. -INC CCOPTIO
  17. -INC SMCOORD
  18. -INC TMCOLAC
  19. segment BUFFER
  20. character ffer(lonBuf)
  21. endsegment
  22. segment LISNOD
  23. integer numero(nNoeud)
  24. endsegment
  25. pointeur bu.BUFFER
  26. pointeur pConfi.MCOORD
  27.  
  28. pointeur lisNoe.LISNOD
  29.  
  30. C write(ioimp,*) 'Entree dans CPACFG'
  31. C write(ioimp,*)'Pointeur recu',pConfi
  32.  
  33. C Paquetage de la configuration tronquée et reordonnée selon la
  34. C liste de noeud listNoe
  35. if(pConfi .ne. 0) then
  36. if(pConfi.ne.mcoord) then
  37. segact pConfi
  38. endif
  39. lonBuf=bu.ffer(/2)
  40. nNoCo=lisNoe.numero(/1)
  41. call mpipaI(nNoCo,1,bu,bufPos)
  42. call mpipaI(IDIM,1,bu,bufPos)
  43. do iNoCo=1,nNoCo
  44. iNoLo=lisNoe.numero(iNoCo)
  45. posXco= (IDIM+1)*(iNoLo-1)
  46. call mpipaR(pConfi.XCOOR(posXco+1),IDIM+1,bu,bufPos)
  47. enddo
  48. if(pConfi.ne.mcoord) then
  49. segdes pConfi
  50. endif
  51. else
  52. write(ioimp,*) 'Erreur: pointeur vers un objet MCOORD nul'
  53. call erreur(5)
  54. endif
  55. C write(ioimp,*) 'Sortie de CPACFG'
  56. end
  57.  
  58.  
  59.  
  60.  

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