1 : * DEADFONC PROCEDUR GOUNAND 07/07/05 21:15:21 5784 2 : ************************************************************************ 3 : * NOM : DEADFONC 4 : * DESCRIPTION : La fonctionnelle de Huang à minimiser 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, 21/03/2006, version initiale 13 : * HISTORIQUE : v1, 21/03/2006, 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' DEADFONC ; 24 : 'ARGUMENT' _mt*'MAILLAGE' ; 25 : 'ARGUMENT' gdisc*'MOT' ; 26 : 'ARGUMENT' methgau*'MOT' ; 27 : 'ARGUMENT' theta*'FLOTTANT' ; 28 : 'ARGUMENT' gamma*'FLOTTANT' ; 29 : * 30 : idim = 'VALEUR' 'DIME' ; 31 : vdim = DEADUTIL 'DIMM' _mt ; 32 : * 33 : 'ARGUMENT' met/'CHPOINT' ; 34 : lmet = 'EXISTE' met ; 35 : 'SI' lmet ; 36 : 'ARGUMENT' metdisc*'MOT' ; 37 : 'SINON' ; 38 : metdisc = 'CSTE' ; 39 : 'FINSI' ; 40 : debloi = 'CHAINE' 'AHU' ; 41 : ncmet = '/' ('*' idim ('+' idim 1)) 2 ; 42 : loi = 'CHAINE' debloi 'F' ; 43 : 'ARGUMENT' optelem/'MOT' ; 44 : * 45 : 'SI' ('EXISTE' optelem) ; 46 : 'SI' ('EGA' optelem 'ELEM') ; 47 : lelem = VRAI ; 48 : 'SINON' ; 49 : cherr = 'CHAINE' 'Option ' optelem ' inconnue' ; 50 : 'ERREUR' cherr ; 51 : 'FINSI' ; 52 : 'SINON' ; 53 : lelem = FAUX ; 54 : 'FINSI' ; 55 : * 56 : * Calcul de la fonctionnelle 57 : * 58 : numop = 1 ; 59 : numvar = 1 ; 60 : numder = vdim ; 61 : numdat = 0 ; 62 : numcof = 0 ; 63 : * 64 : A = ININLIN numop numvar numdat numcof numder ; 65 : A . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ; 66 : A . 'VAR' . 1 . 'DISC' = 'CSTE' ; 67 : A . 'VAR' . 1 . 'VALEUR' = 1.D0 ; 68 : * 69 : numvar = 1 ; 70 : numdat = '+' ncmet 2 ; 71 : numcof = 1 ; 72 : B = ININLIN numop numvar numdat numcof numder ; 73 : B . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ; 74 : B . 'VAR' . 1 . 'DISC' = 'CSTE' ; 75 : B . 'VAR' . 1 . 'VALEUR' = 1.D0 ; 76 : * 77 : idat = 0 ; 78 : 'REPETER' idi idim ; 79 : nomdat = 'CHAINE' 'G' &idi &idi ; 80 : * 'MESSAGE' ('CHAINE' 'nomdat=' nomdat) ; 81 : idat = '+' idat 1 ; 82 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' nomdat ; 83 : B . 'DAT' . idat . 'DISC' = metdisc ; 84 : 'SI' lmet ; 85 : B . 'DAT' . idat . 'VALEUR' = 'EXCO' nomdat met nomdat ; 86 : 'SINON' ; 87 : B . 'DAT' . idat . 'VALEUR' = 1.D0 ; 88 : 'FINSI' ; 89 : 'FIN' idi ; 90 : 'REPETER' idi idim ; 91 : nj = '-' idim &idi ; 92 : * 'MESSAGE' ('CHAINE' 'nj=' nj) ; 93 : 'SI' ('>EG' nj 1) ; 94 : 'REPETER' jdi nj ; 95 : nomdat = 'CHAINE' 'G' &idi ('+' &idi &jdi) ; 96 : * 'MESSAGE' ('CHAINE' 'nomdat=' nomdat) ; 97 : idat = '+' idat 1 ; 98 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' nomdat ; 99 : B . 'DAT' . idat . 'DISC' = metdisc ; 100 : 'SI' lmet ; 101 : B . 'DAT' . idat . 'VALEUR' = 'EXCO' nomdat met nomdat ; 102 : 'SINON' ; 103 : B . 'DAT' . idat . 'VALEUR' = 0.D0 ; 104 : 'FINSI' ; 105 : 'FIN' jdi ; 106 : 'FINSI' ; 107 : 'FIN' idi ; 108 : lisdat = 'LECT' 1 'PAS' 1 'NPAS' ('-' numdat 1) ; 109 : idat = '+' idat 1 ; 110 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' 'DUMM' ; 111 : B . 'DAT' . idat . 'DISC' = 'CSTE' ; 112 : B . 'DAT' . idat . 'VALEUR' = theta ; 113 : idat = '+' idat 1 ; 114 : B . 'DAT' . idat . 'NOMDDL' = 'MOTS' 'DUMM' ; 115 : B . 'DAT' . idat . 'DISC' = 'CSTE' ; 116 : B . 'DAT' . idat . 'VALEUR' = gamma ; 117 : * 118 : B . 'COF' . 1 . 'COMPOR' = loi ; 119 : B . 'COF' . 1 . 'LDAT' = lisdat ; 120 : * 121 : A . 1 . 1 . 0 = 'LECT' ; 122 : B . 1 . 1 . 0 = 'LECT' 1 ; 123 : * 124 : vfonc = 'NLIN' gdisc _mt A B 'EREF' methgau ; 125 : * 126 : 'SI' ('NON' lelem) ; 127 : vfonc = 'MAXIMUM' ('RESULT' vfonc) ; 128 : 'FINSI' ; 129 : * 130 : 'RESPRO' vfonc ; 131 : * 132 : * End of procedure file DEADFONC 133 : * 134 : 'FINPROC' ; 135 : 136 : 137 :
© Cast3M 2003 - All rights reserved.
Disclaimer