Télécharger cmemod.eso

Retour à la liste

Numérotation des lignes :

cmemod
  1. C CMEMOD SOURCE CB215821 24/04/12 21:15:17 11897
  2. subroutine cmemod(pModel,nbInt,nbFloa,nbChar)
  3. C=======================================================================
  4. C COLlaborateur MEsure MODele
  5. C Mesure de la taille d'un modele en nombre d'entiers, de flottants
  6. C et de caracteres
  7. C=======================================================================
  8. integer nbInt,nbFloa,nbChar
  9. integer nImode,iMode,iNomid
  10. integer lconmo
  11. integer mn3,nlconm,nfor,nmat,nobmod,nbrobl,nbrfac,ntyp
  12.  
  13. -INC PPARAM
  14. -INC SMMODEL
  15. pointeur pNomid.NOMID
  16. pointeur pModel.MMODEL
  17. pointeur modele.IMODEL
  18.  
  19. C write(ioimp,*) 'Entree dans CMEMOD'
  20. nbInt=0
  21. nbFloa=0
  22. nbChar=0
  23.  
  24. if (pModel.lt.0) then
  25. C write(ioimp,*) 'Pointeur modele nul'
  26. return
  27. endif
  28.  
  29. segact pModel
  30. nbInt=nbInt+1
  31. nImode=pModel.kmodel(/1)
  32. do iMode=1,nImode
  33. modele=pModel.kmodel(iMode)
  34. segact modele
  35. mn3 = modele.infmod(/1)
  36. nlconm = modele.conmod(/1)
  37. nfor = modele.formod(/2)
  38. nmat = modele.matmod(/2)
  39. nobmod = modele.ivamod(/1)
  40. C write(ioimp,*) 'Taille du modele',mn3, nlconm, nfor,nmat,nObMod
  41. nbInt=nbInt+3+mn3+4+16+nobmod+4
  42. nbChar=nbChar+8+16*(nfor+nmat)+8*nobmod+nlconm
  43. C Traitement des Nomid :
  44. ntyp= modele.lnomid(/1)
  45. nbInt=nbInt+1
  46. do iNomid=1,ntyp
  47. nbInt=nbInt+2
  48. pNomid = modele.lnomid(iNomid)
  49. C write(ioimp,*) 'nomid',iNomid,'sur ',ntyp
  50. if(pNomid.ne.0) then
  51. segact pNomid
  52. nbrobl=pNomid.lesobl(/2)
  53. nbrfac=pNomid.lesfac(/2)
  54. C write(ioimp,*) 'obl / fac',nbrobl,nbrfac
  55. nbChar=nbChar+8*(nbrobl+nbrfac)
  56. segdes pNomid
  57. endif
  58. enddo
  59. segdes modele
  60. enddo
  61. segdes pModel
  62.  
  63. C write(ioimp,*) 'Sortie de CMEMOD'
  64. c return
  65. end
  66.  
  67.  
  68.  
  69.  

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