dg1d_poisson


dg1d_poisson, a MATLAB code which uses the Discontinuous Galerkin Method (DG) to approximate a solution of the 1D Poisson Equation. The code was written by Beatrice Riviere.

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 Programs:

bvp4c_test, a MATLAB code which illustrates how to use the MATLAB command bvp4c(), which can solve boundary value problems (bvp) in one spatial dimension.

dg1d_heat, a MATLAB code which uses the discontinuous galerkin method (dg) to approximate a solution of the unsteady 1d heat equation. the original version of the code was written by jan hesthaven and tim warburton.

dg1d_maxwell, a MATLAB code which uses the discontinuous galerkin method (dg) to approximate a solution of maxwell's equations. the original version of the code was written by jan hesthaven and tim warburton.

dg1d_poisson_test

fd1d_advection_diffusion_steady, a MATLAB code which applies the finite difference method to solve the steady advection diffusion equation v*ux-k*uxx=0 in one spatial dimension, with constant velocity v and diffusivity k.

fd1d_advection_ftcs, a MATLAB 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 ftcs method, forward time difference, centered space difference.

fd1d_advection_lax_wendroff, a MATLAB 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_burgers_lax, a MATLAB code which applies the finite difference method and the lax-wendroff method to solve the non-viscous time-dependent burgers equation in one spatial dimension.

fd1d_burgers_leap, a MATLAB code which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent burgers equation in one spatial dimension.

fd1d_bvp, a MATLAB code which applies the finite difference method to a two point boundary value problem in one spatial dimension.

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

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

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

fd1d_predator_prey, a MATLAB code which implements a finite difference algorithm for predator-prey system with spatial variation in 1d.

fd1d_wave, a MATLAB code which applies the finite difference method to solve the time-dependent wave equation in one spatial dimension.

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

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

Author:

Beatrice Riviere

Reference:

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

Source Code:


Last modified on 06 January 2019.