# dg1d_poisson

dg1d_poisson, a Python code which uses the Discontinuous Galerkin Method (DG) to approximate a solution of the 1D Poisson Equation. The code is based on a MATLAB code written by Beatrice Riviere, and later translated to Python by Alex Lindsay.

A 1D version of the Poisson equation has the form

```        - ( K(x) u'(x) )' = f(x)  for 0 < x < 1

u(0) = 1
u(1) = 0
```
Here, we will assume that K(x) = 1.

DG1D_POISSON computes an approximate discrete solution to the problem, using a version of the Discontinuous Galerkin method. The interval [0,1] is divided into equal subintervals, over each of which a set of basis monomials are defined, centered at the midpoint of the subinterval, and normalized to have unit value at the subinterval endpoints.

The discontinous Galerkin equations are then set up as the linear system A*c=b, where c represents the coefficients of the basis functions. The result of solving this system can then be used to tabulate, evaluate, or plot the approximate DG solution function.

### Languages:

dg1d_poisson is available in a MATLAB version and a Python version.

### Related Data and codes:

fd1d_advection_lax_wendroff, a python code which applies the finite difference method to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the lax-wendroff method to treat the time derivative.

fd1d_heat_explicit, a python code which uses the finite difference method and explicit time stepping to solve the time dependent heat equation in 1d.

fd1d_heat_implicit, a python code which uses the finite difference method and implicit time stepping to solve the time dependent heat equation in 1d.

fd1d_heat_steady, a python code which uses the finite difference method to solve the steady (time independent) heat equation in 1d.

fem1d, a python code which applies the finite element method to a linear two point boundary value problem in a 1d region.

fem1d_bvp_linear, a python code which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension.

fem1d_bvp_quadratic, a python code which applies the finite element method, with piecewise quadratic elements, to a two point boundary value problem in one spatial dimension.

### Reference:

1. Beatrice Riviere,
Discontinuous Galerkin Methods for Solving Elliptic and Parabolic Equations,
SIAM, 2008,
ISBN: 978-0-898716-56-6