Télécharger medper.eso

Retour à la liste

Numérotation des lignes :

  1. C MEDPER SOURCE CB215821 19/03/18 21:15:35 10161
  2.  
  3. subroutine medper(ITYPEL, NBNN, IPERM)
  4.  
  5. implicit real*8(a-h,o-z)
  6. implicit integer (i-n)
  7.  
  8. C ----------------------------------------------------------------------
  9. C Rempli IPERM avec la permutation a appliquer (sauf NOEUD 1)
  10. C ----------------------------------------------------------------------
  11.  
  12.  
  13. -INC PPARAM
  14. -INC CCOPTIO
  15. -INC CCGEOME
  16.  
  17. C Permutation des noeuds MED <-> Cast3M
  18. SEGMENT IPERM(NBNN-1)
  19.  
  20. C Définition du tableau des permutations
  21. dimension iper(80)
  22. data iper/3,5,2,4,6 ,3,5,7,2,4,6,8,
  23. & 3,5,7,13,15,17,19,2,4,6,8,14,16,18,20,9,10,11,12,
  24. & 3,5,10,12,14,2,4,6,11,13,15,7,8,9,
  25. & 3,5,10,2,4,6,7,8,9,
  26. & 3,5,2,4,6,7, 3,5,7,2,4,6,8,9,
  27. & 3,5,7,13,2,4,6,8,9,10,11,12/
  28.  
  29. IPERM = 0
  30.  
  31. C Cas des éléments de degré différent de 3
  32. if(kdegre(itypel).ne.3) return
  33.  
  34. ipo=-1
  35.  
  36. if (itypel.eq. 6) then
  37. C Cas des TRI6
  38. ipo=0
  39. elseif(itypel.eq.10) then
  40. C Cas des QUA8
  41. ipo=5
  42. elseif(itypel.eq.15) then
  43. C Cas des CU20
  44. ipo=12
  45. elseif(itypel.eq.17) then
  46. C Cas des PR15
  47. ipo=31
  48. elseif(itypel.eq.24) then
  49. C Cas des TE10
  50. ipo=45
  51. elseif(itypel.eq.7 ) then
  52. C Cas des TRI7
  53. ipo=54
  54. elseif(itypel.eq.11) then
  55. C Cas des QUA9
  56. ipo=60
  57. elseif(itypel.eq.26) then
  58. C Cas des PY13
  59. ipo=68
  60. endif
  61.  
  62. C Certains éléments n'ont pas besoin de modification de connectivité
  63. if(ipo.eq.-1) return
  64.  
  65. SEGINI,IPERM
  66. DO ia=1,NBNN-1
  67. IPERM(ia)=iper(ipo+ia)
  68. ENDDO
  69.  
  70. end
  71.  
  72.  

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