$$$$ @SIGREF
* @SIGREF   PROCEDUR  ALANIER   95/04/03    21:16:09     1603           
'DEBP' @SIGREF P*MCHAML M*MCHAML W*MCHAML A*MCHAML MO*MMODEL ;

  CHP01 = P 'MASQ' 'INFERIEUR'  0.0001 ;
  CHP02 = P 'MASQ' 'SUPERIEUR' -0.0001 ;
  CHP0  = CHP01 * CHP02 ;

  CHM01 = M 'MASQ' 'INFERIEUR'  0.0001 ;
  CHM02 = M 'MASQ' 'SUPERIEUR' -0.0001 ;
  CHM0  = CHM01 * CHM02 ;

  CHMP0 = CHP0 * CHM0 ;
  CHC = CHMP0 'MASQ' 'INFERIEUR' 0.5 ;

* CAS GENERAL

  P_M = P + CHP0 ;M_M = M + CHM0 ;
 
  CH1 = 'MANU' 'CHML' MO 'SCAL' 1. 'TYPE' 'SCALAIRE' 'STRESSES' ;
  PSM = (P_M * (M_M ** -1)) ;

  B = (PSM * (((((W / 2.) - A) ** 2) / 2.)
   + ((W ** 2) / 8.))) + A ;
  D1 = (CH1 + ((CH1 + (PSM * B)) ** 0.5)) * (PSM ** -1) ;
  D2 = (CH1 - ((CH1 + (PSM * B)) ** 0.5)) * (PSM ** -1) ;
  S1 = (-1.) * (P_M * ((A + (2. * D1)) ** -1)) ;
  S2 = (-1.) * (P_M * ((A + (2. * D2)) ** -1)) ;

  BS = ((W / 2.) - A) ;

  DD1 = D1 'MASQ' 'INFERIEUR' (BS - ('ABS' (BS * 0.00001))) ;
  DDD1 = D1 'MASQ' 'SUPERIEUR' ((W / (-2.)) * 0.99999) ;

  SS1 = S1 * (DDD1 * DD1) ;

  DD2 = D2 'MASQ' 'INFERIEUR' (BS - ('ABS' (BS * 0.00001))) ;
  DDD2 = D2 'MASQ' 'SUPERIEUR' ((W / (-2.)) * 0.99999) ;

  SS2 = S2 * (DDD2 * DD2) ;

  DDD = (DDD1 * DD1) + (DDD2 * DD2) ;
  'SI' (('ABS' (('MAXI' DDD) - ('MINI' DDD))) > 0.99) ;
    'MESS' 'PROBLEME DANS CALCUL DE SIGMA REF' ;
  'FINSI' ;

  SSG = SS1 + SS2 ;

* CAS PARTICULIER OU P EST TRES PETIT

  SSP0 = (4. * M) * (((W ** 2) - (2. * A * W) + (A ** 2)) ** -1) ;

* CAS PARTICULIER OU M EST TRES PETIT

  SSM0 = P * ((W - A) ** -1) ;

* SOLUTION :

  SS = (SSP0 * CHP0) + (SSM0 * CHM0) + (SSG * CHC) ;


'FINP' SS ;
