1 : * DEADRESI PROCEDUR GOUNAND 07/07/05 21:15:21 5784 2 : ************************************************************************ 3 : * NOM : DEADRESI 4 : * DESCRIPTION : Le résidu à annuler (Huang) 5 : * 6 : * 7 : * 8 : * LANGAGE : GIBIANE-CAST3M 9 : * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) 10 : * mél : gounand@semt2.smts.cea.fr 11 : ********************************************************************** 12 : * VERSION : v1, 30/04/2007, version initiale 13 : * HISTORIQUE : v1, 30/04/2007, création 14 : * HISTORIQUE : 15 : * HISTORIQUE : 16 : ************************************************************************ 17 : * Prière de PRENDRE LE TEMPS de compléter les commentaires 18 : * en cas de modification de ce sous-programme afin de faciliter 19 : * la maintenance ! 20 : ************************************************************************ 21 : * 22 : * 23 : 'DEBPROC' DEADRESI ; 24 : 'ARGUMENT' _mt*'MAILLAGE' ; 25 : 'ARGUMENT' gdisc*'MOT' ; 26 : 'ARGUMENT' methgau*'MOT' ; 27 : 'ARGUMENT' theta*'FLOTTANT' ; 28 : 'ARGUMENT' gamma*'FLOTTANT' ; 29 : 'ARGUMENT' dpdua*'LISTMOTS' ; 30 : * 31 : dpdis = gdisc ; 32 : * 33 : idim = 'VALEUR' 'DIME' ; 34 : vdim = DEADUTIL 'DIMM' _mt ; 35 : * 36 : 'ARGUMENT' met/'CHPOINT' ; 37 : lmet = 'EXISTE' met ; 38 : 'SI' lmet ; 39 : 'ARGUMENT' metdisc*'MOT' ; 40 : 'SINON' ; 41 : metdisc = 'CSTE' ; 42 : 'FINSI' ; 43 : * 44 : debloi = 'CHAINE' 'AHU' ; 45 : ncmet = '/' ('*' idim ('+' idim 1)) 2 ; 46 : loi = 'CHAINE' debloi 'R' ; 47 : * 48 : 'ARGUMENT' idir/'ENTIER' ; 49 : 'SI' ('EXISTE' idir) ; 50 : ldir = 'LECT' idir ; 51 : 'SINON' ; 52 : 'ARGUMENT' ldir/'LISTENTI' ; 53 : 'SI' ('NON' ('EXISTE' ldir)) ; 54 : ldir = 'LECT' 1 'PAS' 1 idim ; 55 : 'FINSI' ; 56 : 'FINSI' ; 57 : * 58 : * Calcul du résidu 59 : * 60 : nldir = 'DIME' ldir ; 61 : * 62 : numop = '*' nldir vdim ; 63 : numder = vdim ; 64 : numvar = 1 ; 65 : numdat = 0 ; 66 : numcof = 0 ; 67 : * 68 : A = ININLIN numop numvar numdat numcof numder ; 69 : A . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ; 70 : A . 'VAR' . 1 . 'DISC' = 'CSTE' ; 71 : A . 'VAR' . 1 . 'VALEUR' = 1.D0 ; 72 : * 73 : numvar = idim ; 74 : numdat = '+' ncmet 2 ; 75 : numcof = '*' nldir vdim ; 76 : B = ININLIN numop numvar numdat numcof numder ; 77 : 'REPETER' ivar numvar ; 78 : B . 'VAR' . &ivar . 'NOMDDL' = 'MOTS' ('EXTRAIRE' dpdua &ivar) ; 79 : B . 'VAR' . &ivar . 'DISC' = dpdis ; 80 : 'FIN' ivar ; 81 : * 82 : idat = 0 ; 83 : 'REPETER' idi idim ; 84 : nomdat = 'CHAINE' 'G' &idi &idi ; 85 : * 'MESSAGE' ('CHAINE' 'nomdat=' nomdat) ; 86 : idat = '+' idat 1 ; 87 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' nomdat ; 88 : B . 'DAT' . idat . 'DISC' = metdisc ; 89 : 'SI' lmet ; 90 : B . 'DAT' . idat . 'VALEUR' = 'EXCO' nomdat met nomdat ; 91 : 'SINON' ; 92 : B . 'DAT' . idat . 'VALEUR' = 1.D0 ; 93 : 'FINSI' ; 94 : 'FIN' idi ; 95 : 'REPETER' idi idim ; 96 : nj = '-' idim &idi ; 97 : * 'MESSAGE' ('CHAINE' 'nj=' nj) ; 98 : 'SI' ('>EG' nj 1) ; 99 : 'REPETER' jdi nj ; 100 : nomdat = 'CHAINE' 'G' &idi ('+' &idi &jdi) ; 101 : * 'MESSAGE' ('CHAINE' 'nomdat=' nomdat) ; 102 : idat = '+' idat 1 ; 103 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' nomdat ; 104 : B . 'DAT' . idat . 'DISC' = metdisc ; 105 : 'SI' lmet ; 106 : B . 'DAT' . idat . 'VALEUR' = 'EXCO' nomdat met nomdat ; 107 : 'SINON' ; 108 : B . 'DAT' . idat . 'VALEUR' = 0.D0 ; 109 : 'FINSI' ; 110 : 'FIN' jdi ; 111 : 'FINSI' ; 112 : 'FIN' idi ; 113 : lisdat = 'LECT' 1 'PAS' 1 'NPAS' ('-' numdat 1) ; 114 : idat = '+' idat 1 ; 115 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' 'DUMM' ; 116 : B . 'DAT' . idat . 'DISC' = 'CSTE' ; 117 : B . 'DAT' . idat . 'VALEUR' = theta ; 118 : idat = '+' idat 1 ; 119 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' 'DUMM' ; 120 : B . 'DAT' . idat . 'DISC' = 'CSTE' ; 121 : B . 'DAT' . idat . 'VALEUR' = gamma ; 122 : * 123 : iop = 0 ; 124 : 'REPETER' k nldir ; 125 : idir = 'EXTRAIRE' ldir &k ; 126 : 'REPETER' l vdim ; 127 : iop = '+' iop 1 ; 128 : A . iop . 1 . 0 = 'LECT' ; 129 : nomloi = 'CHAINE' loi idir &l ; 130 : * 'MESSAGE' ('CHAINE' 'Nomloi=' nomloi) ; 131 : B . 'COF' . iop . 'COMPOR' = nomloi ; 132 : B . 'COF' . iop . 'LDAT' = lisdat ; 133 : B . iop . idir . &l = 'LECT' iop ; 134 : 'FIN' l ; 135 : 'FIN' k ; 136 : * 137 : res = 'NLIN' gdisc _mt A B 'EREF' methgau ; 138 : * 139 : 'RESPRO' res ; 140 : * 141 : * End of procedure file DEADRESI 142 : * 143 : 'FINPROC' ; 144 : 145 : 146 :
© Cast3M 2003 - All rights reserved.
Disclaimer