function [n,nx]=refract(t,y)
%% indice de refraction et son gradient 
%% 
%% tableau en retour de la taille 
%% des donnees 
%% initialisation 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% indice constant 1.5
n=1.*ones(size(y)); 
nx = zeros(size(y)) ; 
%% lentille convexe (pour concave changer de ligne) ellipsoidale 
%% attention le milieu exterieur est constant  =1 
%n=ones(size(y)); 
%nx=zeros(size(y)) ; 
a=0.5 ;
b=0.2 ;
di=(y./a).^2+((t-0.5)./b).^2 ;
dx=2*(y./a.^2);
%% repere les indices a modifier dans la lentille 
ii= find(di<1) ;
% convexe
n(ii)=0.5+0.5*(0.5-0.5*cos(pi*di(ii)));
nx(ii) =  pi*dx(ii).*0.25.*sin(pi*di(ii));
% concave 
%n(ii)=1.5-0.5*(0.5-0.5*cos(pi*di(ii)));
%nx(ii) =  -pi*dx(ii).*0.25.*sin(pi*di(ii)) ; 
