Télécharger prchl2.eso

Retour à la liste

Numérotation des lignes :

  1. C PRCHL2 SOURCE PASCAL 17/07/27 21:15:26 9514
  2. C
  3. C-----------------------------------------------------------------------
  4. C Sous-programme de l'operateur PRESSION :
  5. C
  6. C IPCHE2 = PRES IPMOD1 MOT1 VAL1 (MAIL1) ;
  7. C
  8. C En entree :
  9. C -----------
  10. C IPMOD1 : MMODEL de CHARGEMENT PRESSION, deja reduit sur MAIL1
  11. C MOT1 : MOT, nom de la composante de pression
  12. C XP : FLOTTANT, valeur de la pression
  13. C
  14. C En sortie :
  15. C -----------
  16. C IPCHE1 : contient le MCHAML de pression resultat / 0 si echec
  17. C
  18. C-----------------------------------------------------------------------
  19. SUBROUTINE PRCHL2(IPMOD1,MOT1,XP,IPCHE1)
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8 (A-H,O-Z)
  23.  
  24. CHARACTER*4 MOT1
  25.  
  26.  
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. -INC SMCHAML
  30. -INC SMMODEL
  31. C
  32. IPCHE2=0
  33. C
  34. C Initialisation du MCHAML :
  35. MMODEL=IPMOD1
  36. SEGACT,MMODEL
  37. N1 = MMODEL.KMODEL(/1)
  38. N3 = 6
  39. L1 = 11
  40. SEGINI,MCHEL1
  41. MCHEL1.TITCHE='CONTRAINTES'
  42. MCHEL1.IFOCHE=IFOUR
  43. C
  44. C Boucle sur les sous-zones
  45. DO I=1,N1
  46. IMODEL=MMODEL.KMODEL(I)
  47. SEGACT,IMODEL
  48. C
  49. C On verifie que MOT1 est un nom de composante de contrainte
  50. NOMID=IMODEL.LNOMID(4)
  51. SEGACT,NOMID
  52. NCOMP=NOMID.LESOBL(/2)
  53. DO J=1,NCOMP
  54. IF (MOT1(1:4).EQ.NOMID.LESOBL(J)(1:4)) THEN
  55. GOTO 10
  56. ENDIF
  57. ENDDO
  58. C Pas de composante de nom MOT1 : on sort !
  59. MOTERR(1:4)=MOT1(1:4)
  60. CALL ERREUR(197)
  61. GOTO 999
  62. C
  63. 10 CONTINUE
  64. C
  65. C On remplit MCHEL1
  66. MCHEL1.CONCHE(I)=IMODEL.CONMOD(1:24)
  67. MCHEL1.IMACHE(I)=IMODEL.IMAMOD
  68. MCHEL1.INFCHE(I,1)=0
  69. MCHEL1.INFCHE(I,2)=0
  70. MCHEL1.INFCHE(I,3)=NIFOUR
  71. MCHEL1.INFCHE(I,4)=IMODEL.INFMOD(7)
  72. MCHEL1.INFCHE(I,5)=0
  73. MCHEL1.INFCHE(I,6)=5
  74. C
  75. C Definition du ICHAML
  76. N2 = 1
  77. SEGINI,MCHAM1
  78. MCHEL1.ICHAML(I)=MCHAM1
  79. MCHAM1.NOMCHE=MOT1(1:4)//' '
  80. MCHAM1.TYPCHE='REAL*8'
  81. C
  82. C et du MELVAL
  83. N1PTEL = 1
  84. N1EL = 1
  85. N2PTEL = 0
  86. N2EL = 0
  87. SEGINI,MELVAL
  88. MELVAL.VELCHE(1,1)=XP
  89. MCHAM1.IELVAL=MELVAL
  90. C
  91. SEGDES,MELVAL,MCHAM1
  92. ENDDO
  93. C
  94. IPCHE1=MCHEL1
  95. C
  96. 999 SEGDES,MCHEL1
  97. C
  98. RETURN
  99. END
  100.  
  101.  
  102.  

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