Télécharger cmemod.eso

Retour à la liste

Numérotation des lignes :

  1. C CMEMOD SOURCE GF238795 15/04/23 21:15:19 8502
  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'entier, de flottant
  6. C et de caractere
  7. C=======================================================================
  8. integer nbInt,nbFloa,nbChar
  9. integer nImode,iMode,iNomid
  10. integer lconmo
  11. integer mn3,nlconm,nfor,nmat,nobmod,nbrobl,nbrfac
  12. -INC SMMODEL
  13. pointeur pNomid.NOMID
  14. pointeur pModel.MMODEL
  15. pointeur modele.IMODEL
  16. C write(ioimp,*) 'Entre dans CMEMOD'
  17. if (pModel.ne.0) then
  18. segact pModel
  19. nbInt=1
  20. nbChar=0
  21. nImode=pModel.kmodel(/1)
  22. do iMode=1,nImode
  23. modele=pModel.kmodel(iMode)
  24. segact modele
  25. mn3 = modele.infmod(/1)
  26. nlconm = modele.conmod(/1)
  27. nfor = modele.formod(/2)
  28. nmat = modele.matmod(/2)
  29. nobmod = modele.ivamod(/1)
  30. C write(ioimp,*) 'Taille du modele',mn3, nlconm, nfor,nmat,nObMod
  31. nbInt=nbInt+3+mn3+4+16+nobmod+4
  32. nbChar=nbChar+8+16*(nfor+nmat)+8*nobmod+nlconm
  33. do iNomid=1,14
  34. nbInt=nbInt+2
  35. pNomid = modele.lnomid(iNomid)
  36. C write(ioimp,*) 'nomid',iNomid,'sur 14'
  37. if(pNomid.ne.0) then
  38. segact pNomid
  39. nbrobl=pNomid.lesobl(/2)
  40. nbrfac=pNomid.lesfac(/2)
  41. C write(ioimp,*) 'obl / fac',nbrobl,nbrfac
  42. nbChar=nbChar+8*(nbrobl+nbrfac)
  43. segdes pNomid
  44. endif
  45. enddo
  46.  
  47. segdes modele
  48. enddo
  49. nbFloa=0
  50. segdes pModel
  51. else
  52. nbInt=0
  53. nbFloa=0
  54. nbChar=0
  55. return
  56. endif
  57. C write(ioimp,*) 'Sortie de CMEMOD'
  58. end
  59.  
  60.  
  61.  

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