//  Programme qui resoud   -div(mu*(gradU) = graP sur une ligne
// de dimension lx et des cl de Neuman sur le bord

clear  // detruit les anciennes variables
//
//  function scilab  que l'on va utiliser 
//
   getf('maillage_2D.sci');   
   getf('gauss.sci');
   getf('cond_limit_2D.sci');
   getf('Q2.sci'); getf('Q1.sci');
   getf('assemblage.sci');   getf('cal_sol_lin.sci');
   getf('trace_u_2D.sci');getf('init_trace_2D.sci');getf('trace_maillage_2D.sci');  
//
   getf('cal_sol_newton.sci'); 
//
   getf('cal_mu.sci'); getf('cal_Dmu.sci'); 
   getf('cal_debit_2D.sci');
//
// ================================================
//              A ECRIRE
// ==============================================
//   calcul du systeme elementaire sur l'element
//
//   A ECRIRE
//
   getf('cal_Melm_2D_b.sci'); 
//
//
//
// =================================================
//            fin des fonctions a Ecrire
//==================================================
//
//  on utilise des variables globales pour 
//    COOR, CONNEC, ADRESS, NUMER et  NI
//  et
//    XG et PG
//
   global CONNEC COOR NUMER ADRESS UC Nelt Nno Npt NI;
   global XG PG Ng
//
//  nbre de points pour l'integration numerique
   Ng = 3;
   gauss(Ng); 
//
   nx = 10;   ny = 10;  // nbre d'element dans les directions x et y 
//
// maillage
   maillage_2D(1,1,nx,ny);
   init_trace_2D();
   trace_maillage_2D(nx,ny);
   cond_limit_2D();
//
//     Debut Cacul
//
// valeur initiale
   U = zeros(Npt,1); gradP = 1; 
//
//  calcul de la solution pour gradP fixe
//
   U = cal_sol_newton(cal_Melm_2D_b,gradP,U);

   trace_u_2D(U,2);

   q = cal_debit_2D(U)

xtitle('Methode de Newton','x','u');
