Télécharger climod.eso

Retour à la liste

Numérotation des lignes :

climod
  1. C CLIMOD SOURCE OF166741 23/06/19 21:15:03 11680
  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,nNomid,nObMod,n1
  11. integer iMod,lconmo,iInfo,iObNid,iObMod
  12. integer iPile
  13.  
  14. -INC PPARAM
  15. -INC CCOPTIO
  16. -INC SMMODEL
  17. -INC TMCOLAC
  18. pointeur pModel.MMODEL
  19. pointeur modele.IMODEL
  20.  
  21. pointeur jcolac.ICOLAC
  22. pointeur pile.ITLACC
  23.  
  24. C write(ioimp,*) 'Entre dans CLIMOD'
  25. C write(ioimp,*) 'Modele de pointeur',pModel
  26. if (pModel.eq.0) then
  27. write(ioimp,*) 'CLIMOD Erreur: pointeur vers objet MMODEL nul'
  28. call erreur(5)
  29. endif
  30.  
  31. segact pModel
  32. n1=pModel.kmodel(/1)
  33. C write(ioimp,*) 'Nb ss Modele ',n1
  34. do iMod=1,n1
  35. C write(ioimp,*) 'Modele elem',iMod,'sur',n1
  36. modele=pModel.kmodel(iMod)
  37. C write(ioimp,*) 'ss modele', iMod, 'pointeur',modele
  38. segact modele*mod
  39.  
  40. iPoPi=modele.ipdpge
  41. if(iPoPi.gt.0) then
  42. pile=jcolac.kcola(1)
  43. iPoint=pile.itlac(iPoPi)
  44. else
  45. iPoint=0
  46. endif
  47. modele.ipdpge=iPoint
  48. C write(ioimp,*) 'point support DPGE',iPoPi,iPoint
  49.  
  50. iPoPi=modele.imamod
  51. pile=jcolac.kcola(1)
  52. iPoint=pile.itlac(iPoPi)
  53. C write(ioimp,*) 'maillage support',iPoPi,iPoint
  54. modele.imamod=iPoint
  55.  
  56. C write(ioimp,*) 'Infmod '
  57. mn3=modele.infmod(/1)
  58. C Court circuit en attendant le support des tables, par la
  59. C suite, il suffit d'enlever la ligne suivante
  60. modele.infmod(2)=0
  61. iPoPi=modele.infmod(2)
  62. if(iPoPi.gt.0) then
  63. pile=jcolac.kcola(10)
  64. iPoint=pile.itlac(iPoPi)
  65. modele.infmod(2)=iPoint
  66. else
  67. modele.infmod(2)=0
  68. endif
  69. pile=jcolac.kcola(40)
  70. do iInfo=3,mn3
  71. iPoPi=modele.infmod(iInfo)
  72. if(iPoPi.gt.0) then
  73. iPoint=pile.itlac(iPoPi)
  74. modele.infmod(iInfo)=iPoint
  75. else
  76. modele.infmod(iInfo)=0
  77. endif
  78. enddo
  79.  
  80. nNomid=modele.lnomid(/1)
  81. do iObMid=1,nNomid
  82. iPoPi=modele.lnomid(iObMid)
  83. if (iPoPi.gt.0) then
  84. iPoint=iPoPi
  85. modele.lnomid(iObMid)=iPoint
  86. else
  87. modele.lnomid(iObMid)=0
  88. endif
  89. enddo
  90.  
  91. nObMod=modele.ivamod(/1)
  92. C write(ioimp,*) 'Nombre d objets',nObMod
  93. do iObMod=1,nObMod
  94. typNom=modele.tymode(iObMod)
  95. call typfil(typNom,iPile)
  96. if(iPile.gt.0) then
  97. iPoPi=ivamod(iPile)
  98. pile=jcolac.kcola(iPile)
  99. iPoint=pile.itlac(iPoPi)
  100. modele.ivamod(iObMod)=iPoint
  101. endif
  102. enddo
  103.  
  104. segdes modele
  105. enddo
  106. segdes pModel
  107.  
  108. c write(ioimp,*) 'Sortie de CLIMOD'
  109. c return
  110. end
  111.  
  112.  
  113.  

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