This page is optimized for large screens. Zooming may cause some display problems.

Handy calculations

handy button The Handy Calculations tool addresses numerous specific calculation cases in various fields of photonics. Indeed, 277 computation pages are proposed in many domains: diffraction, fiber optics, geometric optics, interference, laser, optoelectronics, polarization, radiometry/photometry.

A set of conversions page is also available. The calculation pages integrate a contextual help with tooltips for an improved understanding and a better use.

handy menu The calculation pages are accessible from the drop-down menus displayed after clicking on the "handy calculations" link at the top left of each page. These drop-down menus correspond to the different fields of photonics. The related sub-menus are topics of the considered field.

After clicking on a submenu, a calculation page is displayed by default. The chances are high that it's not the one you want. You can find a calculation page more suited to your needs in the list displayed in the left block of the page (later called "list of links"). If you are not satisfied with any calculation page, please do not hesitate to contact us. We will do our best to answer your request.

Note that the drop-down menus are also displayed in the central block (titled "Handy Calculations") of the home page.

search page An alternative way to find a calculation is to enter keywords in the search cell located in the header. After clicking on the search button, the list of calculations relevant to all key words is displayed. For each relevant calculation, the list includes a title, a short description and eventually a small explanatory scheme. It is possible to access to the calculation by clicking on its title or on its scheme if it exists.

Note that it is also possible to access to a calculation page from the list displayed in the "sitemap" page.

Each calculation page includes several blocks:

- a list of links (3) to calculation pages relevant to the topic (2) (displayed on the left side),

- one or two calculation table(s) (6) depending on the calculation format and the buttons (7) enabling to process the computation,

- link to tooltips and to a tutorial (4) (displayed above the calculation table(s)),

- the path (1) up to the calculation page (displayed above the tooltips and link to a tutorial),

- an explanatory scheme (5) in most of the calculation pages that can be enlarged by clicking on it (at the top left of the page).

calculation page

list By clarity, the list may be organized by sub topics (displayed in grey small caps). The user can access to the calculation of his choice by clicking on its title in the list. the title is then highlighted by appearing with a darker color. A padlock is represented to the left of each calculation title in three different ways:

-   means that the calculation can be processed freely without any connection,
-   means that the calculation can be processed if the user is connected and has a Student or a Premium license,
-   means that the calculation can be processed if the user is connected and has a Premium license only.

More details on the accessibility of the calculations and features are provided in the features page.

Basically, each handy calculation page is used to perform a calculation from input data entered by the user.

There are two calculation modes.

In one mode, called the fixed mode, the calculation is processed with all the input parameters fixed.

In the other mode called the varying mode, one input parameter varies and all other parameters are fixed. The varying mode is possible for all calculation pages except the unit conversion pages, the "glass catalogs" pages and the "wavelengths" page.

Also, there are two possible formats for the calculation pages.

The pages in accordance with the two tables format contain 2 tables, one for entering input parameters ( "input" table) and the other for displaying output parameters ("output" table) in fixed mode.

In the pages in accordance with the single table format, there is only one calculation table ("parameters" table) used for entering the input parameters and display the results in the fixed mode. The user chooses the parameter to calculate by leaving its cell empty. All other parameters are input data. Therefore, each parameter can be calculated from the others.

Depending on the page, the number of buttons for processing a calculation and their label are different. In any case, the buttons for calculating in varying mode are the "tableV" and "curveV" buttons. Obviously, those for calculating in fixed mode are all buttons other than the "tableV" and "curveV" buttons.

Note that the parameters description (input or ouput parameters) is displayed in a tooltip when the mouse hovers over their label.

Calculating in fixed mode

The input/output data units can be selected in the "unit" column. The calculation is realized and the results are displayed in the dedicated table after clicking on the button "calculate" or "table" (one of this button is necessarily displayed on the page). In some pages, the results can also be displayed in a graphic by using the "graphic" or "curve" buttons or any other custom button.

Two tables format home page

Single table format home page

The input values can be entered either in numerical or scientific format using a maximum of 14 digits .
The output values are displayed in scientific format with a minimum of 2 decimal places and a maximum of 6 decimal places.

Remember that when using a single table format, the "value" cell corresponding to the parameter to calculate must be cleared otherwise an error message is displayed.

Calculating in varying mode

Except for the conversion pages, it is possible to perform the calculation by varying a parameter in a range of values. The input parameter to be varied is then selected by the corresponding radio button in the "variable" column. Its minimum value valmin and maximum value valmax are entered respectively in the corresponding "MIN" and "MAX" cells. Finally, the number of values +1 to be considered is entered in its "STEPS" cell. The calculations are realized for each value of the parameter:

variable parameter.

i varies from "0" to "STEPS".

the input values can be entered either in numerical or scientific format using a maximum of 8 digits. The results are displayed in scientific format. Displayed input and output values use respectively 6 and 4 decimal places. The number of values ("STEPS" columns) is in general limited to 200. However, this maximum value can be decreased for some time-consuming calculations.

Note that, as for the fixed mode, in the single table format, the "value" cell of the parameter to be calculated must necessary be cleared. Also, the variable parameter can obviously not be the one to be calculated.

variable parameter

variable parameter

The results can be either displayed in a table or in curves.

The results appear in a table after clicking on the "tableV" button. For each output, three columns are displayed. The first column labelled "cod.Er" corresponds to an error code which value is 0 if the calculation has been processed and 1 if it has not been processed because it is not possible or not accurate enough. The second column corresponds to the value of the variable input. The third column is the output value. The fixed input values are diplayed on the top of the table.

home page

The results appear in curves after clicking on the "curveV" button. There are as many curves as output parameters to calculate. For each curve, the abscissa represents the variable parameter values and the ordinate represents the output values. The fixed input values are diplayed on the top of the curve.

home page


In each page, input cells are filled by default to allow the calculation. These default values are first automatically loaded. In some cases, they lead to an error message because they are not relevant to the computation. This comes from the fact that they may be used in different pages and they cannot necessarily be appropriate to each of the calculations. Next, these default values can be replaced by values entered or computed by the user and can also lead to error messages in certain calculations. One solution would have been to choose different parameters for each calculation page but it was not adopted because it is sometimes useful to use input values or calculated values as input values in other pages without having to re-enter them.

In some pages, the message "not possible" may be displayed in the parameter(s) cell(s) to be calculated without any prior error message. This is because, some intermediate tests are performed during the calculation in order to avoid unrealistically or inaccurate values. Unlike preliminary tests like those preventing from divisions by zero, eventual issues arising from these tests can not be displayed as a full error message and therefore appear directly in the cell(s).

Using very small or very large input values can lead to large rounding errors. In some cases, possible rounding errors are detected. if the calculation is supposed to give a very small or a very large value, then the result will be rounded to a very small or a very large value. The process depends on the calculation but for instance, the results can be rounded to orders of magnitude of 10-6 radians if they are considered as small angle values and 10+12 if they are considered as large dimensions or large distances expressed in mm.

Some mismatchs can happen in calculations using a single table where any parameter can be calculated from all others. There are cases where the display accuracy is not sufficient and computation of an initial input using results from a previous calculation may lead to a different value than the original one. In general, the difference is small. However, there are cases where the difference can be large (for instance, the re-computation of the "dark current" in the "shot noise current" page with very different initial values for the "photocurrent" and "dark current"). Higher display accuracy would solve this issue but would cause other problems in the current display modes.

If the user makes a calculation with a varying parameter, its values will go from a minimum value to a maximum value defined respectively in the related "MIN" and "MAX" cells. These cells are in general filled by default, except for the parameter to be calculated by default in calculation pages using a single table. These minimum and maximum values can be changed at the user convenience in such a way that the maximum value is strictly larger than the minimum one.

Note that for parameters whose default value is zero, the minimum and maximum default values are also both equal to zero and must be changed in order to respect the previous condition.

Note also that those parameters which are integers (like for instance diffraction orders,...) cannot be chosen as variable parameters for the calculations.

Links to tooltips ("about", "caution", "parameters", "glossary") are proposed for a better understanding of the calculation. They can be opened from the menu at the top of the calculation table(s). Here are their functions:

- "about" displays a tooltip explaining what the calculation does.

- "caution" displays a tooltip detailing the main precautions when entering the input data.

- "parameters" displays a tooltip giving the meaning of each parameter involved in the calculation.

- "glossary" displays a tooltip giving the definition of some specific words used in the page or relevant to the calculation.

A link to a "tutorial" related the calculation topic is also displayed on the right of the tooltips menu.

The tooltips appear when the user hover the mouse over its label. It is also possible to display a tooltip content in a separate page by clicking on its label.

Note that in addition to the "parameters" tooltip, the definition of each parameter is also displayed in a pop-up when the user hover the mouse over its label (corresponding to the relevant cell of the "input", "ouput" or "parameters" column).

Here is and example of tooltip displayed when the user hover the mouse on the "caution" link:


Here is an example of tooltip displayed when the user hover the mouse on the "parameters" link


Here is an example of pop-up displayed when the user hover the mouse on a parameter label.


In some computation pages, the refraction index is an input parameter. The user can enter either a number or a glass reference

Catalog page

The user can either enter a number or a glass reference from the catalog page. The catalog (path: "handy calculations/General parameters/catalogs").

On the left of this page, several links to catalogs are available. After choosing a catalog, it is possible to select a reference in the "glass" cell" and calculate the refraction index for the wavelength that is entered in the "lam" cell. The constringences and the lowest wavelength insuring an acceptable transmission are also displayed. These values may help to select a reference and check that it is adequate for the calculation of interest.

glass catalog page

Note that No other glass than the "theoretical" one can be used without logging. The "generic" catalog is available with a "student" license. All other catalogs can only be used with a "premium" license.

Entering a glass reference as a refraction index

In some pages, both refraction index and wavelength are input parameters. If entering a glass reference in the refraction index value cell instead of a number, the refraction index used in the calculation is the one of the reference at the entered wavelength.

glass reference page

In some other pages, the wavelength is not an input. when entering a glass reference in the refraction index cell, the refraction index used in the calculation is the one at a wavelength by default displayed on the top of the input tables when processing the calculation.

glass reference page

Initially, the default wavelength is 0.55 microns. However, it can be changed by clicking on the wavelength page and enterring a new value in the "lam" cell. When the wavelength is an input parameter of the computation page, the enterred wavelength is also registered as the new default wavelength that can then be used in other calculations.

In the wavelength page, two other parameters can be changed: "lam_min" and "lam_max" which are respectively the minimum and maximum wavelengths used in the calculations related to chromatism.

Note that It is necessary that "lam_min" < "lam" < "lam_max", otherwise an error message is displayed.

wavelengths page

For chromatism calculations, instead of enterring the refraction indexes of a medium corresponding to the smallest and the largest wavelengths of the considered spectrum, the user can also enter a glass reference from the catalogs defined in the catalogs link. The refraction indexes used at the smallest and largest wavelengths will be respectively those of the chosen reference respectively at the minimum and maximum default wavelengths which are automatically set at 0.48613 microns and 0.65627 microns but can be changed at the users convenience. These wavelengths are displayed on top of the input table once the calculation is processed.

chromatism page

When the constringence is an input, it can also either be a number or a glass reference. If it is defined by a glass referece, the calculation is processed with the selected glass constringence.

constringence page

© Copyright 2018 Clavis SARL. All rights reserved

Advanced calculations

Advanced Calculations is a flexible tool enabling more complex computations than the Handy Calculations pages. It is focused on the analysis of optical systems through the "Advanced calculations/system analysis" page (later called system analysis page). It therefore simulates the real propagation of rays. In addition, paraxial and radiometric calculations are also available.

Almost all kind of systems are compatible for calculations. Actually, up to 22 surfaces can be entered. Different types of surfaces can be used: spherical, conical, aspherical, toroidal, biconical, paraxial and paraxial without symmetry of revolution. The tool offers the possibility to tilt and decenter surfaces.

The aperture can be defined in different ways: numerical aperture, half angle, surface diameter and f-number. It's position is specified by a surface of the system. Alternatively, the system can be telecentric in the object space or in the image space. The use of circular and rectangular aperture/obscuration is also possible.

Up to 7 different wavelengths and 7 different fields can be employed.

In addition, radiometric calculations can be processed with various sources (including black and grey bodies) of different shapes: punctual, circular, rectangular, cylindrical and annular.

Many options are available for the calculations and the display of results. Finally, it is possible to save the actual input data in the user computer (no input data is stored on the "" server). Various analysis features are proposed.

Among others, the possible calculations include 3D texture ray tracing, spot diagrams, ray aberrations, wave front errors, point spread functions and modulation transfer function. Additionnally, it is possible to evaluate the best position for the observation surface based on a spot size analysis.

The features also include paraxial and chromatism analysis as well as the evaluation of the transmitted power from a source.

home page

home page

After clicking on the "Advanced calculation/system analysis" link, the user is redirected to a page enabling to enter the number of surfaces of the system. This is the appropriate page to start with as the number of surfaces has to be defined first. Regardless the page displayed when browsing the "Advanced calculation/system analysis" tool, the same menus will always be proposed on the same line just below the header:

- "Input" menu (enabling to define input parameters) (1),
- "output" menu (enabling to perform calculations) (2),
- "save/upload" (links to a page enabling to save or upload input data - only displayed if the user is logged) (3).

"Input" menu

The "input" drop-down menu includes the following list:

- "number of surfaces" (enables user to define the number of surfaces of the system),
- "surfaces parameters" (enables user to define all the parameters of the surfaces),
- "add or remove a surface" (enables user to add or remove a surface anywhere in the system),
- "aperture and fields" (enables user to define the aperture size and location as well as the fields of interest),
- "wavelengths" (enables user to define the wavelengths of interest),
- "light source" (enables user to define the light source for the radiometric calculations),
- "options" (enables user to define optional parameters for calculation and display).

"Output" menu

The various calculations can be carried out from four drop-down menus: "paraxial", "aberrations", "chromatism" and "radiometry". Each drop-down menu displays links to calculations and to the associated tutorials.

The "paraxial" menu includes the following calculations links:

- "conjugation" (calculates the paraxial conjugation and paraxial parameters),
- "aperture" (calculates the paraxial aperture in the object and image spaces).

The "aberrations" menu includes the following calculations links:

- "2D ray tracing" (displays the rays and system in a plane),
- "3D wire frame ray tracing" (displays the rays and the outlines of the system in 3D),
- "3D texture ray tracing" (displays the rays and the textured system in 3D),
- "one ray calculation" (calculates the propagation of a single ray),
- "spot diagram" (displays the spot diagram),
- "ray aberration" (displays the ray aberration curves),
- "encircled energy" (displays the encircled energy curve),
- "table WFE" (displays the wave front error in a table),
- "surface WFE" (displays the wave front error as a 3D surface),
- "MTF" (displays the modulation transfer function curve),
- "best focus" (calculates the best focus position for the observation surface),
- "PSF" (displays the point spread function in a table),
- "PSF cut-out" (displays the point spread function cut-out as a curve),
- "vignetting" (calculates the ratio of transmitted rays).

The "chromatism" menu includes the following calculations list:

- "longitudinal chromatism (displays in a curve the paraxial image position depending on a the wavelength).

The "radiometry" menu includes the following calculations list:

- "transmitted flux" (calculates the ratio of transmitted power).

input page

Each link of the "input" drop-down menu forwards the user to an input page containing the following blocks:

- one or several input tables with as many validation buttons as tables,
- links to tooltips and to a tutorial on the top of each table for a better understanding and usage of the tables.

Input tables

The input tables are different from each other. They can include all kinds of usual cells as text cells, check boxes, selection lists and radio buttons.

Some input pages (like "surfaces parameters" or "aperture and fields") may display several input tables. The input parameters are effectively recorded if the related table is validated with the related button. In other words, it is not possible to enter input parameters in different tables and then validate the tables one after the other. Indeed, once the input parameters from a table are entered, the said table has to be validated before input parameters from another table are entered.

input table

The maximum number of characters for the input capture depends on the input parameter and is at most 14. Therefore, the maximum number of decimals is dependent on the input number itself and is limited to 13 for positive numbers and 12 for negative ones when using a normal notation. However, it is also possible to use the scientific notation ( for instance, it is possible to enter 1.23e-12 instead of .000000000000123, which would not be possible because of the limited number of characters).

Tooltips and tutorial

Tooltips are displayed when the user hover the mouse over the "about" and "caution" buttons. They are alternately displayed in a separate page if the user clicks on the related button. "About" is a tooltip explaining what are the different parameters of the table. "Caution" gives recommendations on how to correctly enter the parameters in the table. The "tutorial" link displays a page with more explanations about the input parameters and the way to define them.

input table

Order of input parameters

The parameters of an optical system by default (actually a lens) are first automatically loaded. There is a good chance that the system to analyze will be a different one. It is then necessary to enter the input parameters in the following order:

- 1) the number of surfaces ( "number of surfaces" input link),
- 2) the mandatory surfaces parameters ( "mandatory parameters" table of the "surfaces parameters" input link),
- 3) the aperture ( "aperture" table of the "aperture and fields" input link).

Indeed, this input entry order limits the impossibility or incompatibility cases. However, while entering parameters, any impossibilities or incompatibilities are detected and an error message will appear. The order in which the other parameters are defined is random.

home page

A calculation is directly performed by clicking on the related link of the "output" drop down menu. Depending on the selected calculation, the result is displayed through a graphic, in a table or in a text.

home page

A tutorial related to the calculation can be opened by the link "tutorial" located just below the calculation link in the "output" drop down menu. The tutorial details how the calculation may be completed and gives information on the possible options that can be used.

home page

It is possible to save or upload all the input parameters used for the "advanced calculations" through the "save/upload" link at the top-right of the screen, just below the header (This button is only displayed if the user is logged in). The user is then forwarded to a new page including a "save" button (1) on the left and a large cell (2) with an "upload" button (3) on the right.

For saving the input parameters, simply press the "save" button. The input parameters are then stored in the "download" folder of the user computer in a file named optical-calculation_"xxxxx".txt, where "xxxxx" is a compression of the user login (user email without dots and @ sign).

For uploading input parameters, the content of a file created by the precedent process or from the "" library has to be fully copied and pasted in the "upload" cell. The "upload" button must then be clicked. The user can check that the file has been correctly uploaded by screening the different input tables.

Note that to ensure maximum confidentiality, these files are never saved on the "optical-calculation" server.

Important: in order to avoid input data loss, it is recommended to save them regularly. Indeed, these data are no more available once the user session has expired.

© Copyright 2018 Clavis SARL. All rights reserved

Other features

home page A list of Links to tutorials is displayed through the link "tutorial" of the general drop down menu (on the right of the header). Each link is an illustrative scheme connected to the related tutorial. The topics discussed in the tutorials are those covered by the "handy calculations".

Each calculation page includes also a link to a specific "tutorial" page as mentionned before.

Note that those tutorials are accessible only for users who are connected.

home page

A glossary is accessible through the link "glossary" of the general drop down menu displayed on the right of the header. It contains the definition of many words currently employed in photonics.

© Copyright 2018 Clavis SARL. All rights reserved