Télécharger climod.eso

Retour à la liste

Numérotation des lignes :

  1. C CLIMOD SOURCE PV 17/12/05 21:15:20 9646
  2. subroutine climod(pModel,jcolac)
  3. C=======================================================================
  4. C COLlaborateur LIer MODele
  5. C Remplace dans un objet modele, les pointeurs vers la pile de
  6. C communication par les pointeurs esope correspondant.
  7. C=======================================================================
  8. integer ipoPi,iPoint
  9. character*8 typNom
  10. integer mn3,nObMod,n1
  11. integer iMod,lconmo,iInfo,iNomid,iObMod
  12. integer iPile
  13. -INC CCOPTIO
  14. -INC SMMODEL
  15. -INC TMCOLAC
  16. pointeur pModel.MMODEL
  17. pointeur modele.IMODEL
  18.  
  19. pointeur jcolac.ICOLAC
  20. pointeur pile.ITLACC
  21.  
  22. C write(ioimp,*) 'Entre dans CLIMOD'
  23. C write(ioimp,*) 'Modele de pointeur',pModel
  24. if (pModel.ne.0) then
  25. segact pModel
  26. n1=pModel.kmodel(/1)
  27. C write(ioimp,*) 'Nb ss Modele ',n1
  28. do iMod=1,n1
  29. C write(ioimp,*) 'Modele elem',iMod,'sur',n1
  30. modele=pModel.kmodel(iMod)
  31. C write(ioimp,*) 'ss modele', iMod, 'pointeur',modele
  32. segact modele*mod
  33. iPoPi=modele.ipdpge
  34. if(iPoPi.gt.0) then
  35. pile=jcolac.kcola(1)
  36. iPoint=pile.itlac(iPoPi)
  37. else
  38. iPoint=0
  39. endif
  40. modele.ipdpge=iPoint
  41. C write(ioimp,*) 'point support DPGE',iPoPi,iPoint
  42.  
  43. iPoPi=modele.imamod
  44. pile=jcolac.kcola(1)
  45. iPoint=pile.itlac(iPoPi)
  46. C write(ioimp,*) 'maillage support',iPoPi,iPoint
  47. modele.imamod=iPoint
  48. mn3=modele.infmod(/1)
  49. C Court circuit en attendant le support des tables, par la
  50. C suite, il suffit d'enlever la ligne suivante
  51. modele.infmod(2)=0
  52. iPoPi=modele.infmod(2)
  53. if(iPoPi.gt.0) then
  54. pile=jcolac.kcola(10)
  55. iPoint=pile.itlac(iPoPi)
  56. modele.infmod(2)=iPoint
  57. else
  58. modele.infmod(2)=0
  59. endif
  60. pile=jcolac.kcola(40)
  61. do iInfo=3,mn3
  62. iPoPi=modele.infmod(iInfo)
  63. if(iPoPi.gt.0) then
  64. iPoint=pile.itlac(iPoPi)
  65. modele.infmod(iInfo)=iPoint
  66. else
  67. modele.infmod(iInfo)=0
  68. endif
  69. enddo
  70. C write(ioimp,*) 'Infmod recolle'
  71. nObMod=modele.ivamod(/1)
  72. C write(ioimp,*) 'Nombre d objet',nObMod
  73. do iObMod=1,nObMod
  74. typNom=modele.tymode(iObMod)
  75. call typfil(typNom,iPile)
  76. if(iPile.gt.0) then
  77. iPoPi=ivamod(iPile)
  78. pile=jcolac.kcola(iPile)
  79. iPoint=pile.itlac(iPoPi)
  80. modele.ivamod(iObMod)=iPoint
  81. endif
  82. enddo
  83. segdes modele
  84. enddo
  85. segdes pModel
  86. else
  87. write(ioimp,*) 'Erreur: pointeur vers un objet MODEL nul'
  88. call erreur(5)
  89. endif
  90. C write(ioimp,*) 'Sortie de CLIMOD'
  91. end
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  

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