// generation du maillage P1 a 3 noeuds
// On adapte le programme qui fait des quadrangles
// en divisant les rectangles en 2
// lx, ly dimension du rectangle
// nex,ney nonbre de quad suivant x et y
// CONNEC mat de conectivite
// COOR mat des coordonnees des noeuds

function [CONNEC,COOR,Nelt,Nno,Npt] = maillage_2D_P1(lx,ly,nex,ney)
//
//
hx=lx/nex;
hy=ly/ney;

Npt=(nex+1)*(ney+1);
Nelt = 2*nex*ney;
Nno = 3;
//
// coordonnees des noeuds
//---------------------
//
COOR = zeros(Npt,2);
for  iy = 1:(ney+1);
  for ix = 1:(nex+1)
    INN=(iy-1)*(nex+1)+ix
    COOR(INN,1)= (ix-1)*hx
    COOR(INN,2)= (iy-1)*hy
  end;
end;  
//
// connectivite
//---------------------
//
CONNEC=zeros(Nelt,Nno);
it = nex+1;
for iy = 1:ney
    for ix = 1:nex
      inel=(iy-1)*nex+ix;
      iel = 2*(inel-1) + 1;

      i1 = (iy-1)*it + ix;
      i2 = i1 + 1;
      i3 = i2 + it;      
      i4 = i3 - 1;


      CONNEC(iel,1)=i1;
      CONNEC(iel,2)=i2;
      CONNEC(iel,3)=i4;


      CONNEC(iel+1,1)=i3;
      CONNEC(iel+1,2)=i4;
      CONNEC(iel+1,3)=i2;

   end
end

endfunction

