Télécharger cmemod.eso

Retour à la liste

Numérotation des lignes :

cmemod
  1. C CMEMOD SOURCE OF166741 23/06/19 21:15:03 11680
  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. -INC SMMODEL
  13. pointeur pNomid.NOMID
  14. pointeur pModel.MMODEL
  15. pointeur modele.IMODEL
  16.  
  17. C write(ioimp,*) 'Entree dans CMEMOD'
  18. nbInt=0
  19. nbFloa=0
  20. nbChar=0
  21.  
  22. if (pModel.lt.0) then
  23. C write(ioimp,*) 'Pointeur modele nul'
  24. return
  25. endif
  26.  
  27. segact pModel
  28. nbInt=nbInt+1
  29. nImode=pModel.kmodel(/1)
  30. do iMode=1,nImode
  31. modele=pModel.kmodel(iMode)
  32. segact modele
  33. mn3 = modele.infmod(/1)
  34. nlconm = modele.conmod(/1)
  35. nfor = modele.formod(/2)
  36. nmat = modele.matmod(/2)
  37. nobmod = modele.ivamod(/1)
  38. C write(ioimp,*) 'Taille du modele',mn3, nlconm, nfor,nmat,nObMod
  39. nbInt=nbInt+3+mn3+4+16+nobmod+4
  40. nbChar=nbChar+8+16*(nfor+nmat)+8*nobmod+nlconm
  41. C Traitement des Nomid :
  42. ntyp= modele.lnomid(/1)
  43. nbInt=nbInt+1
  44. do iNomid=1,ntyp
  45. nbInt=nbInt+2
  46. pNomid = modele.lnomid(iNomid)
  47. C write(ioimp,*) 'nomid',iNomid,'sur ',ntyp
  48. if(pNomid.ne.0) then
  49. segact pNomid
  50. nbrobl=pNomid.lesobl(/2)
  51. nbrfac=pNomid.lesfac(/2)
  52. C write(ioimp,*) 'obl / fac',nbrobl,nbrfac
  53. nbChar=nbChar+8*(nbrobl+nbrfac)
  54. segdes pNomid
  55. endif
  56. enddo
  57. segdes modele
  58. enddo
  59. segdes pModel
  60.  
  61. C write(ioimp,*) 'Sortie de CMEMOD'
  62. c return
  63. end
  64.  
  65.  
  66.  

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