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