function prikladMKPLaplace2d()

a = 1; b = 1;
h = 0.05;
[nodes,edges,elemNodes,elemEdges,leftNodes,topNodes,rightNodes,bottomNodes,leftEdges,topEdges,rightEdges,bottomEdges] = rectangulateRectangle(a,b,h,h);
N = size(nodes,2);
m = size(elemNodes,2);

DirichletNodes = leftNodes;
nonDirichletNodes = setdiff(1:N,DirichletNodes);
NeumannEdges = edges(:,abs([bottomEdges,topEdges,rightEdges]));
mN = size(NeumannEdges,2);

k = ones(1,m);
f = ones(1,m);
tau = ones(1,mN);
utilde = 10*(nodes(2,DirichletNodes).*(1-nodes(2,DirichletNodes)))';

[Atilde,btilde] = assembleNeumann(nodes,elemNodes,elemNodes,NeumannEdges,NeumannEdges,{'aloc_gradgrad_L1rect'},...
    {'bloc_id_L1rect'},{},{'bloc_idbound_L1rect'},{k,f,tau});
A = Atilde(nonDirichletNodes,nonDirichletNodes); cond(full(A))
b = btilde(nonDirichletNodes) - Atilde(nonDirichletNodes,DirichletNodes)*utilde;

u = zeros(N,1);
u(DirichletNodes) = utilde;
u(nonDirichletNodes) = A\b;

plotDisplacements_L1rect(nodes,elemNodes,u)

