Télécharger mocon2.eso

Retour à la liste

Numérotation des lignes :

mocon2
  1. C MOCON2 SOURCE PV090527 23/05/09 21:15:04 11666
  2. C Mise en forme du maillage des conditions de dirichlet
  3. C conversion du maillage en les elements support des conditions avec creation des mult lagrange
  4.  
  5. SUBROUTINE MOCON2(MELEME,ipt7)
  6. *
  7.  
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL*8 (A-H,O-Z)
  10.  
  11.  
  12. -INC PPARAM
  13. -INC CCOPTIO
  14. -INC SMCOORD
  15. -INC SMELEME
  16. segment icpr(nbpts)
  17.  
  18.  
  19. * decompte des noeuds
  20. segini icpr
  21. segact meleme
  22. ipt1=meleme
  23. np=0
  24. do is=1,max(1,lisous(/1))
  25. if (lisous(/1).ne.0) ipt1=lisous(is)
  26. segact ipt1
  27. do iel=1,ipt1.num(/2)
  28. do ip=1,ipt1.num(/1)
  29. ipt=ipt1.num(ip,iel)
  30. if(icpr(ipt).eq.0) then
  31. np=np+1
  32. icpr(ipt)=np
  33. endif
  34. enddo
  35. enddo
  36. enddo
  37. * creation maillage support, mults
  38. ** write(6,*) ' mocon2 nombre d elements',np
  39. nbnn=2
  40. nbelem=np
  41. nbsous=0
  42. nbref=0
  43. segini ipt7
  44. ipt7.itypel=22
  45. nbptso=nbpts
  46. nbpts=nbptso+np
  47. segadj mcoord
  48. do ipt=1,icpr(/1)
  49. if (icpr(ipt).ne.0) then
  50. lag1=nbptso+icpr(ipt)
  51. xcoor((lag1-1)*(idim+1)+1)=xcoor((i-1)*(idim+1)+1)
  52. xcoor((lag1-1)*(idim+1)+2)=xcoor((i-1)*(idim+1)+2)
  53. xcoor((lag1-1)*(idim+1)+3)=xcoor((i-1)*(idim+1)+3)
  54. if (idim.eq.3)
  55. > xcoor((lag1-1)*(idim+1)+4)=xcoor((i-1)*(idim+1)+4)
  56. ipt7.num(1,icpr(ipt))=lag1
  57. ipt7.num(2,icpr(ipt))=ipt
  58. ** write(6,*) 'pt lagrange ',ipt,icpr(ipt),lag1
  59. endif
  60. enddo
  61.  
  62. end
  63.  
  64.  

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