Skip to content

A variety of numerical simulations of 2D wave equation using Finite Difference Method. Simulation-based analysis of wave basic phenomena: diffraction and interference.

Notifications You must be signed in to change notification settings

gabri-aero/waves_simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Numerical 2D wave simulation

  • A variety of numerical simulations of 2D wave equation using Finite Difference Method.
  • Simulation-based analysis of wave basic phenomena: diffraction and interference.

The Wave Equation



Initial conditions


To run all the simulations I have used the same IC

This IC best simulates a puntual wave source caused by a droplet in a water surface for instance.

Boundary conditions

I have define a squared domain with boundaries sufficiently far away from the region of study that they will not have a particular influence. However I have run some tests with homogeneus Dirichlet conditions, which are the simplest ones.

  • Dirichlet conditions:



The Finite Difference Method

Based on numerical differentiation expressions, we can handle easily PDEs. Given that the basic wave equation consists of 2nd order partial derivatives, the same expresion can be used to simpify the whole equation:

Space-time discretization

In this problem, there are 3 variables involved: 2 space dimensions and time. So, we will perform a 3D discretization which consists of splitting every dimension in parts to perform numerical solution of the wave equation.



For simplicity, mesh will be equal in both spatial dimensions:

Wave PDE algorithm




GENERAL ALGORITHM

Single slit experiment. Difraction pattern

Double slit experiment. Difraction-interference pattern

About

A variety of numerical simulations of 2D wave equation using Finite Difference Method. Simulation-based analysis of wave basic phenomena: diffraction and interference.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages