Demystifying the off-axis parabolic mirror

An off-axis parabolic (OAP) mirror consists of a small section cut out from a larger, so-called “parent” parabolic mirror. Working with these mirrors, especially for the first time, can seem like a daunting task. However, with a little instruction and a bit of practice, OAPs can be fairly straight-forward to manipulate and very handy to use.

This article describes a real-life assignment that required an OAP to be used with an existing optical system.

Authored By Mike Tocci


Article Attachments


When designing systems using OAPs, it can be helpful to keep the parent parabola in mind, and it can also be helpful to keep the parent parabola in your system, only trimming down to the decentered (or so-called “off-axis”) aperture at the very last step in the design process. In this example, we’re going to design, position, and clock an OAP in an optical system in such a way as to provide a specified output, and then we’re going to specify the placement of the OAP relative to other optical elements in the system. This is a realistic design problem, and one that demonstrates many different, useful OpticStudio techniques.

Parabolic mirrors

Parabolic mirrors produce perfect images for infinite-conjugate on-axis points (that is, for perfectly collimated light directed along the optical axis of the parabola). Here is a diagram of an f/0.3 parabola, shown bringing a collimated beam to perfect focus:


Obviously, parabolic mirrors are a good choice for a collimator in many optical systems, where the parabola is used to produce a collimated beam from a point source. Using a mirror like the one shown above requires that part of the beam be obscured by the optics in the system that will be used before and/or after the mirror. In addition, most systems do not require a collimator as fast as f/0.3 – most often a much smaller mirror can be used. 

To get around this obscuration problem, and in the interest of making the mirror as small as possible, an off-axis parabola (OAP) is often used instead of the entire parabola. An OAP is simply a small section cut out from a full, parent parabola. Below is an OAP shown in relation to its parent parabola. Keeping this parent parabola in mind will help when manipulating OAPs.


Designing an OAP

Let’s suppose you’ve got a legacy optical system that produces a beam that comes to a focus at f/8, and you want to collimate this beam at a diameter of approximately 80mm. 

In this case, we will need a 640mm focal length collimator (80mm beam diameter multiplied by the f-number of 8), and a good choice would be SORL’s 25-055-04 mirror. This OAP has a focal length of 25 inches (635mm), an off-axis distance of 5.5 inches (139.7mm), and its diameter of 4 inches (101.6mm) is large enough to collimate an 80mm diameter beam. 

Note that when SORL gives a value for off-axis distance, they give the distance to the inside of the OAP’s clear aperture, whereas a OpticStudio decenter measures the distance to the center of the clear aperture. Thus, to figure out the amount of decenter needed in OpticStudio you simply add half the OAP diameter to SORL’s OAP off-axis distance. So when SORL says the OAP has an off-axis distance of 139.7mm and a diameter of 101.6mm, the OpticStudio decenter value will be 139.7 + (101.6/2) = 190.5 mm.

We will enter to parabola into OpticStudio as a Standard Surface with a Radius of Curvature of 1270mm (the radius of curvature equals double the focal length, because it's a mirror) and, because it's a perfect parabola, a conic constant of -1 (for details on the definition of the conic constant, see the OpticStudio User's Guide page entitled “Standard Surface” in the section “Sequential Surfaces”).

Positioning the OAP

Now let’s further suppose that the focusing beam enters your optical bench at some angle, and you are required to take this incoming beam and output a collimated beam that is parallel to the surface of the optical bench. This is the kind of thing that often occurs in real life, and it can be easily entered into OpticStudio if you follow a methodical approach.

The attached files (OAP_starter.ZMX and OAP_ starter.ZDA) give a starting point for the problem we are to solve. Surfaces 1 through 9 represent the legacy optical system, which produces a beam that comes to a focus at f/8 at some angle relative to the optical bench. For the purposes of the current example, there’s no need to pay much attention to what is going on in Surfaces 1-9, just realize that these surfaces produce a perfect focus at an angle to the optical bench. For this example, we’ll assume that the optical bench is parallel to the X-Z plane, as shown in the layout picture below.

Lens data editor


First, let’s add a parabola at Surface 11, located exactly one focal length (635mm) after the focal point. Type in the values shown in the highlighted cells below:


It’s a good idea to keep an eye on the spot diagram as you make changes to a parabola, because it will give you an early warning if you make a mistake. Remember we’re producing a collimated beam from this parabola, so we’ll need to make a slight adjustment before we check the spot diagram. Open System Explorer...Aperture, and check Afocal Image Space. This sets the system to make calculations based on afocal units, and with respect to a planar wavefront reference, instead of a spherical reference.


A quick check of the spot diagram now shows that the parabola is working perfectly, with zero spot size. Now we want to move the parabola off-axis. When we hit a parabola with a collimated beam, as described in "How to model an off-axis parabolic mirror", we can simply decenter the optical axis before the parabola and then use a chief-ray solve after the parabola to tilt the optical axis to follow the focused beam. The idea is that when we add a "Decenter Y" value before the parabola to move the parabola off-axis, we will have to add a "Tilt About X" after the parabola to align the optical axis with the now tilted outgoing beam. 

Unfortunately, since our system starts with a focused point, we have to do things a little bit backwards. But we do have a plan: we’ll put Coordinate Breaks around our parabola, and then we’ll make it so that there is a “Tilt About X” before the parabola (to get the parabola optical axis to line up with the direction the beam is entering) and then a “Decenter Y” after the parabola (to move the optical axis over to where the exiting beam is). 

Add a Coordinate Break before the parabola surface (to tilt the parabola) and another one after (to decenter the axis).


Now let’s put a Chief Ray Solve on the Decenter Y of Surface 13, and then we’ll add a little bit of Tilt About X to Surface 11.


First thing we notice is that the Chief Ray Solve on Surface 13 has no effect. We expect the optical axis to have to move over after hitting the tilted parabola. That’s a very subtle clue that something is not quite right. Because we were watching the Spot Diagram, we got a much less-subtle clue that something was very wrong.


The problem is that we need to make our Tilt About X before moving forward 635mm from the focus spot. That way, the optical axis will change direction, and then the beam will travel 635mm. Now when the parabola gets drawn, it will be centered someplace away from where the beam ends up. This will have the effect of decentering the parabola.

So, we need to go back and change the Thickness of Surface 10 to 0.00000 and change the Thickness of Surface 11 to 635mm.


Now we’re back on track. The spot diagram looks perfect again. However, our guess of 5 degrees for Tilt About X was not quite right, as the Decenter Y is not 190.5mm. We could guess at different values for Tilt About X until the Decenter Y is exactly 190.5mm. But this is OpticStudio: we don’t have to guess. We can put the power of optimization to work for us. Open the Merit Function Editor. Add one operand: PMVA, Parameter Value (I’ve also added a comment line, but you don’t have to). We want a target value of 190.5 for Parameter 2 on Surface 13, with a weight of 1.


Now we set the “Tilt About X” on Surface 11 to be a Variable.


Then, we can optimize the system by navigating to Optimize Tab...Optimize!. The Merit Function value should go all the way down to 0.0000000 in a matter of seconds. The parabola now should be decentered and tilted just right. 

We’ll add some thickness after Surface 13, so we can look at the collimated beam coming off the OAP.

Optimize Tab

And here’s our layout.


We have just one more thing to do: we need to make the output beam parallel to the optical bench (the X-Z plane). To do this, we’re going to clock the parabola (Tilt About Z) until the beam has the correct Y-angle.

Clocking the OAP

Imagine that the section of our OAP has been cut out of the parent parabola. Now further imagine that this OAP is rotated so that it remains facing the focus point. In fact, imagine that it is rotated in such a way that the parent parabola remains locked onto the focus point, and the parent parabola actually rotates around the OAP section, sort of like the hands of a clock rotate about the face. This rotation is known as “clocking.”

In the Lens Data Editor, select Surfaces 11, 12, and 13 and then open the Tilt/Decenter Elements tool (located in the LDE toolbar). You can leave everything at their default values (I chose to change the Row Color, to help keep things organized) and click OK.


Make the “Tilt About Z” on our new Surface 11 a Variable.


We want to clock the OAP around until the output beam is parallel to the optical bench (the X-Z axis). That means we want the output beam to have no directional component in the y-direction. To do this, we will add a line to our Merit Function, with the Global Ray Y-Direction Cosine (RAGB) operand. This simply measures the Y Direction Cosine of a ray. We want the Y Direction Cosine of our output ray (at Surface 17) to be exactly zero. We’ll also add a few lines in the Merit Function to keep the Absolute Value (ABSO operand) of the parabola’s Tilt About Z (using the PMVA operand on Parameter 5 of Surface 11) less than 180 degrees (we’ll be using the “Operand Less Than,” or OPLT, operand to do this).


Now we optimize, same way as before. Again, the Merit Function value should drop all the way down to 0.000000 in a matter of seconds. If the Optimizer doesn’t snap to 0 after a couple seconds, try running the Hammer Optimizer instead by navigating to Optimize...Hammer Current.

Note that there are actually two equally good solutions for the value of Tilt About Z for the current example. The two solutions have output collimated beams that go off in different X-directions along the table top. For the current demonstration, we’re not concerned about which solution we get. Because of this, when you optimize your design, you might end up with a different solution than I did, so your layout image may look slightly different than the one shown below. Both solutions end up with the output beam coming off the parabola in a horizontal direction (parallel to the X-Z plane).

In addition to being decentered and tilted just right, our parabola is now clocked perfectly to produce a beam that is parallel to the surface of our optical bench. Here is what the layout should look like at this point.


Finally, to make it look like an OAP instead of a full parabola, we can add a 4” diameter, decentered aperture to Surface 13.


Here’s our final layout.


To make sure everything is properly aligned, we take one last look at the Spot Diagram.


With that, the design, positioning, and clocking of our OAP is complete. We finally need to determine the actual placement of the OAP relative to legacy optical system.

Placement of the OAP

In OpticStudio, an OAP is really a full parabola with a decentered aperture placed over it. That means OpticStudio thinks the center of the OAP is at the center of the parabola. This is a very different location from that of the mechanical center of the OAP component in the real world. Looking at the Lens Data Editor, it might seem that the total distance from the legacy output plane (Surface 9) to the OAP (Surface 13) is exactly 1435.000mm. However, for the reason given above, this is not the same as the distance between the actual surfaces on the optical table.

We can use the Merit Function Editor to calculate the center-to-center distance between these objects very accurately. What we’ll do is use the RAGX, RAGY, and RAGZ operands to measure the Global X, Y, and Z coordinates, respectively, of the gut ray (H=0,0 and P=0,0) at the legacy output (Surface 9) and then measure the Global X, Y, and Z coordinates of the gut ray at the OAP (Surface 13).

Using the Difference (DIFF) operand, we’ll calculate the difference between the two X coordinates, the difference between the two Y coordinates, and the difference between the two Z coordinates. And then, using the Quadratic Sum (QSUM) operand, we’ll take the square root of the sum of the squares of these differences. The following merit function operands perform these exact functions.


With this calculation, we see that the actual distance between these two optical elements is 1449.288mm. Recall that the distance we measured from the Lens Data Editor was 1435.000mm to the center of the parent parabola. This seemingly small difference would actually result in about 15 waves RMS defocus being introduced into the system.

When working with an OAP, it’s always a good idea to determine its location using the gut ray location at the parabola surface, and NOT the global coordinates of the parabola’s center.


Was this article helpful?
1 out of 1 found this helpful



Please sign in to leave a comment.