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