19
$\begingroup$

I'm having an extremely difficult time finding an optics program that is easy to use and offers accurate physics simulations. I'm not asking for much, I just want to be able to simulate a laser going through a beam splitter and then be able to drag and drop mirrors and angle them to be able to see where the laser beams end up. I want to intersect two laser beams that underwent beam splitting and redirect the beams...

Does anyone know of any free software that can do this?

$\endgroup$
2

7 Answers 7

10
$\begingroup$

Goptical GNU-Optical

Description

Goptical is a C++ optical design and simulation library. Goptical is free software and is part of the GNU project.

It provides model classes for optical components, surfaces and materials. It enables building optical systems by creating and placing various optical components in a 3d space and simulates light propagation through the system. Classical optical design analysis tools can be used on optical systems.

It takes advantages of the C++ object model to allow building complex optical systems with a few classes instanciations as optical components are represented by language objects.

$\endgroup$
8
$\begingroup$

For record: It looks like this topic really interests some people: http://markmail.org/message/nic7xrgf5uzed5c4

Newport was obviously thinking in the same direction:

screenshot from old Newport site

They offer an option to use SketchUp and provide 3D models of their mechanics and lenses—at least they used to, since this page does not exist anymore and the picture above was kindly sent to me by Newport to answer the request in the comment.

Having background in both optical engineering and experimental optics, I can say that real experiments and setups are usually designed with a piece of paper if they are simple or with the professional software if they are not. Real systems very quickly stop being a bunch of mirrors. This is, probably, why nobody is seriously considering creation of such a tool.

In labs, we are usually trying to align all beams parallel or under 90 degrees to each other---not only for ease of work but also because otherwise polarisation effects start being a problem.

$\endgroup$
2
  • $\begingroup$ The Newport link is dead. Can you provide a name for the product or service so that it can be found? $\endgroup$
    – garyp
    Commented Jul 19, 2016 at 14:15
  • $\begingroup$ @garyp, Newport was suggesting using SketchUp with their 3D models. Thanks for the hint, I replaced the link with the screenshot they sent me. $\endgroup$
    – texnic
    Commented Jul 22, 2016 at 19:41
5
$\begingroup$

There is also optgeo, quite simple, but could be useful in your case, you can drag and drop lenses, mirrors, beamsplitters etc. It is free software:

http://jeanmarie.biansan.free.fr/optgeo.html

It is also in the ubuntu and debian repositorys.

$\endgroup$
4
$\begingroup$

There is OSLO - it's free (educational for a limited number of surfaces)

But like all optical design software it's not like playing with LEGO blocks, you have to know a fair amount about optics to enter surfaces and interpret the results.

I don't know of a drag-drop simple optics design package - the problem is that anyone who needs one generally needs the detail.

$\endgroup$
3
$\begingroup$

My company has a fairly large collection of free optical design software.

Here: http://lightmachinery.com/optical-design-center/

Enjoy!

$\endgroup$
0
2
$\begingroup$

Answer from 2C Solar: There are many 3D packages that render light aka raytracing, however most don't show the light itself. One very old method is POVray, started in 1991 and latest version 2013 The 3d package Spaceclaim can be used to create your laser / mirror model then export to POVRay where you need to define the properties. Bit of a learning curve though. Good luck.

$\endgroup$
0
$\begingroup$

There is a new one, Lucan from simulucis.com. It's handled by scripts that are written in Haskell.

The functionalities for raytracing and surface modeling can be used for free. I'm the author of the program and work on adding more free and non-free features as well.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.