1
$\begingroup$

I am trying to find some package of Discontinuous Galerkin (DG) method for solving hyperbolic and parabolic equations.

In my research, I focus on designing new schemes for some very simple equations and boundary condition and doing numerical analysis. Thus, I need the package which is easy for me to do possible modification in algorithm. Moreover, python is better. I am not familiar with C++.

Could anyone tell me what's a suitable package for me?

$\endgroup$
2
  • $\begingroup$ Try FEniCS, which has Python wrappers. $\endgroup$
    – user20857
    Aug 1, 2016 at 16:53
  • $\begingroup$ The FEniCS python frontend is great for prototyping discretizations and algorithms. However, if you need to assemble things which cannot be straightforwardly written out in a variational sense (e.g. certain limiters, postprocessing techniques, etc.), things may get tricky with Python only. While you can get really far without a single line of C++ you should not be too afraid of learning it ;-). $\endgroup$ Aug 1, 2016 at 19:44

2 Answers 2

1
$\begingroup$

For Hyperbolic PDEs I can highly recommend Trixi, a (if you want) high order Discontinuous Galerkin based solver with adaptive mesh refining capabilities. Furthermore, the addition of custom initial/boundary conditions or entire equations is relatively easy. It is written in Julia which you should be able to navigate quickly if you are familiar with Python.

For Parabolic PDEs you probably need something different, since Trixi focusses on problems with finite speed of propagation. It should be mentioned, that there is an example on the "Hyperbolic Diffusion Equation" (see e.g. Chapter 2.5 of this book or this presentation for a short discussion).

$\endgroup$
0
$\begingroup$

As said by Christian Waluga, if you plan to change the assembly procedure, then libraries that give you more control are probably the only choice. For that, I recommend deal.II (one of the authors and developers is an active member of scicomp.stackexchange). It will likely allow you to change the assembly procedure with no effort.

It has tutorials for DG (step-12 for instance https://www.dealii.org/current/doxygen/deal.II/step_12.html, but there are others).

If you're not familiar with C++, things may be a little hard at the beginning.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.