Télécharger prform.eso

Retour à la liste

Numérotation des lignes :

prform
  1. C PRFORM SOURCE OF166741 24/10/03 21:15:37 12022
  2.  
  3. subroutine prform
  4.  
  5. implicit real*8(a-h,o-z)
  6. implicit integer(i-n)
  7.  
  8. -INC PPARAM
  9. -INC CCOPTIO
  10.  
  11. -INC SMMODEL
  12. -INC SMCHAML
  13. -INC SMCOORD
  14.  
  15. segment itrav(nmod)
  16.  
  17. call LIROBJ('MMODEL ',mmodel,1,iretou)
  18. CALL ACTOBJ('MMODEL ',mmodel,1)
  19. if(ierr.ne.0) return
  20. call LIROBJ('MCHAML ',mchel1,1,iretou)
  21. CALL ACTOBJ('MCHAML ',mchel1,1)
  22. if(ierr.ne.0) return
  23.  
  24. call reduaf ( mchel1,mmodel,mchel2,1,iretr,kerre)
  25. if( iretr.ne.1) then
  26. call erreur (kerre)
  27. return
  28. endif
  29.  
  30. segact mcoord
  31.  
  32. nmod=kmodel(/1)
  33. segini itrav
  34.  
  35. iresu=0
  36. do io=1,nmod
  37. if(itrav(io).eq.0) then
  38. n1=nmod
  39. imodel=kmodel(io)
  40. itrav(io)=1
  41. segini mmode2
  42. ia=1
  43. mmode2.kmodel(ia)=imodel
  44. do 1 iy=io+1,kmodel(/1)
  45. if(itrav(iy).ne.0) go to 1
  46. imode2=kmodel(iy)
  47. if(conmod.eq.imode2.conmod) then
  48. itrav(iy)=1
  49. ia=ia+1
  50. mmode2.kmodel(ia)=imode2
  51. endif
  52. 1 continue
  53. n1=ia
  54. if( n1.ne.mmode2.kmodel(/1)) segadj mmode2
  55. call fform1(mmode2,mchel2,ifact)
  56. if(iresu.eq.0) then
  57. iresu=ifact
  58. else
  59. call fuschl(iresu,ifact,ires)
  60. iresu=ires
  61. endif
  62. segsup mmode2
  63. endif
  64. enddo
  65. segsup itrav
  66.  
  67. if( iresu.ne.0) then
  68. call ACTOBJ('MCHAML ',iresu,1)
  69. call ECROBJ('MCHAML ',iresu)
  70. endif
  71.  
  72. end
  73.  
  74.  
  75.  

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