Télécharger cpacfg.eso

Retour à la liste

Numérotation des lignes :

cpacfg
  1. C CPACFG SOURCE PV 17/12/05 21:15:28 9646
  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.  
  17. -INC PPARAM
  18. -INC CCOPTIO
  19. -INC SMCOORD
  20. -INC TMCOLAC
  21. segment BUFFER
  22. character ffer(lonBuf)
  23. endsegment
  24. segment LISNOD
  25. integer numero(nNoeud)
  26. endsegment
  27. pointeur bu.BUFFER
  28. pointeur pConfi.MCOORD
  29.  
  30. pointeur lisNoe.LISNOD
  31.  
  32. C write(ioimp,*) 'Entree dans CPACFG'
  33. C write(ioimp,*)'Pointeur recu',pConfi
  34.  
  35. C Paquetage de la configuration tronquée et reordonnée selon la
  36. C liste de noeud listNoe
  37. if(pConfi .ne. 0) then
  38. if(pConfi.ne.mcoord) then
  39. segact pConfi
  40. endif
  41. lonBuf=bu.ffer(/2)
  42. nNoCo=lisNoe.numero(/1)
  43. call mpipaI(nNoCo,1,bu,bufPos)
  44. call mpipaI(IDIM,1,bu,bufPos)
  45. do iNoCo=1,nNoCo
  46. iNoLo=lisNoe.numero(iNoCo)
  47. posXco= (IDIM+1)*(iNoLo-1)
  48. call mpipaR(pConfi.XCOOR(posXco+1),IDIM+1,bu,bufPos)
  49. enddo
  50. if(pConfi.ne.mcoord) then
  51. segdes pConfi
  52. endif
  53. else
  54. write(ioimp,*) 'Erreur: pointeur vers un objet MCOORD nul'
  55. call erreur(5)
  56. endif
  57. C write(ioimp,*) 'Sortie de CPACFG'
  58. end
  59.  
  60.  
  61.  
  62.  
  63.  

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