Download mesmbr.eso

Back to the list

   1 : C MESMBR    SOURCE    MAGN      09/07/30    21:19:22     6458           
   2 :       SUBROUTINE MESMBR(MATRIK,KSMBR,
   3 :      $     KS2B,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : MESMBR
   9 : C DESCRIPTION :
  10 : C     Ce sp initialise le second membre 
  11 : C     (i.e. b de Ax=b) avec un chpoint d'inconnues duales.
  12 : C     On a en vue une méthode itérative de résolution.
  13 : C
  14 : C     Ce sp est quasiment identique à mexini.eso.
  15 : C     C'est une interface à ch2vec.
  16 : C
  17 : C
  18 : C LANGAGE     : ESOPE
  19 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  20 : C               mél : gounand@semt2.smts.cea.fr
  21 : C***********************************************************************
  22 : C APPELE  : CH2VEC
  23 : C***********************************************************************
  24 : C ENTREES            : MATRIK, KSMBR, IMPR
  25 : C ENTREES/SORTIES    : -
  26 : C SORTIES            : IRET
  27 : C CODE RETOUR (IRET) : 0 si ok
  28 : C                     <0 si problème
  29 : C     MATRIK : pointeur sur segment MATRIK de l'include SMMATRIK
  30 : C              on pioche dedans les informations nécessaires
  31 : C              (numérotations, inconnues, support géométriques)
  32 : C              pour effectuer la conversion KSMBR->KS2B.
  33 : C     KSMBR  : pointeur sur segment MCHPOI de l'include SMCHPOI
  34 : C              chpoint d'initialisation du vecteur KS2B
  35 : C     IMPR   : niveau d'impression
  36 : C     KS2B   : pointeur sur segment IZA de l'include SMMATRIK
  37 : C              vecteur b pour la résolution de Ax=b.
  38 : C              Il est initialisé à 0 si KSMBR est nul
  39 : C              sinon les valeurs non nulles de KSMBR 
  40 : C              correspondant à des inconnues primales sont
  41 : C              chargées dans KS2B.
  42 : C              Les valeurs non nulles de KSMBR NE correspondant
  43 : C              PAS à des inconnues primales donnent lieu à
  44 : C              l'émission d'un warning (cf. CH2VEC).
  45 : C***********************************************************************
  46 : C VERSION    : v1, 01/04/98, version initiale
  47 : C HISTORIQUE : v1, 01/04/98, création
  48 : C HISTORIQUE : v1, 09/04/04, remplacer kidmat(1) par kidmat(2)
  49 : C HISTORIQUE :
  50 : C HISTORIQUE :
  51 : C***********************************************************************
  52 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  53 : C en cas de modification de ce sous-programme afin de faciliter
  54 : C la maintenance !
  55 : C***********************************************************************
  56 : -INC CCOPTIO
  57 : -INC SMMATRIK
  58 :       POINTEUR KS2B.IZA
  59 : -INC SMCHPOI
  60 :       POINTEUR KSMBR.MCHPOI
  61 : -INC SMELEME
  62 :       POINTEUR KISPG.MELEME
  63 : C
  64 :       IRET=0
  65 :       SEGACT MATRIK
  66 : C Initialisation du vecteur second membre à 0
  67 :       NBVA=KNTTD
  68 :       SEGINI KS2B
  69 :       IF(KSMBR.NE.0) THEN
  70 : C
  71 : C On transforme le chpoint en vecteur
  72 : C
  73 : C     Entrées
  74 :          MCHPOI=KSMBR
  75 :          MINC  =KMINCD
  76 :          KISPG =KISPGD
  77 :          IDMAT =KIDMAT(2)
  78 : C     Sortie : KS2B
  79 : C
  79 :          CALL CH2VEC(MCHPOI,MINC,KISPG,IDMAT,KS2B,IMPR,IRET)
  80 :          IF (IRET.NE.0) GOTO 9999
  81 : C
  82 :       ENDIF
  83 : C
  84 :       IF (IMPR.GT.5) THEN
  85 :          WRITE(IOIMP,*) 'mesmbr : création du pointeur KS2B=',KS2B
  86 :          WRITE(IOIMP,*) '         a partir du CHPOINT KSMBR=',KSMBR
  87 :          IF (IMPR.GT.7) THEN
  88 :             WRITE(IOIMP,*) 'KS2B(1..',NBVA,')= '
  89 :             WRITE(IOIMP,1002)(KS2B.A(II),II=1,NBVA)
  90 :          ENDIF
  91 :       ENDIF
  92 : C
  93 :       SEGDES KS2B
  94 :       SEGDES MATRIK
  95 : *
  96 : *     Normal termination
  97 : *
  98 :       RETURN
  99 : *
 100 : * Format handling
 101 : *
 102 :  1002 FORMAT(10(1X,1PE11.4))
 103 : *
 104 : * Error handling
 105 : *
 106 :  9999 CONTINUE
 107 :       WRITE(IOIMP,*) 'An error was detected in mesmbr.eso'
 108 :       RETURN
 109 : *
 110 : * End of MESMBR
 111 : *
 112 :       END
 113 :  
 114 :  
 115 :  
 116 :  
 117 :  
 118 :  

© Cast3M 2003 - All rights reserved.
Disclaimer