Télécharger dfour2.eso

Retour à la liste

Numérotation des lignes :

  1. C DFOUR2 SOURCE PV 09/03/12 21:19:18 6325
  2. SUBROUTINE DFOUR2(IPCHE1,ANGL,IPCHE2)
  3.  
  4. C====================================================================
  5. C
  6. C ENTREES
  7. C IPCHE1 = CHAMELEM DE TYPE CONTRAINTES OU DEFORMATIONS
  8. C ANGL = ANGLE
  9. C SORTIES
  10. C IPCHE2 = SI SUCCES , POINTEUR SUR UN MCHAML
  11. C 0 SINON
  12. C
  13. C J BROCHARD MARS 87
  14. C NOUVEAUX CHAMELEMS P DOWLATYARI SEP 91
  15. C=====================================================================
  16. IMPLICIT INTEGER(I-N)
  17. IMPLICIT REAL*8(A-H,O-Z)
  18. -INC CCOPTIO
  19. -INC SMCHAML
  20. -INC CCREEL
  21. CHARACTER*4 NOMCOM
  22.  
  23. C
  24. ANGL=(ANGL*XPI)/180.D0
  25. C
  26. C-------ON VERIFIE QUE IFOCHE EST BIEN EGAL A 1
  27. C
  28. MCHEL1=IPCHE1
  29. SEGACT MCHEL1
  30. IF(MCHEL1.IFOCHE.NE.1)THEN
  31. MOTERR(1:8)='DFOURIER'
  32. CALL ERREUR(333)
  33. SEGDES MCHEL1
  34. RETURN
  35. ENDIF
  36. C
  37. C ON VERIFIE QUE LE CHAMP/ELEMENT EST BIEN DE TYPE CONTRAINTE OU
  38. C DEFORMATION
  39. C
  40. IF(MCHEL1.TITCHE.EQ.'CONTRAINTES')THEN
  41. ITYPE=1
  42. L1=11
  43. ELSEIF(MCHEL1.TITCHE.EQ.'DEFORMATIONS')THEN
  44. ITYPE=2
  45. L1=12
  46. ELSE
  47. MOTERR(1:8)='DFOURIER'
  48. CALL ERREUR(334)
  49. SEGDES MCHEL1
  50. RETURN
  51. ENDIF
  52. C
  53. N1=MCHEL1.INFCHE(/1)
  54. N3=MCHEL1.INFCHE(/2)
  55. SEGINI MCHELM
  56. IPCHE2=MCHELM
  57. TITCHE=MCHEL1.TITCHE
  58. IFOCHE=1
  59. NSOUS=N1
  60. C
  61. C BOUCLE SUR LES SOUS-ZONES
  62. C
  63. DO 500 ISOUS=1,NSOUS
  64. C
  65. CONCHE(ISOUS)=MCHEL1.CONCHE(ISOUS)
  66. IMACHE(ISOUS)=MCHEL1.IMACHE(ISOUS)
  67. DO 10 IN=1,N3
  68. INFCHE(ISOUS,IN)=MCHEL1.INFCHE(ISOUS,IN)
  69. 10 CONTINUE
  70. C
  71. C ON MET NUMERO DE l'HARMONIQUE A ZERO POUR ADDITIONS FUTURS
  72. C
  73. NHRM=INFCHE(ISOUS,3)
  74. INFCHE(ISOUS,3)=0
  75. C
  76. COSNT=COS(NHRM*ANGL)
  77. SINNT=SIN(NHRM*ANGL)
  78. IF(NHRM.LT.0) THEN
  79. CNT=SINNT
  80. SINNT=COSNT
  81. COSNT=CNT
  82. ENDIF
  83. C
  84. C CREATION DU MCHAML DE LA SOUS-ZONE
  85. C
  86. MCHAM1=MCHEL1.ICHAML(ISOUS)
  87. SEGACT MCHAM1
  88. N2=MCHAM1.IELVAL(/1)
  89. SEGINI MCHAML
  90. ICHAML(ISOUS)=MCHAML
  91. DO 100 ICOMP=1,N2
  92. C
  93. MELVA1=MCHAM1.IELVAL(ICOMP)
  94. SEGACT MELVA1
  95. NBPTEL=MELVA1.VELCHE(/1)
  96. NEL=MELVA1.VELCHE(/2)
  97. NOMCOM=MCHAM1.NOMCHE(ICOMP)
  98. C
  99. IF(NOMCOM.EQ.'SMRR'.OR.NOMCOM.EQ.'SMZZ'.OR.
  100. 1 NOMCOM.EQ.'SMTT'.OR.NOMCOM.EQ.'SMRZ'.OR.
  101. 2 NOMCOM.EQ. 'N11'.OR.NOMCOM.EQ. 'N22'.OR.
  102. 3 NOMCOM.EQ. 'M11'.OR.NOMCOM.EQ. 'M22'.OR.
  103. 4 NOMCOM.EQ.'EPRR'.OR.NOMCOM.EQ.'EPZZ'.OR.
  104. 5 NOMCOM.EQ.'EPTT'.OR.NOMCOM.EQ.'GARZ'.OR.
  105. 6 NOMCOM.EQ.'EPSS'.OR.NOMCOM.EQ.'RTSS'.OR.
  106. 7 NOMCOM.EQ.'RTTT')THEN
  107. C
  108. NOMCHE(ICOMP)=NOMCOM
  109. TYPCHE(ICOMP)='REAL*8'
  110. N1PTEL=NBPTEL
  111. N1EL=NEL
  112. N2PTEL=0
  113. N2EL=0
  114. SEGINI MELVAL
  115. IELVAL(ICOMP)=MELVAL
  116. DO 110 IB=1,NEL
  117. DO 110 IGAU=1,NBPTEL
  118. VELCHE(IGAU,IB)=MELVA1.VELCHE(IGAU,IB)*COSNT
  119. 110 CONTINUE
  120. SEGDES MELVAL,MELVA1
  121. C
  122. ELSEIF(NOMCOM.EQ.'SMRT'.OR.NOMCOM.EQ.'SMZT'.OR.
  123. 1 NOMCOM.EQ. 'N12'.OR.NOMCOM.EQ. 'M12'.OR.
  124. 2 NOMCOM.EQ.'GART'.OR.NOMCOM.EQ.'GAZT'.OR.
  125. 3 NOMCOM.EQ.'GAST'.OR.NOMCOM.EQ.'RTST')THEN
  126. C
  127. NOMCHE(ICOMP)=NOMCOM
  128. TYPCHE(ICOMP)='REAL*8'
  129. N1PTEL=NBPTEL
  130. N1EL=NEL
  131. N2PTEL=0
  132. N2EL=0
  133. SEGINI MELVAL
  134. IELVAL(ICOMP)=MELVAL
  135. DO 120 IB=1,NEL
  136. DO 120 IGAU=1,NBPTEL
  137. VELCHE(IGAU,IB)=MELVA1.VELCHE(IGAU,IB)*SINNT
  138. 120 CONTINUE
  139. SEGDES MELVAL,MELVA1
  140. C
  141. ELSE
  142. MOTERR(1:4)='DFOU'
  143. MOTERR(5:8)=NOMCOM
  144. CALL ERREUR(335)
  145. SEGSUP MCHAML,MCHELM
  146. SEGDES MELVA1
  147. SEGDES MCHAM1,MCHEL1
  148. RETURN
  149. ENDIF
  150. C
  151. 100 CONTINUE
  152. SEGDES MCHAML,MCHAM1
  153. C
  154. 500 CONTINUE
  155. SEGDES MCHEL1,MCHELM
  156. RETURN
  157. END
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  

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