Laboratoire des Revêtements Fonctionnels et d'Ingénierie des Surfaces (LaRFIS)

Vous êtes ici

Liens

IonAssistant

IonAssistant est un outil permettant de:

  • Modéliser la distribution de densité de courant d'ions
    • sur des porte-substrats stationnaires ou en rotation
    • en tenant compte de l'effet d'un masque
  • Optimiser la distribution pour
    • maximiser le courant total
    • maximiser l'uniformité
    • trouver un compromis entre les deux en leur donnant des facteurs d'importance

 IonAssistant est un programme dont le code source est redistribuable. Ce dernier a été codé en langage MATLAB. Afin de vous en servir, vous aurez besoin de

  •  Télécharger le code source  IonAssistant_mat.zip. Vous aurez besoin de la version de MATLAB 2011 (ou plus récente) pour l'utiliser, ainsi que des toolbox suivants:
    • optimization toolbox
    • image toolbox
  • ou de télécharger la version compilée en .exe pour ordinateurs 32-bit (Windows): ionAssistant.exe version4 
    • Vous aurez besoin de la bonne version de MATLAB MCR pour l'exécuter. Si vous n'avez pas la bonne version, un pop-up vous indiquant laquelle installer apparaîtra lorsque vous essaierez d'exécuter le programme. 
    • http://www.mathworks.com/products/compiler/mcr/

Programmé par Martin Caron.

Idée originale et supervision par Oleg Zabeida.

Le détail du calcul de ces distributions peut être trouvé dans notre article:

V.Marushka, O. Zabeida,L. Martinu, "Distribution of ion current density on a rotating spherical cap substrate", J.Vac.Sci.Technol. A 32(6) (2014) 061513

OpenFilters

OpenFilters est un logiciel libre et gratuit, disponible sous la license GNU General Public License, pour le design des filtres optiques interférentiels.

OpenFilters offre de multiples outils pour le design et l'optimization des filtres optiques interférentiels, incluant le refinement, la méthode needle, la méthode step, la méthode de la transformée de Fourier et les filtres rugates multibandes. OpenFilters peut calculer la transmission, la reflexion, l'absorption, les variables ellipsometriques, la phase, le temps de propagation de groupe, la dispersion du temps de propagation de groupe, les diagrammes de cercle et d'admittance, la distribution du champs électrique et la couleur du filtre. OpenFilters peut aussi générer les courbes de contrôle photometriques ou ellipsometriques. Le logiciel est décrit dans l'article: Stéphane Larouche et Ludvik Martinu, «OpenFilters: open-source software for the design, optimization, and synthesis of optical filters», Applied Optics, vol. 47, no. 13, 2008, p. C219-C230.

OpenFilters a été créé par Stéphane Larouche alors qu'il était un étudiant aux cycles supérieurs à l'École polytechnique de Montréal sous la supervision du professeur Ludvik Martinu.

CAPTURES D'ÉCRAN

Fenêtre principale d'OpenFilters sous Windows Dialogue de la méthode de la transformée de Fourier sous Mac OSX Dialogue de la méthode needlesous Ubuntu

OPENFILTERS EN ACTION

Voici quelques examples récents de ce qui peut être réalisé à l'aide d'OpenFilters:

CONTACTEZ-NOUS

Veuillez envoyer tout commentaires, bogues et questions à OpenFilters@polymtl.ca. Si vous désirez être tenu informé de la disponibilité de nouvelles versions d'OpenFilters, veuillez l'indiquer dans votre courriel. Nous n'utiliserons pas votre adresse pour d'autres raisons.

Télécharger

OpenFilters 1.1.1 (2016/12/19)

This is a bug fix release. A complete list of changes can be found in the release notes.

Cette version est une version de maintenance. Une liste complète des changements effectués est disponible dans les notes de version (en anglais seulement).

OpenFilters 1.1 (2015/12/18)

OpenFilters 1.1 includes many more optimization targets, a tool to simulate the effect of random fabrication errors, the possibility to import a material or an index profile from a text file, the Sellmeier dispersion model, as well as many bug fixes. A complete list of changes can be found in the release notes.

OpenFilters 1.1 inclut plusieurs nouveaux objectifs pour l'optimisation, un outil pour simuler les erreurs de fabrications aléatoires, la possibilité d'importer un matériaux ou un profil d'indice depuis un fichier texte, le modèle de dispersion de Sellmeier, ainsi que la correction de plusieurs bogues. Une liste complète des changements effectués est disponible dans les notes de version (en anglais seulement).

OpenFilters 1.0.2 (2008/04/04)

This is a bug fix release. A complete list of changes can be found in the release notes.

Cette version est une version de maintenance. Une liste complète des changements effectués est disponible dans les notes de version (en anglais seulement).

OpenFilters 1.0.1 (2007/12/08)

This is a bug fix release. A complete list of changes can be found in the release notes.

Cette version est une version de maintenance. Une liste complète des changements effectués est disponible dans les notes de version (en anglais seulement).

OpenFilters 1.0 (2007/06/03)

First public release of OpenFilters.

Première version publique d'OpenFilters.

Guide de démarrage (anglais)

OBTAINING AND INSTALLING OPENFILTERS

You can download the latest version of OpenFilters on the download page. You may download a Windows installer (32 or 64 bits), a Mac OS X installer, or the source code.

On Windows, it is very easy to install OpenFilters: download the installer and run it.

On Mac OS X, download the disk image (.dmg file), mount it, and install OpenFilters by draging it onto the application folder.

There is no official compiled version of OpenFilters available for other operating systems (such as Linux). In that case you need install Python and wxPython on your system, download the source code, and run the file Filters.py using Python. We have tested OpenFilters with success on Ubuntu, OpenSUSE, and FreeBSD. We believe it should work on any system where Python and wxPython are installed.

THE FIRST TIME YOU RUN OPENFILTERS

The first time you run OpenFilters, you will be requested to choose a directory for the user materials. User materials are materials created by the user, in addition to those provided by default with OpenFilters. Any advanced use of OpenFilters will require the use of user defined material, so you should not skip this step. Obviously, you should choose a directory where you have write access, or otherwise you will not be able to create new materials.

DESIGNING AN AR COATING

To demonstrate some of the basic features of OpenFilters as well as a typical workflow, we will design an antireflective (AR) coating for a fused silica lense in the visible spectrum. We will demonstrate the use of refinement.

The first step in using OpenFilters is creating a project (menu item File|New Project). A project is meant to group many filters designed to respect a set of targets.

Once you have created a new project, you can add filters to it (menu item Project|Add Filter). When you add a filter to a project, you are presented a dialog to set some of its basic properties (Fig. 1). You should first set the substrate and medium. For this example, let the substrate be fused silica and the medium be vacuum (void).

Fig. 1 - Filter properties dialog for the sample AR coating.

Then, you should set the wavelength range and resolutions. This determines the spectrum where the filter properties will be calculated. Since we want to design a AR coating for the visible, let's set the wavelength range from 380 nm to 780 nm, with an increment of 1 nm. The reference wavelength is the wavelength at which the index profile is shown, and it is used to calculate the optical thickness of the layers. Let us set it to the middle of the visible, 580 nm.

Finally, the lens will need an AR coating on both its front and back sides. However, it is simplier to design them one at a time. Therefore, we will only consider the front surface by unchecking the Consider backside checkbox in the Analysis box at the bottom left.

Other properties apply to graded-index filters, color calculation, and monitoring. They will not be used in this example.

Click OK. You can modify the properties of a filter at a later moment by using the menu item Filter|Properties.

We are now ready to begin adding layers to the filter. A well know way to design a broadband AR coating is to use a quarter wave of a medium index material, followed by a half wave of the hign index material and, finally, a quarter wave of low index material. To add a layer, select the menu item Filter|Add layer and a dialog box shown in Fig. 2 will be shown. Put SiN in the material box and 71.5 in the thickness box. Repeat the operation to add a 120 nm thick layer of TiO2 and a 80 nm thick layer of SiO2.

Fig. 2 - Add Layer dialog to add 71.5 nm of SiN.

Now that you have defined a filter, you can calculate its optical properties. In the present case, we are mainly interested by the reflection, which can be calculated by selecting the menu item Analyse|Calculate Reflection. After you have calculated the reflection, the main window of OpenFilters should look like that shown in Fig. 3.

Fig. 3 - Main window after calculation of the reflection.

The top part of the main window has tabs to show the filters and the targets included in a project. This is also a tab to put a text comment. If you double-click on a filter, you can see the layers of that filter (see Fig. 4). To go back to the list of filters, click the button Back to filter list.

Fig. 4 - Other view of the main window after calculation of the reflection.

We are interested in optimizing a filter that minimizes the reflection in the visible. For that, we can add a continuous target by selecting the menu item Project|Add Target|Add Reflection Spectrum Target. Select a range of wavelength and an increment (from 380 nm to 780 nm by 5 nm) and indicate that you want 2 definition points. Enter 2 points at the two extremes of the visible range with a reflection of 0 (as in Fig. 5}); the reflection for wavelengths in between those 2 points will be interpolated.

Fig. 5 - Add target dialog with a target for a visible AR filter.

Then you can optimize the filter by selecting the menu item Design/Optimize|Refine. You will be presented with the dialog shown in Fig. 6}. Click Go to optimize the filter and Ok when you are done. You can finally calculate the reflection of the optimized filter as you did before and the main window should look like that presented in Fig. 7}. By comparing Figs. 4 and 7, you can see that the reflection is now smaller over most of the visible spectrum.

Fig. 6 - Refinement dialog.
Fig. 7 - Main window after refinement.
FAQ

POURQUOI NE PUIS-JE PAS AJOUTER DE NOUVEAUX MATÉRIAUX? MODIFIER LES MATÉRIAUX EXISTANTS?

Il n'est possible d'ajouter ou de modifier des matériaux que lorsqu'il n'y a pas de projet d'ouvert.

EXISTE-T'IL UN MANUEL D'UTILISATION POUR OPENFILTERS?

Malheureusement non. Vous pouvez consulter le guide Guide de démarrage (en anglais seulement) disponible en ligne. Vous pouvez aussi nous faire parvenir vos questions à OpenFilters@polymtl.ca.

DE QUOI AI-JE BESOIN POUR UTILISER OPENFILTERS SOUS WINDOWS, MAC OSX?

Le fichier d'installation contient tout ce dont vous avez besoin pour utiliser OpenFilters sous Windows ou Mac OSX.

PUIS-JE UTILISER OPENFILTERS SOUS LINUX, ... ?

OpenFilters devrait fonctionner sans problème sur tout les systèmes où Python et wxPython sont installés. Nous l'avons essayé avec succès sur plusieurs distributions de Linux. S'ils ne sont pas installés par défaut, vous devez installer Python (2.5 ≤ version < 3.0) et wxPython. Téléchargez ensuite de code source d'OpenFilters, et exécutez simplement le fichier Filters.py en utilisant Python. OpenFilters se plaindra que les libraries abeles et moremath ne sont pas installées; OpenFilters fonctionne sans elles, mais beaucoup plus lentement.

Si vous désirez utiliser les librairies abeles et moremath, vous devrez les compiler. Pour ce faire, vous devez vous assurer que les fichiers d'en-tête de Python sont installés (python-dev ou python-devel, selon les distributions). Par la suite, vous devriez pouvoir compiler les libraires simplement en exécutant "make" dans le répertoire d'OpenFilters. Si votre version de Python est différente, ou que les fichiers d'en-tête sont installés dans un répertoire non-standard, il se peut que vous deviez modifier les Makefiles.

DE QUOI AI-JE BESOIN POUR MODIFIER OPENFILTERS?

Si vous désirez modifier le code source d'OpenFilters, vous aurez besoin de Python (2.5 ≤ version < 3.0) et de wxPython. Si vous désirez recompiler les libraries dynamiques abeles et moremath, vous devrez avoir un compilateur C++. Sous Windows, j'utilise MinGW-w64. Sous Mac OSX, j'utilise clang, qui est fourni avec Mac OSX (si vous ne l'avez pas déjà, il sera installé automatiquement la première foir que vous compilerez les librairies).