Introduction

ctmm (C transfer matrix model) is a software library for modelling optical multilayer thin films in C. It is designed to be as simple as possible, whilst modelling both S and P polarisations simultaneously and correctly handling absorbing (metallic) optical materials with complex refractive indices.

ctmm is primarily intended to be used as a backend for other software, rather than as a standalone tool, in particular ctmm acts as a transfer matrix modelling tool for the tsmpy optical modelling package. As such python bindings are provided in the form of a CPython extension module.

For a detailed introduction to the transfer matrix modelling technique for thin film modelling see:

    1. Yeh, “Optical Waves in Layered Media,” (John Wiley & Sons, Inc.,Hoboken, New Jersey, 1998), pp. 62–63.

Licencing

ctmm is licenced under the MIT licence [LINK TO GITHUB LICENCE.MD].

Reporting bugs

If you find a bug in ctmm please either create an issue on the GitHub repository, or contact one of the authors (see below).

Authors

  • Angus Bridges1, 2 (initial development)

  • Andrew Yacoot 1

  • Thomas Kissinger 2

  • Ralph P. Tatam 2

1 National Physical Laboratory, Teddington, Middlesex, TW11 0LW, United Kingdom
2 Centre for Engineering Photonics, Cranfield University, MK43 0AL, United Kingdom

Bug reports and queries regarding the code should be directed to Angus Bridges in the first instance.