Reply to comment

Hedge

Hybrid and Easy Discontinuous Galerkin Environment

hedge.png

hedge is an unstructured, high-order, parallel Discontinuous Galerkin (DG) code that I am developing as part my PhD project. hedge’s design is focused on two things: being fast and easy to use. While the need for speed dictates implementation in a low level language, these same low-level languages become quite cumbersome at a higher level of abstraction. This is where the “h” in hedge comes from; it takes a hybrid approach. While a small core is written in C++ for speed, all user-visible functionality is driven from Python.

Features

Since everybody loves bulleted lists, here’s one for you. Hedge:

  • Supports simplicial unstructured meshes in two and three dimensions (i.e. triangles and tetrahedra)
  • Approximates using orthogonal polynomials of any degree you specify at runtime
  • Solves your problem in parallel using MPI
  • Comes with canned operator templates for
    • Wave equation
    • Heat equation
    • Poisson equation
    • Maxwell’s equations
  • Makes it really simple to roll your own operators using friendly, mathematically-oriented (and dimension-independent, if desired) notation
  • Visualizes your solutions in parallel with XML-based VTK or Silo files. It directly supports Paraview and Visit.
  • Runs on your Nvidia CUDA-capable graphics card.

Documentation

We have

License and Availability

hedge is available under the terms of the GNU General Public License, Version 3 and is built using components that have source code available for free. (Sadly, the mesh generators and partitioner are not strictly open-source, but everything else is.)

Curious? Follow the simple build instructions.

Release downloads are available form Hedge’s Python Package Index page.

You may also peek at the development version in my source control archive. To check out a copy, type:

git clone http://git.tiker.net/trees/hedge.git

Reply

  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.
  • You can use Markdown syntax to format and style the text. Also see and Markdown Extra for tables, footnotes, and more.

More information about formatting options