-
-
Notifications
You must be signed in to change notification settings - Fork 102
Description
All,
I am trying to design a fibre feed for an extremely large telescope (40m).
You will find my simplified design below.
Setting a field at one arcsec (.5/3600 degree works).
But once I set it to a fifth of this, the raytracing seems to go haywire.
Not that the zero-degree field works fine in both cases.
Ideas?
Max
scale = 100
lens = optic.Optic()
add surfaces
index_cnt = 0
lens.add_surface(index=index_cnt, thickness=np.inf)
index_cnt += 1
lens.add_surface(
index=index_cnt,
thickness=-4018scale + 20,
radius=-1440*scale,
conic=-1,
material="mirror",
is_stop=True,
)
index_cnt += 1
backstep
#lens.add_surface(
index=2,
thickness=20,
conic=0,
is_stop=False,
#)
lens.add_surface(
index=index_cnt,
thickness=-1,
radius=-8.6,
conic=0,
material="N-SF11",
is_stop=False,
)
index_cnt += 1
lens.add_surface(
index=3,
thickness=-4,
radius=10.7,
conic=0,
is_stop=False,
)
index_cnt += 1
lens.add_surface(
index=index_cnt,
thickness=-1,
radius=-23,
conic=0,
material="N-SF11",
is_stop=False,
)
index_cnt += 1
lens.add_surface(
index=index_cnt,
thickness=0,
radius=np.inf,
conic=0,
is_stop=False
)
index_cnt += 1
fibre_aperture = EllipticalAperture(
a=.1, b=.1
)
lens.add_surface(index=index_cnt, aperture=fibre_aperture)
set aperture
lens.set_aperture(aperture_type="EPD", value=40*scale)
add field
lens.set_field_type(field_type="angle")
lens.add_field(y=0)
lens.add_field(y=.5/3600. )#
#lens.add_field(y=50.5/3600 * .5)#
#lens.add_field(y=50.5/3600 * .75)#
#lens.add_field(y=50.5/3600)
add wavelength
lens.add_wavelength(value=2., is_primary=True)
#lens.add_wavelength(value=2.1, is_primary=False)
#lens.add_wavelength(value=2.2, is_primary=False)
draw lens
#lens.draw(num_rays=5)
#lens.draw(num_rays=19, xlim=[-720.02scale,-719.2scale], ylim=[-.01scale,.01scale] )
lens.draw(num_rays=19, xlim=[-71995,-71977], ylim=[-.01scale,.01scale] )