Télécharger blofai.eso

Retour à la liste

Numérotation des lignes :

blofai
  1. C BLOFAI SOURCE PV090527 26/09/17 21:15:04 12649
  2. SUBROUTINE BLOFAI(MELEME,MLMOT1,MCHPO1)
  3. C----------------------------------------------------------------------
  4. C Definir une condition aux limites de maniere faible
  5. C
  6. C Entrees :
  7. C ---------
  8. C MELEME : pointeur MELEME sur le maillage support du blocage
  9. C MLMOT1 : pointeur MLMOTS contenant les noms de composantes concernees
  10. C
  11. C Sortie :
  12. C ---------
  13. C MCHPO1 : pointeur CHPOINT contenant les coefficients a considerer
  14. C pour la relation.
  15. C----------------------------------------------------------------------
  16. IMPLICIT INTEGER(I-N)
  17. IMPLICIT REAL*8 (A-H,O-Z)
  18. C
  19. -INC PPARAM
  20. -INC CCOPTIO
  21. -INC SMCOORD
  22. -INC CCGEOME
  23. -INC CCHAMP
  24. -INC SMELEME
  25. -INC SMLMOTS
  26. -INC SMCHAML
  27. C
  28. MCHPO1=0
  29. C
  30. N1PTEL=1
  31. N1EL=1
  32. N2PTEL=0
  33. N2EL=0
  34. SEGINI,MELVA1
  35. MELVA1.VELCHE(1,1)=1
  36. C
  37. N2=MLMOT1.MOTS(/2)
  38. SEGINI,MCHAM2
  39. DO IC=1,N2
  40. MCHAM2.NOMCHE(IC)=MLMOT1.MOTS(IC)
  41. MCHAM2.TYPCHE(IC)='REAL*8'
  42. ENDDO
  43. C
  44. L1=7
  45. N1=1
  46. N3=6
  47. SEGINI,MCHEL2
  48. MCHEL2.TITCHE=' '
  49. MCHEL2.CONCHE(1)= ' '
  50. MCHEL2.ICHAML(1)=MCHAM2
  51. MCHEL2.INFCHE(1,3)=NIFOUR
  52. MCHEL2.INFCHE(1,4)=0
  53. MCHEL2.INFCHE(1,6)=1
  54. MCHEL2.IFOCHE=IFOUR
  55. C
  56. NBMAI0=LISOUS(/1)
  57. NBMAI=NBMAI0
  58. IF (NBMAI0.EQ.0) NBMAI=1
  59. IPT1=MELEME
  60. C
  61. C Verification du type d'element
  62. DO IMAI=1,NBMAI
  63. C
  64. IF (NBMAI0.NE.0) IPT1=LISOUS(IMAI)
  65. C
  66. MCHEL2.IMACHE(1)=IPT1
  67. C
  68. CALL PLACE(NOMTP,LNOMTP,MELE,NOMS(IPT1.ITYPEL))
  69. IF (MELE.EQ.0) THEN
  70. CALL ERREUR(16)
  71. GOTO 1000
  72. ENDIF
  73. NLG=NUMGEO(MELE)
  74. CALL TSHAPE(NLG,'GAUSS',IPINTE)
  75. C
  76. IF (NLG.EQ.1) THEN
  77. CALL INTCN0(MELVA1,MELVA1,IPT1,IPINTE,IPCHEQ)
  78. ELSE IF (NLG.EQ.2.OR.NLG.EQ.3) THEN
  79. CALL INTCN1(MELVA1,MELVA1,IPT1,IPINTE,IPCHEQ)
  80. ELSE IF (NLG.EQ.4.OR.NLG.EQ.6.OR.NLG.EQ.8.OR.NLG.EQ.10) THEN
  81. CALL INTCN2(MELVA1,MELVA1,IPT1,IPINTE,IPCHEQ)
  82. ELSE
  83. MOTERR(1:4)=NOMS(IPT1.ITYPEL)
  84. MOTERR(5:12)='BLOFAI'
  85. CALL ERREUR(86)
  86. GOTO 1000
  87. ENDIF
  88. C
  89. DO IC=1,N2
  90. MCHAM2.IELVAL(IC)=IPCHEQ
  91. ENDDO
  92. C
  93. CALL CHAMPO(MCHEL2,0,MCHPO2,idum)
  94. IF (IERR.NE.0) GOTO 1000
  95. C
  96. IF (MCHPO1.NE.0) THEN
  97. CALL ADCHPO(MCHPO1,MCHPO2,IPCRET,1.D0,1.D0)
  98. CALL DTCHPO(MCHPO1)
  99. CALL DTCHPO(MCHPO2)
  100. MCHPO1=IPCRET
  101. ELSE
  102. MCHPO1=MCHPO2
  103. ENDIF
  104. C
  105. ENDDO
  106. C
  107. 1000 CONTINUE
  108. SEGSUP,MELVA1,MCHAM2,MCHEL2
  109. END
  110.  
  111.  
  112.  
  113.  

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