Télécharger jpmagv.eso

Retour à la liste

Numérotation des lignes :

jpmagv
  1. C JPMAGV SOURCE MB234859 25/09/08 21:15:43 12358
  2. SUBROUTINE JPMAGV
  3.  
  4. * ---------------------------------------------------------------------
  5. *
  6. * ROUTINE JPMAGV
  7. *
  8. * ---------------------------------------------------------------------
  9. * Auteur : Nikola JERANCE
  10. *
  11. * Historique :
  12. *
  13. * 20/09/2022 - Première écriture (N. Jerance)
  14. *
  15. *
  16. * Descriptif :
  17. *
  18. * Le potentiel magnétique vecteur est calculé à partir de J(x,y)
  19. * et la matrice obtenue par MPMAGV. Le potentiel est en 3D.
  20. *
  21. *
  22. *
  23. * ENTREES/SORTIES :
  24. *
  25. * (E) ILREE1 = Pointeur sur la liste de réels (matrice obtenue par MPMA)
  26. * (E) ICHAMJ = Pointeur sur J(x,y) en tant que MCHAML
  27. * (E) IMOD1 = Pointeur sur le modèle
  28. * (S) ICHAMA = Pointeur sur A(x,y) au milieu de l'épaisseur, MCHAML
  29. *
  30. * ---------------------------------------------------------------------
  31.  
  32. * ----------------------------------------------------------------------
  33. *
  34. * 0 - DECLARATIONS ET IMPORTS
  35. *
  36. * ----------------------------------------------------------------------
  37.  
  38. IMPLICIT INTEGER(I-N)
  39. IMPLICIT REAL*8(A-H,O-Z)
  40.  
  41. -INC PPARAM
  42. -INC CCOPTIO
  43. -INC CCGEOME
  44. -INC CCREEL
  45. -INC SMCOORD
  46. -INC SMELEME
  47. -INC SMLREEL
  48. -INC SMCHAML
  49. -INC SMMODEL
  50. -INC SMINTE
  51.  
  52. * WRITE(IOIMP,*) ' PARTIE 00 : LECTURE'
  53.  
  54. CALL LIROBJ('MCHAML',ICHAMJ,1,IRETOU)
  55.  
  56. IF (IERR.NE.0) RETURN
  57.  
  58. CALL LIROBJ('MMODEL',IPMODL,1,IRETOU)
  59.  
  60. IF (IERR.NE.0) RETURN
  61.  
  62. * Ouverture du segment MMODEL
  63. MMODE1 = IPMODL
  64. SEGACT,MMODE1
  65.  
  66. * Contrôle du nombre de IMODEL : MODELE ELEMENTAIRE. On veut un modèle
  67. * simple, i.e. avec un seul IMODEL
  68. NBMOD = MMODE1.KMODEL(/1)
  69. IF (NBMOD .GT. 1) THEN
  70. SEGDES,MMODE1
  71. CALL ERREUR(21)
  72. RETURN
  73. ENDIF
  74.  
  75. * Ouverture du segment IMODEL : MODELE ELEMENTAIRE
  76. IMODE1 = MMODE1.KMODEL(1)
  77. SEGACT,IMODE1
  78.  
  79. * Ouverture du segment MELEME
  80. IPT1 = IMODE1.IMAMOD
  81. SEGACT,IPT1
  82.  
  83. NBELEM = IPT1.NUM(/2)
  84.  
  85. * Récupération du segment SMINTE pour un MCHAML aux centres de
  86. * gravité et constants par éléments sur le type TRI3
  87. MINTE1 = IMODE1.INFMOD(4)
  88. SEGACT,MINTE1
  89.  
  90. CALL LIROBJ('LISTREEL',ILREE,1,IRETOU)
  91.  
  92. IF (IERR.NE.0) RETURN
  93.  
  94. ICHAMA = 0
  95.  
  96. CALL JPMAG1(ILREE,ICHAMJ,ICHAMA,IMODE1,MINTE1,NBELEM)
  97.  
  98. * On calcule les valeurs du champ par élément
  99. * WRITE(IOIMP,*) ' PARTIE FF : ECRITURE'
  100.  
  101. CALL ECROBJ('MCHAML',ICHAMA)
  102. END
  103.  
  104.  

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