//  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_1D.sci'); getf('cond_limit_1D.sci'); 
   getf('gauss.sci');
   getf('P2.sci'); getf('P1.sci');
   getf('assemblage.sci');   getf('cal_sol_lin.sci');
   getf('trace_u_1D.sci');
   getf('cal_debit_1D.sci');
//
// ================================================
//              A ECRIRE
// ==============================================
//   calcul du systeme elementaire sur l'element
//
//   A ECRIRE
//
   getf('cal_Melm_1D_b.sci'); 
//
//    calcul de la viscosite
//
   getf('cal_mu.sci'); getf('cal_Dmu.sci'); 
//
//   Ecriture de l'algo de newton
//
   getf('cal_sol_newton.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 = 4;
   gauss(Ng); 
//
   nx = 10;   // nbre d'element dans les directions x 
//
// maillage
   maillage_1D(1,nx);
   cond_limit_1D();
//
//     Debut Cacul
//
// valeur initiale
   U = zeros(Npt,1); gradP = 1; 
//
//  calcul de la solution pour gradP fixe
//
   U = cal_sol_newton(cal_Melm_1D_b,gradP,U);

   q = cal_debit_1D(U)

   trace_u_1D(U,2);

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