Skip to content
forked from exapde/Exasim

Exasim: Generating Discontinuous Galerkin Codes For Extreme Scalable Simulations

License

Notifications You must be signed in to change notification settings

cesmix-mit/Exasim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Generating Discontinuous Galerkin Codes For Extreme Scalable Simulations

Exasim is an open-source software for generating discontinuous Galerkin codes to numerically solve parametrized partial differential equations (PDEs) on different computing platforms with distributed memory. It combines high-level languages and low-level languages to easily cunstruct parametrized PDE models and automatically produce high-performance C++ codes. The construction of parametrized PDE models and the generation of the stand-alone C++ production code are handled by high-level languages, while the production code itself can run on various machines, from laptops to the largest supercomputers, with both CPU and Nvidia GPU processors.

Dependency

Exasim automatically generates and compiles stand-alone C++ code on the fly. To do that, Exasim requires a C++ compiler and Blas/Lapack libraries for generating serial code. An MPI library is required to compile and run parallel code. CUDA Tookit is required to run CUDA code on Nvidia GPUs. Gmesh is used for mesh generation. METIS is needed for mesh partitioning. And Paraview is used for visualization. To install these packages, please go to the directory Exasim/Installation and run install.jl in Julia, install.py in Python, or install.m in Matlab. See the documentation https://github.com/exapde/Exasim/tree/master/Documentation/Exasim0.1.pdf for more details.

Language Support

Exasim is available in Julia, Python, and Matlab.

Partial Differential Equations

Exasim produces C++ Code to solve a wide variety of parametrized partial differential equations from first-order PDEs, second-order elliptic, parabolic, hyperbolic PDEs, to higher-order PDEs.

Applications

Many examples are provided to illustrate how to build executable DG code for solving a wide variety of PDEs including Poisson equation, wave equation, heat equation, advection, convection-diffusion, elasticity, Euler equations, Navier-Stokes equations, and MHD equations. To try out any of the provided examples, please go to any folder under Exasim/Applications and run pdeapp.jl in Julia, pdeapp.py in Python, or pdeapp.m in Matlab.

About

Exasim: Generating Discontinuous Galerkin Codes For Extreme Scalable Simulations

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 37.8%
  • Python 19.1%
  • MATLAB 17.8%
  • Julia 16.8%
  • Cuda 6.3%
  • C 1.3%
  • Other 0.9%