Download vec2ch.eso

Back to the list

   1 : C VEC2CH    SOURCE    MAGN      09/07/30    21:21:06     6458           
   2 :       SUBROUTINE VEC2CH(KVEC,MINC,KISPG,IDMAT,MCHTOT,IMPR,IRET)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C***********************************************************************
   6 : C NOM         : VEC2CH
   7 : C DESCRIPTION :
   8 : C
   9 : C     
  10 : C     Ce sp transforme un vecteur (KVEC pointeur de type IZA)
  11 : C     en chpoint (MCHTOT). L'ordonnancement des inconnues est
  12 : C     donné par MINC, les points concernés par KISPG et IDMAT
  13 : C     donne le passage num. nouvelle -> num. ancienne (NUNA)
  14 : C
  15 : C     Son alter ego est ch2vec.
  16 : C     
  17 : C LANGAGE     : ESOPE
  18 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  19 : C               mél : gounand@semt2.smts.cea.fr
  20 : C***********************************************************************
  21 : C APPELES  : -
  22 : C***********************************************************************
  23 : C ENTREES            : KVEC, MINC, KISPG, IDMAT, IMPR
  24 : C ENTREES/SORTIES    : -
  25 : C SORTIES            : MCHTOT, IRET
  26 : C CODE RETOUR (IRET) : 0 si ok
  27 : C                     -1 si problème sur les inconnues
  28 : C     KVEC   : pointeur sur segment IZA de l'include SMMATRIK
  29 : C              contient le vecteur des inconnues à transformer.
  30 : C     MINC   : pointeur sur segment MINC de l'include SMMATRIK
  31 : C              décrit l'ordonnancement des inconnues dans une
  32 : C              certaine numérotation (dite "nouvelle").
  33 : C     KISPG  : pointeur sur segment MELEME de l'include SMELEME
  34 : C              support géométrique des inconnues.
  35 : C     IDMAT  : pointeur sur segment IDMAT de l'include SMMATRIK
  36 : C              contient le tableau NUNA permettant de faire
  37 : C              le passage numérotation "nouvelle" -> num. ancienne.
  38 : C     IMPR   : niveau d'impression
  39 : C     MCHTOT : pointeur sur segment MCHPOI de l'include SMCHPOI
  40 : C              chpoint correspondant au vecteur KVEC.
  41 : C
  42 : C***********************************************************************
  43 : C VERSION    : v3, 20/10/06
  44 : C HISTORIQUE : v1, 01/04/98, création
  44 : 
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 6 in C:\xampp\htdocs\cast3m_kit_local_fr_en_2014\sources.php on line 147
45 : C et plus avec un NSOUPO par inconnue. 46 : C HISTORIQUE : v2; 01/12/99, nouvelle signification de NUAN 47 : C (renumérotation des ddl et non pas des points) et mise au propre 48 : C (appel de adchpo à la place de prfuse et suppression des objets 49 : C temporaires) 50 : C HISTORIQUE : v3, 20/10/06, utilisation de TMTRAV et CRECHP (plus 51 : C rapide et moins buggé) 52 : C 53 : C 54 : C HISTORIQUE : 55 : C*********************************************************************** 56 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 57 : C en cas de modification de ce sous-programme afin de faciliter 58 : C la maintenance ! 59 : C*********************************************************************** 60 : -INC CCOPTIO 61 : -INC SMMATRIK 62 : POINTEUR KVEC.IZA 63 : -INC TMTRAV 64 : POINTEUR ITRAV.MTRAV 65 : -INC SMCHPOI 66 : POINTEUR MCHTOT.MCHPOI 67 : -INC SMELEME 68 : POINTEUR KISPG.MELEME 69 : CHARACTER*8 NOMINC 70 : C 71 : * 72 : * Executable statements 73 : * 74 : IF (IMPR.GT.5) WRITE(IOIMP,*) 'Entrée dans vec2ch.eso' 75 : C 76 : IF (IMPR.GT.6) THEN 77 : WRITE(IOIMP,*) ' vec2ch : entrées ' 78 : WRITE(IOIMP,*) ' KVEC = ',KVEC 79 : WRITE(IOIMP,*) ' MINC = ',MINC 80 : WRITE(IOIMP,*) ' KISPG = ',KISPG 81 : WRITE(IOIMP,*) ' IDMAT = ',IDMAT 82 : ENDIF 83 : C 84 : SEGACT KVEC 85 : SEGACT MINC 86 : NNIN=LISINC(/2) 87 : NNNOE=NPOS(/1)-1 88 : SEGACT KISPG 89 : SEGACT IDMAT 90 : * 91 : SEGINI ITRAV 92 : DO ININ=1,NNIN 93 : ITRAV.INCO(ININ)=LISINC(ININ)(1:4) 94 : DO INNOE=1,NNNOE 95 : ITRAV.IGEO(INNOE)=KISPG.NUM(1,INNOE) 96 : IF (MPOS(INNOE,ININ).NE.0) THEN 97 : ITRAV.IBIN(ININ,INNOE)=1 98 : ITRAV.BB(ININ,INNOE)= 99 : $ KVEC.A(NUAN(NPOS(INNOE)+ 100 : $ MPOS(INNOE,ININ)-1)) 101 : ENDIF 102 : ENDDO 103 : ENDDO 104 : * 104 : CALL CRECHP(ITRAV,MCHTOT) 105 : * 106 : SEGSUP ITRAV 107 : SEGACT MCHTOT*MOD 108 : MCHTOT.JATTRI(1)=2 109 : MCHTOT.MTYPOI='SOLUTION' 110 : MCHTOT.MOCHDE=TITREE 111 : IF (IMPR.GT.6) THEN 112 : WRITE(IOIMP,*) 'On a créé le chpo. MCHTOT=',MCHTOT 113 : ENDIF 114 : SEGDES MCHTOT 115 : SEGDES IDMAT 116 : SEGDES KISPG 117 : SEGDES MINC 118 : SEGDES KVEC 119 : * 120 : * Terminaison normale 121 : * 122 : IRET=0 123 : RETURN 124 : * 125 : * Gestion des erreurs 126 : * 127 : 9999 CONTINUE 128 : WRITE(IOIMP,*) 'An error was detected in vec2ch.eso' 129 : RETURN 130 : * 131 : * Fin de VEC2CH 132 : * 133 : END 134 : 135 : 136 : 137 : 138 : 139 : 140 : 141 : 142 :

© Cast3M 2003 - All rights reserved.
Disclaimer