function [A_el,F_el] = cal_Melm_2D(iel,gradP,U);
//
   global CONNEC COOR NUMER ADRESS UC Nelt Nno Npt NI;
   global XG PG Ng;
//
   x  = COOR(CONNEC(iel,:),1); y = COOR(CONNEC(iel,:),2);
   
   A_el =zeros(Nno,Nno); F_el = zeros(Nno,1);
   mu = 1.;

   for ig=1:Ng    // double boucle pour l'integration numerique
    xg = XG(ig);
    for jg=1:Ng
       yg = XG(jg);
//
// calcul de la matrice jacobienne
//
          [F,DxiFP,DetaFP] = Q1(xg,yg);
          j11 = x(1:4)'*DxiFP; 
          j12 = x(1:4)'*DetaFP;   
          j21 = y(1:4)'*DxiFP;  
          j22 = y(1:4)'*DetaFP;
//
          DT  = [j11 j12; j21 j22];
          jac = det(DT);
          B = inv(DT)';
//
       [FP,DxiFP,DetaFP] = Q2(xg,yg);
   
       for i=1:Nno
          DFPi = B*[DxiFP(i); DetaFP(i)];
          F_el(i) = F_el(i) + PG(ig)*PG(jg)*gradP*FP(i)*jac;
          for j=1:Nno
            DFPj = B*[DxiFP(j); DetaFP(j)];
            A_el(i,j) = A_el(i,j) + mu* PG(ig)*PG(jg)*( DFPj' * DFPi) *jac;
          end;
       end;
    end;
  end;
endfunction

