Skip to content
/ TMM Public

Scripts for the 2-port Transfer Matrix Method (TMM) written in Julia.

License

Notifications You must be signed in to change notification settings

steve1029/TMM

Repository files navigation

TMM

Installation

Just download the whole package and run $ python example.py

How to use

  1. First, make a TMM object.

    import TMM
    example = TMM.TMM()
  2. Set the range of wavelength.

    wl = np.arange(550,750,0.2) * nm
    example.set_wavelength(wl)
  3. Then, set the incident angle. Only the incident angle is considered in this short script. Azimuthal angle is not tunable.

    To set an incident angle,

    example.set_incidentangle(angle=np.pi/6, unit='radian')
  4. Set the material properties of the medium. If the medium consists of 4 layers, put six arguments. The first and last arguments are the medium indices for the input(incident) field and output(transmitted) field. If the 4 layers are placed in a vacuum or air, the first and last argument should be 1. The thickness of the mediums can be set by the set_mediumthick method. It also takes 4 arguments because the thickness of the input and output medium is not considered in TMM.

    example.set_mediumindex(1, 1.2, 1.1, 2.2, 1.4, 1)
    example.set_mediumtype('nonmagnetic')
    example.set_mediumthick(800*nm, 502.4*nm, 753.6*nm, 402.4*nm)

======= A Julia code for TMM, an acronym for the Transfer Matrix Method.

Field visualization of TE wave, incidence from left-to-right on a single dielectric slab.

Features

Installation

Examples

4db6fff51b810e86051e926959b96276ac03b406

About

Scripts for the 2-port Transfer Matrix Method (TMM) written in Julia.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published