All Projects → rafael-fuente → Incoherent-Light-Simulation

rafael-fuente / Incoherent-Light-Simulation

Licence: BSD-3-Clause license
Simulation of the propagation of incoherent light, aiming to illustrate the concept of spatial coherence.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Incoherent-Light-Simulation

fdtd
A 3D electromagnetic FDTD simulator written in Python
Stars: ✭ 195 (+98.98%)
Mutual labels:  simulation, physics, fdtd, physics-simulation, photonics
Spirit
Atomistic Spin Simulation Framework
Stars: ✭ 67 (-31.63%)
Mutual labels:  simulation, physics, physics-simulation
opem
OPEM (Open Source PEM Fuel Cell Simulation Tool)
Stars: ✭ 107 (+9.18%)
Mutual labels:  simulation, physics, physics-simulation
GAMES103
notes and related materials for GAMES103
Stars: ✭ 21 (-78.57%)
Mutual labels:  simulation, physics, physics-simulation
Articulations Robot Demo
Stars: ✭ 145 (+47.96%)
Mutual labels:  simulation, physics-simulation
Physics3d
A 3D physics engine
Stars: ✭ 101 (+3.06%)
Mutual labels:  simulation, physics
Physac
2D physics header-only library for videogames developed in C using raylib library.
Stars: ✭ 151 (+54.08%)
Mutual labels:  simulation, physics
BowlerStudio
A Full-Stack Robotics Development Environment
Stars: ✭ 95 (-3.06%)
Mutual labels:  physics, physics-simulation
Game Dogfight
Air to air combat game, created in Python 3 using HARFANG 3D.
Stars: ✭ 41 (-58.16%)
Mutual labels:  simulation, physics
Carsimulator
A Top Down 2D Car Simulator For Unity
Stars: ✭ 184 (+87.76%)
Mutual labels:  simulation, physics-simulation
gopem
GUI for OPEM library
Stars: ✭ 20 (-79.59%)
Mutual labels:  physics, physics-simulation
Psrealvehicle
Plugin for Unreal Engine 4 with simple force-driven vehicle simulation
Stars: ✭ 92 (-6.12%)
Mutual labels:  simulation, physics
Ign Gazebo
Open source robotics simulator. Through Ignition Gazebo users have access to high fidelity physics, rendering, and sensor models. Additionally, users and developers have multiple points of entry to simulation including a graphical user interface, plugins, and asynchronous message passing and services. Ignition Gazebo is derived from Gazebo, and represents over 16 years of development and experience in robotics and simulation. This library is part of the Ignition Robotics project.
Stars: ✭ 81 (-17.35%)
Mutual labels:  simulation, physics
Assistive Gym
Assistive Gym, a physics-based simulation framework for physical human-robot interaction and robotic assistance.
Stars: ✭ 150 (+53.06%)
Mutual labels:  simulation, physics-simulation
magpylib
Python package for computation of magnetic fields of magnets, currents and moments.
Stars: ✭ 95 (-3.06%)
Mutual labels:  physics, physics-simulation
Pydy
Multibody dynamics tool kit.
Stars: ✭ 232 (+136.73%)
Mutual labels:  simulation, physics
creative-coding-notebooks
🎨 An authorial collection of fundamental recipes on Creative Coding and Recreational Programming.
Stars: ✭ 17 (-82.65%)
Mutual labels:  physics, physics-simulation
Libbulletjme
A JNI interface to Bullet Physics and V-HACD
Stars: ✭ 55 (-43.88%)
Mutual labels:  physics, physics-simulation
FrisPy
Frisbee flight simulator written in Python.
Stars: ✭ 23 (-76.53%)
Mutual labels:  physics, physics-simulation
Imagine Old
Modeling and simulations using computational graphs
Stars: ✭ 25 (-74.49%)
Mutual labels:  simulation, physics

Incoherent-Light-Simulation

DOI

This is a project that consists of a compilation of educative optical simulations with the goal of illustrating the concept of spatial coherence.

The simulations focus on visualizing the differences between the behavior of incoherent and coherent light propagation through different time scales: femtoseconds, picoseconds, and microseconds. When the time scale goes up and the field is averaged, the interferometric visibility of the fringes disappears, yielding a uniform distribution.

How the simulations are done

These simulations are performed by computing the field created by point sources with random phases and randomly placed inside the light source dimensions.

Time averaging is done using Monte Carlo integration.

Then, the simulation is represented and animated with matplotlib.

Check the video for the demonstration and the article for further explanation.

Installation

Just clone or download the repository. The package requeriments are:

  1. numpy
  2. matplotlib
  3. progressbar

Simulations

To perform the simulations, just run from the command prompt the corresponding Python scripts:

python simulation_femtoseconds.py

animation

python simulation_picoseconds.py

animation

python simulation_microseconds.py

animation

The double slit experiment finite-difference time-domain (FDTD) simulations reproduce the results of the Van-Cittert-Zernike theorem, showing how the interferometric visibility of the fringes varies due to the different parameters of the simulation.

Simulations of the double slit experiment with incoherent and coherent light.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].