DLL (Source): Non-sequential Astigmatic Gaussian

  • 22 October 2021
  • 14 replies

Userlevel 6
Badge +2

This Source DLL models an Astigmatic Gaussian Source.  It is based on rays but the statistical distribution of rays gives a picture of a diffracting Gaussian beam. It is valid for small angles (paraxial approximation) and when propagating in free space. So clipping at apertures and aberrations will give incorrect results.

  • w0x, w0y are the real beam waist radii (defined at the 1/e2 intensity point) in the XZ and YZ planes. They includes M^2.
  • z0x, z0y are the positions of the beam waist in the XZ and YZ planes. z0<0: in propagation direction if the waist is located before source.
  • M^2x, M^2y are the quality factors in the XZ and YZ planes.

For more information, see "Representation of a Gaussian beam by rays" by P. P. Crooker, W. B. Colson, and J. Blau - Physics Department, Naval Postgraduate School, Monterey, California 93943


Steffen Erhard and @Dirk Broemme 


Click here to download

Date Version OpticStudio Version Comment
2020/05/06 1.0 21.1.2 Creation
2023/01/06 1.1 22.3 Fix starting medium


14 replies

Userlevel 3

Thank you, Sandrine, for uploading this to Code Exchange, and especially,

THANK YOU, Dirk and Steffen, for writing, documenting, and sharing this NSC DLL.

Somebody’s been listening!...you can see the Forum / Community thread that I started “1 year ago” (wish Community time stamped entries with exact date), asking for general astigmatism with M^2 support:


Paul Colbourne also took a stab at this both in Sequential (SEQ) and Non-Sequential (NSC) versions.  I’ll share this with him and my other colleagues, for whom I’ve been collecting Gaussian beam techniques.

-- Greg Magel (“PhGeek”)


P.S. The Community thread above should work because I copied the URL from the current incarnation of Community; links in other threads that you find might be to older User Forum threads on my.zemax.com that can no longer be reached.

BTW, I have lots of comments on improving the new Community navigation, and also especially Knowledgebase Articles.

*** What is the best way to send such comments to those responsible for maintaining Community and Knowledgebase?

P.P.S.  Here is the DOI for the article Sandrine referred to, which is in the American Journal of Physics (2006)


Userlevel 6
Badge +2

Hi Greg!

Please send your comments about the community at support@zemax.com.

Thank you and thanks a lot for this post.

Dear Sandrine, for some reason the Download link prodcues a “You are not authorized to access this page.” message. Any reason it is not accessible anymore?


Many thanks

Userlevel 6
Badge +2

Hi Eduard

We have restricted this space to supported users. Do you have a supported licence?

Hi Sandrine, thanks for the quick reply,

As per my Zemax account information it states: “You are an End User of a supported OpticStudio license” 

So I guess I do, but correct me if I am wrong.

Userlevel 6
Badge +2

Sorry I am wrong. Checked the wrong date. I tried to fix your profile. Let me know if that doesn’t work.

Same problem as Eduard here. @Sandrine Auriol would you mind correcting it ? 



Userlevel 6
Badge +2

@perkinsj Hi Jeffrey! It should be fixed now but let me know if it still doesn’t work.

@Sandrine Auriol 
Hi Sandrine, I got the same issue as perkinsj and Eduard here… would you mind correcting it? 

Userlevel 6
Badge +2

Hi @SeanL66! Do you have access to a supported licence? I can’t find you in our records. Feel free to contact our support@zemax.com if this needs to be corrected.

Hi @Sandrine Auriol ,

I am having the same issue as many others with accessing the files to download.  I’ve contacted tech support and have received the run-around.  Also, have the same issue with another code exchange link as well.  This is a pervasive and frustrating issue.

Userlevel 6
Badge +2

Hi @adamg! Sorry about that. I have fixed your profile.

We are working on that issue, it just takes a bit of time.

Userlevel 6
Badge +2

Thank you @Csilla Timar-Fulep for the fix on the medium! Now the dll works correctly when the source starts inside a material.

Userlevel 4
Badge +2

Note that the input parameters M^2x / M^2y in NSCE represent the square root of M^2. If a negative value is input, the code will use M^2 = 1.