Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vikas2171/finite-difference-method

This repository features MATLAB projects using Finite Difference Methods to solve Laplace's equation and Maxwell's equations. It includes a 2D Laplace's Equation Solver and a 1D FDTD Simulation with wave propagation and absorption, providing practical understanding and visualization tools.
https://github.com/vikas2171/finite-difference-method

fdtd finite-difference-method laplace-equation matlab maxwell-equations numerical-methods

Last synced: 24 days ago
JSON representation

This repository features MATLAB projects using Finite Difference Methods to solve Laplace's equation and Maxwell's equations. It includes a 2D Laplace's Equation Solver and a 1D FDTD Simulation with wave propagation and absorption, providing practical understanding and visualization tools.

Awesome Lists containing this project

README

        

# Finite Difference Methods: Laplace's and Maxwell's Equations

## Introduction
This repository contains two MATLAB projects demonstrating the application of finite difference methods:

1. __Laplace's Equation Solver:__ Implements the finite difference method (FDM) to solve Laplace's equation in a 2D grid. This simulation is used to determine the potential distribution in a rectangular domain with specified boundary conditions.

2. __Finite Difference Time Domain (FDTD) Simulation:__ Implements the FDTD method to solve Maxwell's equations in a one-dimensional domain. This simulation includes Mur's absorbing boundary conditions to model wave propagation and absorption.

Both projects are designed to provide a practical understanding of these numerical methods and their applications in computational physics.
## Objectives
- Implement the Finite Difference Method to solve Poisson's and Laplace's equations.
- Apply the Finite Difference Time Domain method to simulate electromagnetic wave propagation.
- Develop MATLAB scripts for solving differential equations and simulating time-domain behavior.
## Project Structure

The repository contains the following files:

* `Laplace.m` - MATLAB script to solve Laplace's equation using the finite difference method.
* `TimeDomain.m` - MATLAB script to solve Maxwell's equations using the finite difference time domain method.
## Features

### Laplace's Equation Solver
* Solves Laplace's equation using a grid-based finite difference method.
* Allows user-defined boundary conditions for potential on the edges of the grid.
* Provides visualization of the potential distribution using a 3D surface plot.

### Finite Difference Time Domain (FDTD) Simulation

* Solves Maxwell's equations in a 1D domain using the FDTD method with leap-frog scheme.
* Implements Mur's absorbing boundary conditions to model wave absorption.
* Plots the electric and magnetic field intensities over time to visualize wave propagation.
## Technologies Used

* __MATLAB:__ The primary programming environment for implementing the finite difference methods and simulations.
* __MATLAB Plotting Functions:__ For visualization of results and field distributions.
## Important Notes

1. Ensure that MATLAB is properly installed and configured to run the provided scripts.
2. The grid resolution and simulation parameters can be adjusted in the scripts to suit different problem sizes and resolutions.
3. For theory and detailed explanation of the methods, refer to the [Documentation](https://docs.google.com/presentation/d/1EKptOWMXIFsXeU-AglO7u-vVLGhU4iwj/edit?usp=sharing&ouid=112359432576437648839&rtpof=true&sd=true) provided.
## Installation

1. Clone the repository or download the project files.
2. Open MATLAB and navigate to the directory containing the scripts.
3. Run the scripts `Laplace.m` or `TimeDomain.m` to execute the simulations.
## Usage
- __Laplace's Equation Solver:__ Modify boundary conditions and iteration parameters as needed in the script before running.
- __FDTD Simulation:__ Adjust the spatial step, time step, source position, and other parameters according to your simulation needs.
## 🚀 About Me

My name is __Vikas Prajapati,__ and I am currently pursuing a __BTech in Computer Science and Engineering from IIT Jammu__. This project aims to strengthen my understanding of numerical methods by implementing and analyzing the finite difference techniques for solving Laplace's equation and Maxwell's equations.
## 🔗 Links

[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/vikas-prajapati-577bab252/)