Télécharger clichm.eso

Retour à la liste

Numérotation des lignes :

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

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