Télécharger cneqmg.eso

Retour à la liste

Numérotation des lignes :

  1. C CNEQMG SOURCE AM 16/04/12 21:15:17 8903
  2. SUBROUTINE CNEQMG(IPMAIL,IPMINT,IVAPVE,IVAPNO,MOFOVO,MELE)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * C N E Q M G
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. * CALCUL DU PRODUIT DU POTENTIEL VECTEUR INDUCTEUR
  13. * AVEC LES FONCTIONS DE FORME ROT3 POUR LA
  14. * FORMULATION MAGNETODYNAMIQUE
  15. *
  16. * MODULES UTILISES:
  17. * -----------------
  18. *
  19. -INC CCOPTIO
  20. -INC CCREEL
  21. -INC SMCOORD
  22. -INC SMINTE
  23. -INC CCHAMP
  24. -INC SMMODEL
  25. -INC SMELEME
  26. -INC SMCHAML
  27. *
  28. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  29. * -----------
  30. *
  31. * IPMAIL (E) NUMERO DU MAILLAGE ELEMENTAIRE CONSIDERE (ACTIF E/S)
  32. * IPMINT (E) POINTEUR SUR UN SEGMENT MINTE (ACTIF E/S)
  33. * IVAPVE (E) POINTEUR SUR UN SEGMENT MPTVAL POUR LE POTENTIEL VECTEUR
  34. * IVAPNO (S) POINTEUR SUR UN SEGMENT MPTVAL POUR LE RESULTAT
  35. * +XCOOR (E) VOIR SMCOORD
  36. * +IDIM (E) VOIR CCOPTIO
  37. * +IFOMOD (E) VOIR CCOPTIO
  38. * +XZERO (E) VOIR CCREEL
  39. *
  40. * VARIABLES:
  41. * ----------
  42. *
  43. * NBNN NOMBRE DE NOEUDS DANS L'ELEMENT CONSIDERE
  44. * NEF NUMERO DE L'ELEMENT FINI DANS NOMTP (VOIR CCHAMP)
  45. * NBELEM NOMBRE D'ELEMENTS DANS LE MAILLAGE ELEMENTAIRE
  46. * NBPGAU NOMBRE DE POINTS DE GAUSS DANS L'ELEMENT-FINI
  47. * NDIM NOMBRE DE LIGNES DE LA MATRICE GRADIENT
  48. * XE(3,NBNN) COORDONNEES DE L'ELEMENT DANS LE REPERE GLOBAL
  49. * SHP(6,NBNN) TABLEAU DE TRAVAIL
  50. * VALMAT(NMATR) TABLEAU DE TRAVAIL
  51. *
  52. SEGMENT,MMAT1
  53. REAL*8 VALMAT(NMATR)
  54. REAL*8 XE(3,NBNN),XE1(3,NBNN)
  55. REAL*8 SHP(6,NBNN)
  56. REAL*8 COSD1(3),COSD2(3),GRD3(3,3)
  57. ENDSEGMENT
  58. *
  59. SEGMENT NOTYPE
  60. CHARACTER*16 TYPE(NBTYPE)
  61. ENDSEGMENT
  62. *
  63. SEGMENT MPTVAL
  64. INTEGER IPOS(NS) ,NSOF(NS)
  65. INTEGER IVAL(NCOSOU)
  66. CHARACTER*16 TYVAL(NCOSOU)
  67. ENDSEGMENT
  68. *
  69. CHARACTER*8 CNM
  70. CHARACTER*(NCONCH) CONM
  71. *
  72. * AUTEUR, DATE DE CREATION:
  73. * -------------------------
  74. *
  75. * YANN STEPHAN , AOUT 1997 (COPIE DE ROT3R)
  76. *
  77. * LANGAGE:
  78. * --------
  79. *
  80. * ESOPE + FORTRAN77
  81. *
  82. ************************************************************************
  83. *
  84. * RECUPERATION DES CARACTERISTIQUES GEOMETRIQUES DU MAILLAGE
  85. * ELEMENTAIRE
  86. *
  87. MELEME=IPMAIL
  88. C* SEGACT,MELEME <- Actif en E/S
  89. NBNN=NUM(/1)
  90. NBELEM=NUM(/2)
  91. *
  92. * RECUPERATION DES CARACTERISTIQUES D'INTEGRATION DE L'ELEMENT
  93. * FINI LIE A NOTRE MAILLAGE
  94. *
  95. MINTE=IPMINT
  96. C* SEGACT,MINTE <- Actif en E/S
  97. NBPGAU=POIGAU(/1)
  98. *
  99. * CHANGEMENT DE SUPPORT DU MPTVAL IVAPVE
  100. *
  101. MPTVAL=IVAPVE
  102. NCOMP=IVAL(/1)
  103. *
  104. * on suppose pas de formulation poreux ici
  105. IPPORE=0
  106. *
  107. CALL VALCHE(IVAPVE,NCOMP,IPMINT,IPPORE,MOFOVO,MELE)
  108. *
  109. NDIM=IDIM-1
  110. NFIN=NDIM+1
  111. NMATR=NCOMP
  112. SEGINI,MMAT1
  113. *
  114. * BOUCLE SUR LES ELEMENTS DU MAILLAGE ELEMENTAIRE IMAIL
  115. *
  116. DO 10 IEL=1,NBELEM
  117. *
  118. * MISE A ZERO DU TABLEAU XE1
  119. *
  120. CALL ZERO (XE1,3,NBNN)
  121. *
  122. * ON CHERCHE LES COORDONNEES DES NOEUDS DE L'ELEMENT IEL,
  123. * DANS LE REPERE GLOBAL
  124. *
  125. CALL DOXE(XCOOR,IDIM,NBNN,NUM,IEL,XE)
  126. *
  127. * CALCUL DES COORDONNEES DES NOEUDS DANS LE REPERE LOCAL DE L'
  128. * ELEMENT COQUE
  129. *
  130. CALL COQLOC(NBNN,XE,COSD1,COSD2,XE1)
  131. *
  132. IFOIS=0
  133. IFOI2=0
  134. DO 20 IGAU=1,NBPGAU
  135. *
  136. * CALCUL DE LA MATRCIE GRADIENT DES FONCTIONS DE FORME ET
  137. * DU JACOBIEN(DANS LE PLAN), EN UN POINT DE GAUSS
  138. *
  139. DO 90 NP=1,NBNN
  140. DO 90 I=1,NFIN
  141. SHP(I,NP)=SHPTOT(I,NP,IGAU)
  142. 90 CONTINUE
  143. *
  144. * DERIVES DES FONCTIONS DE FORME DANS LA GEOMETRIE REELLE
  145. * ET LE JACOBIEN
  146. CALL JACOBI(XE1,SHP,NDIM,NBNN,DJAC)
  147. *
  148. IF(DJAC.LT.XZERO)IFOIS=IFOIS+1
  149. IF(ABS(DJAC).LT.XPETIT)IFOI2=IFOI2 +1
  150. *
  151. DO 100 NP=1,NBNN
  152. * ON FAIT TOURNER LE GRADIENT DE -PI/2 DANS LE REPERE LOCAL
  153. * POUR ETRE PARALLELE AU COTE OPPOSE AU SOMMET
  154. XG=SHP(2,NP)
  155. SHP(2,NP)=SHP(3,NP)
  156. C* YG=SHP(3,NP)
  157. C* SHP(2,NP)=YG
  158. SHP(3,NP)=-XG
  159. * RETOUR AU REPERE 3D
  160. r_z1 = SHP(2,NP)
  161. r_z2 = SHP(3,NP)
  162. DO 60 I=1,NFIN
  163. GRD3(I,NP)= r_z1*COSD1(I) + r_z2*COSD2(I)
  164. 60 CONTINUE
  165. 100 CONTINUE
  166. *
  167. * ON MULTIPLIE LE JACOBIEN PAR LE POIDS D'INTEGRATION,POUR LE
  168. * POINT DE GAUSS CONSIDERE
  169. *
  170. DJAC=ABS(DJAC)*POIGAU(IGAU)
  171. *
  172. * ON CHERCHE LES VALEURS DES COMPOSANTES
  173. * DU POTENTIEL VECTEUR
  174. *
  175. MPTVAL=IVAPVE
  176. DO 30 IM=1,NCOMP
  177. IF(IVAL(IM).NE.0)THEN
  178. MELVAL=IVAL(IM)
  179. IBMN=MIN(IEL,VELCHE(/2))
  180. IGMN=MIN(IGAU,VELCHE(/1))
  181. VALMAT(IM)=VELCHE(IGMN,IBMN)
  182. ELSE
  183. VALMAT(IM)=0.
  184. ENDIF
  185. 30 CONTINUE
  186. *
  187. * ON EFFECTUE LE PRODUIT DJAC*TRANSPOSEE(GRAD)*VALMAT
  188. * POUR LE POINT DE GAUSS CONSIDERE (RESULTAT SCALAIRE)
  189. *
  190. MPTVAL=IVAPNO
  191. MELVAL=IVAL(1)
  192. DO 40 IP=1,NBNN
  193. r_z = 0.
  194. DO 41 IM=1,NCOMP
  195. r_z = r_z + GRD3(IM,IP)*VALMAT(IM)
  196. 41 CONTINUE
  197. VELCHE(IP,IEL)=VELCHE(IP,IEL) + DJAC*r_z
  198. 40 CONTINUE
  199. *
  200. 20 CONTINUE
  201. *
  202. * LE JACOBIEN EST NEGATIF ,MAILLAGE INCORRECT
  203. IF(IFOIS.NE.0.AND.IFOIS.NE.NBPGAU)THEN
  204. INTERR(1)=IEL
  205. CALL ERREUR(195)
  206. GO TO 999
  207. *
  208. * CAS OU LE JACOBIEN EST TRES PETIT
  209. ELSEIF(IFOI2.EQ.NBPGAU)THEN
  210. INTERR(1)=IEL
  211. CALL ERREUR (259)
  212. GO TO 999
  213. ENDIF
  214. *
  215. 10 CONTINUE
  216. *
  217. * DESACTIVATION DES SEGMENTS
  218. *
  219. 999 CONTINUE
  220. SEGSUP,MMAT1
  221. SEGDES,MELEME
  222. C* SEGDES,MINTE <- Actif en E/S
  223. *
  224. RETURN
  225. END
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  

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