Skip to content

inducer/meshmode

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.ci
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

meshmode: High-Order Meshes and Discontinuous Function Spaces

Gitlab Build Status Github Build Status Python Package Index Release Page

Meshmode provides the "boring bits" of high-order unstructured discretization, for simplices (triangles, tetrahedra) and tensor products (quads, hexahedra). Features:

  • 1/2/3D, line/surface/volume discretizations in each, curvilinear supported.
  • "Everything is a (separate) discretization." (mesh boundaries are, element surfaces are, refined versions of the same mesh are) "Connections" transfer information between discretizations.
  • Periodic connectivity.
  • Mesh partitioning (not just) for distributed execution (e.g. via MPI).
  • Interpolatory, quadrature (overintegration), and modal element-local discretizations.
  • Independent of execution environment (GPU/CPU, numpy, ...) via array contexts.
  • Simple mesh refinement (via bisection). Adjacency currently only maintained if uniform.
  • Input from Gmsh, Visualization to Vtk (both high-order curvilinear).
  • Easy data exchange with Firedrake.

Meshmode emerged as the shared discretization layer for pytential (layer potentials) and grudge (discontinous Galerkin).

Places on the web related to meshmode: