This project is a personal foray into the discontinuous Galerkin method.
domainsstores the code for elements used. Currently onlyspec_elem.pyexists, which sets up single SEM elements in 2D, or a continuous grid in 2D, where multiple elements share edges and basis functions at each node.outputsis a database of outputs for run simulations. Unless I make a mistake, significant data should not be placed here -- only things that are worth sharing, like animations.problemsstores the code for an equation to be solved on the above domains. When applied, these overwrite functions indomainsto be able to run a problem.reportholds notes of my thoughts on the progress I've made. This just serves as a journal/notebook to put my thoughts to paper.simsstores the code that can be run to perform a simulation.testsare unit tests. Currently, only tests to verify the SEM elements indomains/spec_elem.pyexist.
The order 1 wave equation was built to try the upwind flux scheme in Igel (2017), but for 2d. The details of the derivation can be found here. The present simulation output, in outputs/order1wave_expand.mp4 took a Gaussian initial condition
-
$\Omega = [-20,20]\times[-10,10]$ , with a discontinuous boundary at$x=0$ . -
$N = 3$ SEM elements, each of size$1\times 1$ unit. -
$\sigma^2 = 2.5$ , with wave centers at$(20/3,5)$ and$(-20/3, 5)$ . - wave speed
$c = 2$ - Time is run using Heun's method to
$T=10$ using a time step of$\Delta t = 0.01$ . Each frame of the animation is a step of$0.1$ time units.