QuazarTech / DG_Maxwell

Solution of Maxwell equations using Discontinuous Galerkin method.
GNU General Public License v3.0
9 stars 5 forks source link

DG Maxwell

Build Status Codacy Badge Documentation Status Coverage Status

_____   _____   __  __                          _ _ 
|  __ \ / ____| |  \/  |                        | | |
| |  | | |  __  | \  / | __ ___  ____      _____| | |
| |  | | | |_ | | |\/| |/ _` \ \/ /\ \ /\ / / _ \ | |
| |__| | |__| | | |  | | (_| |>  <  \ 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:

1d_wave_eqn

where,

u

F

where, c 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:

2d_wave_eqn

where,

u

F

c

where, c_0 and c_1 denotes the component of the wave speed in the hat_i and hat_j 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 xy plane, with periodic boundary conditions.

Dependencies

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

Maintainers