Skip to main content

POCAL (Python Optical Coating Analysis Library)

Project description

POCAL

POCAL (Python Optical Coating Analysis Library) allows to easily design optical coatings both as single layer and as multilayer stack, monitoring a wide variety of optical properties and, moreover, giving the possibility to automatically refine the multilayer design to achieve the desired optical goals. The library is completely open source, and it can be easily coupled to several Python-based ray tracers or libraries to work on more complex simulations. The results have been extensively tested and are comparable with the ones obtained using commercial software.

Downloading POCAL

Downloading the library is very easy using pip :

pip install pocal

Supporting files can be downloaded from: https://github.com/tommasofontanot/pocal/tree/main/resources

The folder with the resources needs to be made the current working directory.

import os
os.chdir(resources folder)

Cite POCAL

If you use the library, please cite the paper published in Optics Continuum: Fontanot, T., Bhaumik, U., Kishore, R. and Meuret, Y., 2023. POCAL: a Python-based library to perform optical coating analysis and design. Optics Continuum, 2(4), pp.810-824. DOI: https://doi.org/10.1364/OPTCON.484972

Using the library

The library can be called as follows:

import pocal
import os
os.chdir('resources folder')
#upload the prescription file(here 3layers.txt), angle of incidence, minimum wavelength, maximum wavelength, wavelength resolution, 
#reference wavelength, optical thickness and type of refinement
test = pocal.pocal(r'3layers.txt',40,200,1500,1,600,False,None)

Defining the Prescription file

The prescription file represents the stacking of the materials. An example is shown below:

+----Immersing Medium----+-Glass----------+

+----Layer3----------------+-TiO2-------------50 nm+

+----Layer2----------------+-SiO2-------------60 nm+

+----Layer1----------------+-TiO2-------------70 nm+

+----Substrate-------------+-Glass------------+

To simulate the proposed design, the prescription text file must be written as follows:

image

Python tutorial

An in-depth tutorial to use the library can be found here: POCAL Tutorial

License

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pocal-2.236-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file pocal-2.236-py3-none-any.whl.

File metadata

  • Download URL: pocal-2.236-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.7

File hashes

Hashes for pocal-2.236-py3-none-any.whl
Algorithm Hash digest
SHA256 55aa4bb0713bdfd8f9b0a971adea2ee5fe804c43967e2c297289caefb90efb45
MD5 78e7c406fb91f20cedb38b62c86703ac
BLAKE2b-256 7dd65c592e4913dc140ad0fefbb4855663284e3d561eaab2a3465b602a4104d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page