---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-33-00344cd64651> in <module>
----> 1 ro.Analysis(s)
c:\software\python37\lib\site-packages\rayopt\analysis.py in __init__(self, system, **kwargs)
72 setattr(self, k, v)
73 if self.run:
---> 74 self.run()
75 if self.print:
76 for t in self.text:
c:\software\python37\lib\site-packages\rayopt\analysis.py in run(self)
112 for h in min(self.system.fields), max(self.system.fields):
113 t = GeometricTrace(self.system)
--> 114 t.rays_clipping((0, h))
115 t.plot(ax)
116
c:\software\python37\lib\site-packages\rayopt\geometric_trace.py in rays_clipping(self, yo, wavelength, axis)
213
214 def rays_clipping(self, yo, wavelength=None, axis=1):
--> 215 z, p = self.system.pupil(yo, l=wavelength, stop=-1)
216 yp = np.zeros((3, 2))
217 yp[1:, axis] = p[:, axis]/np.fabs(p).max()
c:\software\python37\lib\site-packages\rayopt\system.py in pupil(self, yo, l, stop, **kwargs)
593 c = self._pupil_cache[k] = PolarCacheND(self._aim_pupil,
594 l=l, stop=stop, **kwargs)
--> 595 q = c(*yo)
596 return q[0], q[1:].reshape(2, 2)
c:\software\python37\lib\site-packages\rayopt\cachend.py in __call__(self, *args)
50 if np.any(np.isnan(guess)):
51 guess = self.guess
---> 52 value = self.solver(*args, guess=guess, **self.kwargs)
53 self.cache[args] = value
54 self._update()
c:\software\python37\lib\site-packages\rayopt\system.py in _aim_pupil(self, xo, yo, guess, **kwargs)
578 yp = [0, 0]
579 yp[ax] = 2*sig - 1.
--> 580 a1 = self.aim_marginal(y, yp, z, a[sig, ax], **kwargs)
581 a[sig, ax] = a1
582 if sig == 1: # and guess is None
c:\software\python37\lib\site-packages\rayopt\system.py in aim_marginal(self, yo, yp, z, p, l, stop, **kwargs)
554 else:
555 return d[-1]
--> 556 a = self.solve_brentq(dist, **kwargs)
557 assert a
558 return a*p
c:\software\python37\lib\site-packages\rayopt\system.py in solve_brentq(self, merit, a, b, tol, maxiter)
501 if abs(fa) <= tol:
502 return a
--> 503 assert fa < 0
504 a = brentq(merit, a, b, rtol=tol, xtol=tol, maxiter=maxiter)
505 return a
AssertionError: