function [boundary] = Boundary_Points(edges)

%{
As an input, the index of points located on the boundaries are given. Since
the boundary conditions are different in boundaries, we need to specify them
and save them in a different vectores. The boundary conditions are as
follows:

Left boundary  ==> Periodic boundary condition
Right boundary ==> Periodic boundary condition
Upper boundary ==> Homogenous boundary condition
Lower boundary ==> Nonhomogenous boundary condition

% Note: Label for each boundary has been already specified into the python
        file for generating the mesh
%}

Left = edges(2:3,find(edges(1,:) == 1 | edges(1,:) == 2));   
Left = [Left(1,:),Left(2,length(Left))];


Right = edges(2:3,find(edges(1,:) == 3 | edges(1,:) == 4 ));  
Right = [Right(1,:),Right(2,length(Right))]; 


Upper = edges(2:3,find(edges(1,:) == 6));                    
Upper = [Upper(1,:),Upper(2,length(Upper))];

Lower = edges(2:3,find(edges(1,:) == 7));                    
Lower = [Lower(1,:),Lower(2,length(Lower))];


boundary.Left = Left';
boundary.Right = Right';
boundary.Upper = Upper';
boundary.Lower = Lower';
end