Download deadresi.procedur

Back to the list

   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