Git Product home page Git Product logo

simple-monte-carlo-simulator's Introduction

Simple Monte Carlo Simulator

The Simple Monte Carlo Simulator is a standalone executable capable of simulating
Avalanche Photodiode (APD) and Single Photon Avalanche Photodiode (SPAD) characteristics.
Written in C++.

----------------------
Software Capabilities
----------------------
There are three main modes within the software with different capabilities.
The three modes are "Diode Properties", "Drift Velocity" & "Impact Ionization Coefficients"

Diode Properties Mode:
Can produce the following characteristics of an input APD or SPAD structure.
- Avalanche Gain/Multiplication Factor
- Excess Noise Factor
- Breakdown Probability
- Mean Time to Breakdown


Drift Velocity Mode:
Can produce the following characteristics of a simulated material.
- Electron Drift Velocity
- Hole Drift Velocity

Impact Ionization Mode:
Can produce the following characteristics of a simulated material.
- Electron Impact Ionization Coefficients (Alpha)
- Hole Impact Ionization Coefficients (Beta)

----------------------
Material Capabilities
----------------------

Currently Simple Monte Carlo parameter sets have been implimented for the following materials:
-Silicon
-Gallium Arsenide
-Indium Gallium Phosphide

----------------------
File Structure
----------------------
-doc
	Documentation on how to use the executables.
-src
	Contains the Source Code
-User Files
	Contains examples of input files required for diode properties mode.
-Build
	Contains a compiled exe for each tagged version.
	
----------------------
Support/Issues
----------------------

If you encounter any issues with the Simple Monte Carlo Simulator please post an issue on the GitHub repository.

----------------------
Citations
----------------------

Please use the citation below if you use the Simple Monte Carlo Simulator, please aslo use the citation for
the corresponding material parameter set(s).

Petticrew, J.D., Dimler, S.J. & Ng, J.S., (2018). Simple Monte Carlo Simulator for Modelling Linear Mode
and Geiger Mode Avalanche Photodiodes in C++ . Journal of Open Research Software . 6 ( 1 ) , p . 17 . 
DOI: http://doi.org/10.5334/jors.212


Please use the following citations for the material parameter sets:

Silicon
X. Zhou, J. S. Ng, and C. H. Tan, ‘A simple Monte Carlo model for prediction of
avalanche multiplication process in Silicon’,J. Inst., vol. 7, no. 08, p. P08006, 2012.
DOI: https://doi.org/10.1088/1748-0221/7/08/P08006

Indium Gallium Phosphide
C. H. Tan, R. Ghin, J. P. R. David, G. J. Rees, and M. Hopkinson, ‘The effect of dead
space on gain and excess noise in In0.48Ga0.52P p+in+ diodes’, Semiconductor Science
and technology, vol. 18, no. 8, p. 803, 2003.
DOI: https://doi.org/10.1088/0268-1242/18/8/314

Gallium Arsenide
S. A. Plimmer, J. P. R. David, D. S. Ong, and K. F. Li, (1999). A simple model for avalanche
multiplication including deadspace effects. IEEE Transactions on Electron Devices, vol.46, 
no.4, pp.769-775. DOI: https://doi.org/10.1109/16.753712


----------------------
Licensing
----------------------
Please see the file LICENSE.txt
Please see the file NOTICE.txt for any applicable notices.

simple-monte-carlo-simulator's People

Contributors

jdpetticrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

aydin1992

simple-monte-carlo-simulator's Issues

missing the VS project file plus extra

  1. The source code has a missing VS project file.
  2. The option to add additional T dependent material properties (listed below) through the user file can be very helpful. The short description of the input parameters in the manual can be helpful as well.
    e_mass=(user inputfree_mass);
    h_mass=(user input
    free_mass);
    e_meanpath=user input;
    h_meanpath=user input;
    e_Eth=(user inputq);
    h_Eth=(user input
    q);
    e_Cii=user input;
    h_Cii=user input;
    e_gamma=user input;
    h_gamma=user input;
    hw=(user input*q);
    MAX_eV=user input;
    Vbi=user input;
    die=user input;

HgCdTe simulation

Hello, I am trying to change the HgCdTe device parameters while changing your program to make it suitable for HgCdTe, but the result is completely opposite to the experiment. For example, after I increase the length of the multiplication zone, the gain increases instead. I don’t know why, if you can give me some guidance, I would be very grateful

problem

why the calculated excess noise is not match with the paper when the multiplication width is 820nm
the calculated excess noise keeps a low level whatever how long of the multiplication region
thx

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.