Achromatic Lens (Design Example 4)

achromat_setup.m

sk16 = [1.617271 1.622861 1.627559];
f4 = [1.611644 1.620578 1.628484];
bk7 = [1.514322 1.51680 1.522376];
baf10 = [1.665791 1.670028 1.679987];
sf10 = [1.720848 1.728250 1.746581];
global cv th rn dn;
cv = [ 0 0 0 0 0 ];
th = [ 0 0 0 0 0 ];
rn = [ 1 sk16(2) 1 f4(2) 1];
dn = [ 0 sk16(3)-sk16(1) 0 f4(3)-f4(1) 0];

v=[1/50 -1/100]';
[A fz] = calculate_derivatives(@achromat1,v);
v = v - A\fz;
f = achromat1(v);

Solution for Powers

dx5.m

achromat_setup;
load achromat;
show_contour3;
seek([0 5],@achromat2);

Output

contour(u1,u2,map2,[0 0],'b');
axis square;
hold on;
contour(u1,u2,map1,[0 0],'k');
hold off;
xlabel('first lens shape');
ylabel('second lens shape');

Achromatic lens defect function (powers) (achromat1.m)

function f = achromat1(v)
global cv th rn dn;
cv(2:3)=lens_shape(v(1),1,rn(2));
cv(4:5)=lens_shape(v(2),0,rn(4));
yap = 50/8;
uco = tan(2.0*pi/180);
ya = parax([yap 0],cv,th,rn);
usolve = -0.125;
n=5;
%yn=ya(n,1);
%if (abs(yn)>1e-6)
%    cv(n)= -(rn(n)*usolve-rn(n-1)*ya(n-1,2))/((rn(n)-rn(n-1))*yn);
%end
%ya(n,2)=usolve;
yc = parax([0 uco],cv,th,rn);
power = -ya(n,2)/ya(1,1);
perror = (yap*yap)*(power - 1/50); % power error
[w wsurf petz] = ford(ya,yc,cv,th,rn,1);
wv = chromatic(ya,yc,cv,th,rn,dn,1);
f(1) = perror;
f(2) = wv(1);
f = f(:);

Achromatic lens defect function (shapes) (achromat2.m)

function f = achromat2(v)
global cv th rn dn;
pwr = get_powers;
cv(2:3)=lens_shape(pwr(1),v(1),rn(2));
cv(4:5)=lens_shape(pwr(2),v(2),rn(4));
yap = 50/8;
uco = tan(2.0*pi/180);
ya = parax([yap 0],cv,th,rn);
yc = parax([0 uco],cv,th,rn);
w = ford(ya,yc,cv,th,rn,0.006);
f(1) = w(1); % spherical aberration
f(2) = w(2); % coma
f = f(:);


Maintained by John Loomis, last updated 6 Feb 2003