Awesome
DG Maxwell
_____ _____ __ __ _ _
| __ \ / ____| | \/ | | | |
| | | | | __ | \ / | __ ___ ____ _____| | |
| | | | | |_ | | |\/| |/ _` \ \/ /\ \ /\ / / _ \ | |
| |__| | |__| | | | | | (_| |> < \ V V / __/ | |
|_____/ \_____| |_| |_|\__,_/_/\_\ \_/\_/ \___|_|_|
Introduction
This projects aims at developing a fast Maxwell's Equation solver using using the discontinuous Galerkin method. As first steps to develop this solver, we are developing a library which allows us to solve the 1D wave equation and the 2D wave equation using discontinuous Galerkin method.
1D Wave equation
The 1D wave equation solver is aimed at finding the time evolution of the 1D wave equation using the discontinuous Galerkin method. The 1D wave equation is given by the equation:
where,
where, is a number which denotes the wave speed.
2D Wave Equation Solver
The 2D wave equation solver is aimed at finding the time evolution of the 2D wave equation using the discontinuous Galerkin method. The 2D wave equation is given by the equation:
where,
where, and denotes the component of the wave speed in the and direction respectively.
Through the development of the 2D wave equation solver, the code and the algorithms developed here will help in creating the 2D Maxwell's equation solver. Currently the 2D wave equation solver will focus on solving the wave equation in a rectangular domain in the plane, with periodic boundary conditions.
Dependencies
- matplotlib
- numpy
- arrayfire
- gmshtranslate
- texlive
- h5py
- tqdm
- scipy
- pytest
- pytest-cov
- coveralls
- python-coveralls
Documentation
The documenation for the project can be generated using sphinx
from the docs
directory. You may read the instructions
here.
Unit tests
The unit tests are located in the code/tests directory.
Dependencies
Running Unit Tests
To run the unit tests, enter the following commands
$ cd path/to/the/DG_Maxwell/repo
$ pytest
-
The parameters of the simulation are stored in params.py in the app folder, These can be changed accordingly.
-
To obtain the movie of the 1D wave advection, run
post_processing.py
file after the simulation. The movie will be created automatically and stored inresults
folder.
Maintainers
- Aman Abhishek Tiwari - aman@quazartech.com
- Balavarun P - f2013462@pilani.bits-pilani.ac.in
- Manichandra Morumpudi - mani@quazartech.com