%------------------------------------------------------------------------------
%
% Syfte:    Löser, med cG(1)-metoden, differentialekvationen                   
%
%           -div(grad u) + u = f , i Omega,         
%
%           med Robinrandvillkor                                               
%
%           -Du/Dn = gamma.(u - g_D) + g_N, på randen Gamma, till Omega.
%
% Definiera geometrin G, Omega = [0,1]x[0,1]. OBS : ÄNDRA INTE
%
G = [2     2     2     2;
     0     1     1     0;
     1     1     0     0;
     0     0     1     1;
     0     1     1     0;
     1     1     1     1;
     0     0     0     0];
%------------------------------------------------------------------------------

N = 20;  
h = 1/N;
 
[p,e,t] = poimesh(G,N,N); %  Triangulera Omega.

[S, M, R, v, r] = PoissonAssembler2D(p,e,t,h); 

A = S + M + R;
b = v + r;

U = A\b; 

pdesurf(p,t,U)
xlabel('x') 
ylabel('y')
title('U(x,y)')

