GithubHelp home page GithubHelp logo

insaliujia / matrcwa Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 14.0 53 KB

An electromagnetic simulation tool programmed in Matlab by using the method Rigorous Coupled-Wave analysis (RCWA)

License: MIT License

MATLAB 100.00%

matrcwa's Introduction

RCWA

An electromagnetic simulation tool programmed in Matlab by using the method Rigorous Coupled-Wave analysis (RCWA), developed by Jia LIU.

For the detailed derivation please consult this:

Moharam, M. G., & Gaylord, T. K. (1981). Rigorous coupled-wave analysis of planar-grating diffraction. JOSA, 71(7), 811-818.

Rumpf, R. C. (2011). Improved formulation of scattering matrices for semi-analytical methods that is consistent with convention. Progress In Electromagnetics Research B, 35, 241-261.

Liscidini, M., Gerace, D., Andreani, L. C., & Sipe, J. E. (2008). Scattering-matrix analysis of periodically patterned multilayers with asymmetric unit cells and birefringent media. Physical Review B, 77(3), 035324.

User manual

The program use object oriented programming paradigm in Matlab without using any toolboxes. So only a valide version of Matlab is needed to use it.

Installation

No installation is need but the path has to be added in Matlab as shown in the examples.

How to use

There examples have been given in the exmaple file. Basic simulation needs will be satisfied by changing parameters in the examples. In case, some explanations are given in this file.

Four Objects are mainly used: RCWA, Source, Device and Material.

  • RCWA is the main object to control the RWA calculation engine.
  • Source is used to define the illumination source. Here only plane wave source can be used. The wavelength, polarization and illumination angle can be controled.
  • Device is used to define the details of the simulated structure. In this program different shapes (cylinder, rectangle etc.) can be included.
  • Material is a seperate object to control materials used in simulation. Users have to include reflective index according to a certain format as shown in the material folder. In addition simple reflective index can be defined directly as the example shown in defining the reflective index of Air.

License

MIT

matrcwa's People

Contributors

insaliujia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar Guoqing Ma avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.