Télécharger clichm.eso

Retour à la liste

Numérotation des lignes :

  1. C CLICHM SOURCE PV 16/11/26 21:15:11 9205
  2. subroutine clichm(pChelm,jcolac)
  3. C=======================================================================
  4. C COLlaborateur LIer CHamp par eleMent
  5. C Remplace dans un objet CHPO, les pointeurs vers la pile de
  6. C communication par les pointeurs esope correspondant.
  7. C=======================================================================
  8. integer ipoPi,iPoint
  9. integer iCons,nbCons
  10. integer nbComp,iComp
  11. integer iNo,iEl,iTyp
  12. integer nNoEli,nbEli
  13. character*16 tyComp
  14. character*8 typNom
  15. integer nconch
  16. -INC CCOPTIO
  17. -INC SMCHAML
  18. -INC TMCOLAC
  19. pointeur pChelm.MCHELM
  20. pointeur pChaml.MCHAML
  21. pointeur pElval.MELVAL
  22. pointeur jcolac.ICOLAC
  23. pointeur pile.ITLACC
  24.  
  25. C write(ioimp,*) 'Entre dans CLICHM'
  26. if (pChelm.ne.0) then
  27. segact pChelm*mod
  28. nbCons=pChelm.imache(/1)
  29. C write(ioimp,*) 'nbSoup',nbCons
  30. C Restauration des maillages
  31. pile=jcolac.kcola(1)
  32. do iCons=1,nbCons
  33. iPoPi=pChelm.imache(iCons)
  34. C write(ioimp,*) 'Position dans la pile: ',iPoPi
  35. iPoint=pile.itlac(iPoPi)
  36. C write(ioimp,*) 'Pointeur: ',iPoint
  37. pChelm.imache(iCons)=iPoint
  38. enddo
  39. pile=jcolac.kcola(40)
  40. do iCons=1,nbCons
  41. iPoPi=pChelm.infche(iCons,4)
  42. C write(ioimp,*) 'Position dans la pile: ',iPoPi
  43. iPoint=pile.itlac(iPoPi)
  44. C write(ioimp,*) 'Pointeur: ',iPoint
  45. pChelm.infche(iCons,4)=iPoint
  46. enddo
  47. do iCons=1,nbCons
  48. pChaml=pChelm.ichaml(iCons)
  49. C write(ioimp,*) 'pChaml',pChaml
  50. segact pChaml
  51. nbComp=pChaml.ielval(/1)
  52. do iComp=1,nbComp
  53. tyComp=pChaml.typche(iComp)
  54. if(tyComp(1:6).ne.'real*8') then
  55. typNom(1:8)=tyComp(9:16)
  56. call typfil(typNom,iTyp)
  57. if(iTyp.gt.0) then
  58. pile=jcolac.kcola(iTyp)
  59. pElval= pChaml.ielval(iComp)
  60. segact pElval*mod
  61. nNoEli=pElval.ielche(/1)
  62. nbEli =pElval.ielche(/2)
  63. do iEl=1,nbEli
  64. do iNo=1,nNoEli
  65. iPoPi=pElval.ielche(iNo,iEl)
  66. iPoint=pile.itlac(iPoPi)
  67. pElval.ielche(iNo,iEl)=iPoint
  68. enddo
  69. enddo
  70. segdes pElval
  71. endif
  72. endif
  73. enddo
  74. segdes pChaml
  75. enddo
  76.  
  77. segdes pChelm
  78. else
  79. write(ioimp,*) 'Erreur: pointeur vers un objet CHEML nul'
  80. call erreur(5)
  81. endif
  82. C write(ioimp,*) 'Sortie de CLICHM'
  83. end
  84.  
  85.  
  86.  
  87.  

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