All Projects → 3343 → Edge

3343 / Edge

Extreme-scale Discontinuous Galerkin Environment (EDGE)

Projects that are alternatives of or similar to Edge

Guided Missile Simulation
Guided Missile, Radar and Infrared EOS Simulation Framework written in Fortran.
Stars: ✭ 33 (+83.33%)
Mutual labels:  openmp, simd, high-performance-computing
Amgcl
C++ library for solving large sparse linear systems with algebraic multigrid method
Stars: ✭ 390 (+2066.67%)
Mutual labels:  openmp, scientific-computing, mpi
analisis-numerico-computo-cientifico
Análisis numérico y cómputo científico
Stars: ✭ 42 (+133.33%)
Mutual labels:  openmp, mpi, cloud-computing
Laser
The HPC toolbox: fused matrix multiplication, convolution, data-parallel strided tensor primitives, OpenMP facilities, SIMD, JIT Assembler, CPU detection, state-of-the-art vectorized BLAS for floats and integers
Stars: ✭ 191 (+961.11%)
Mutual labels:  openmp, simd, high-performance-computing
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+31322.22%)
Mutual labels:  openmp, simd, mpi
EFDCPlus
www.eemodelingsystem.com
Stars: ✭ 9 (-50%)
Mutual labels:  openmp, mpi, scientific-computing
tbslas
A parallel, fast solver for the scalar advection-diffusion and the incompressible Navier-Stokes equations based on semi-Lagrangian/Volume-Integral method.
Stars: ✭ 21 (+16.67%)
Mutual labels:  openmp, mpi, simd
Mfem
Lightweight, general, scalable C++ library for finite element methods
Stars: ✭ 667 (+3605.56%)
Mutual labels:  scientific-computing, high-performance-computing
pyccel
Python extension language using accelerators
Stars: ✭ 189 (+950%)
Mutual labels:  openmp, mpi
Torsten
library of C++ functions that support applications of Stan in Pharmacometrics
Stars: ✭ 38 (+111.11%)
Mutual labels:  openmp, mpi
Rusty Hermit
RustyHermit - A Rust-based, lightweight unikernel
Stars: ✭ 268 (+1388.89%)
Mutual labels:  cloud-computing, high-performance-computing
Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (+1494.44%)
Mutual labels:  openmp, mpi
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+2055.56%)
Mutual labels:  openmp, scientific-computing
hermit-playground
A playground to build C/C++/Go/Fortran applications on top of RustyHermit
Stars: ✭ 13 (-27.78%)
Mutual labels:  high-performance-computing, cloud-computing
hpdbscan
Highly parallel DBSCAN (HPDBSCAN)
Stars: ✭ 19 (+5.56%)
Mutual labels:  openmp, mpi
shortcut-comparison
Performance comparison of parallel Rust and C++
Stars: ✭ 74 (+311.11%)
Mutual labels:  openmp, simd
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (+822.22%)
Mutual labels:  openmp, scientific-computing
gpubootcamp
This repository consists for gpu bootcamp material for HPC and AI
Stars: ✭ 227 (+1161.11%)
Mutual labels:  openmp, mpi
Ohpc
OpenHPC Integration, Packaging, and Test Repo
Stars: ✭ 544 (+2922.22%)
Mutual labels:  scientific-computing, mpi
Libhermit Rs
libhermit-rs: A Rust-based library operating system
Stars: ✭ 558 (+3000%)
Mutual labels:  cloud-computing, high-performance-computing

EDGƎ Build Status codecov FOSSA Status

Equations

  • advection (1D):

    Solves the one-dimensional advection equation. q(x,t) is a scalar. The scalar advection speed a(x) can be set per element, but has to be either positive or negative for the entire domain.

    q_t + a * q_x = 0
    
  • advection (2D):

    Solves the two-dimensional advection equation. q(x,y,t) is a scalar. The scalar advection speeds a(x,y) and b(x,y) can be set per element. Each has to be either positive or negative for the entire domain.

    q_t + a * q_x + b * q_y = 0
    
  • advection (3D):

    Solves the three-dimensional advection equation. q(x,y,z,t) is a scalar. The scalar advection speeds a(x,y,z), b(x,y,z) and c(x,y,z) can be set per element. Each has to be either positive or negative for the entire doman.

    q_t + a * q_x + b * q_y + c q_z = 0
    
  • elastic (2D):

    Solves the two-dimensional elastic wave equations. The vector of quantities q(x,y,t)=(sigma_xx, sigma_yy, sigma_xy, u, v) contains the normal stress components sigma_xx and sigma_yy, the shear stress sigma_xy and the two particle velocities u and v in x- and y-direction respectively. The Jacobians A(x,y) and B(x,y) are allowed to be set per element and summarize the material parameters.

    q_t + A q_x + B q_y = 0
    
  • elastic (3D):

    Solves the three-dimensional elastic wave equations. The vector of quantities q(x,y,z,t)=(sigma_xx, sigma_yy, sigma_zz, sigma_xy, sigma_xz, sigma_yz, u, v, w) contains the normal stress components sigma_xx, sigma_yy and sigma_zz, the shear stresses sigma_xy, sigma_xz and sigma_yz and the three particle velocities u, v w in x-, y- and z-direction respectively. The Jacobians A(x,y,z), B(x,y,z) and C(x,y,z) are allowed to be set per element and summarize the material parameters.

    q_t + A q_x + B q_y + C q_z = 0
    
  • viscoelastic (2D)

    Solves the two-dimensional elastic wave equations with frequency-independent attenuation. The vector of quantities q(x,y,t)=(sigma_xx, sigma_yy, sigma_xy, u, v, m_11, m_12, m_13, ..., m_n1, m_n2, m_n3) contains the elastic quantities and additional memory variables m_11, ..., m_n3. n gives the number of relaxation mechanisms with three quantities per mechanism. The Jacobians A(x,y) and B(x,y) are allowed to be set per element and summarize the material parameters. The matrix E(x,y) is the reactive source term.

    q_t + A  q_x + B q_y = E
    
  • viscoelastic (3D)

    Solves the three-dimensional elastic wave equations with frequency-independent attenuation. The vector of quantities q(x,y,z,t)=(sigma_xx, sigma_yy, sigma_zz, sigma_xy, sigma_xz, sigma_yz, u, v, w, m_11, ..., m_16, ..., m_n1, ..., m_n6) contains the elastic quantities and additional memory variables m_11, ..., m_n6. n gives the number of relaxation mechanisms with six quantities per mechanism. The Jacobians A(x,y,z), B(x,y,z) and C(x,y,z) are allowed to be set per element and summarize the material parameters. The matrix E(x,y,z) is the reactive source term.

    q_t + A  q_x + B q_y + C q_z = E
    
  • swe (1D):

    Solves the one-dimensional Shallow Water Equations (SWE) in conservative form. The conserved quantities q(x,t)=(h,hu) are the water height h and the momentum hu. The flux function is nonlinear. Bathymetry is supported.

    q_t + f(q)_x = 0,
    
           |         hu           |
    f(q) = |                      |
           | hu^2 + 1/2 * g * h^2 |
    
  • swe (2D):

    Solves the two-dimensional Shallow Water Equations (SWE) in conservative form. The conserved quantities q(x,t)=(h,hu,hv) are the water height h, the momentum hu in x-direction and the momentum hv in y-direction. The flux function is nonlinear. Bathymetry is supported.

    q_t + f(q)_x + g(q)_y = 0,
    
           |         hu           |         |          hv          |
           |                      |         |                      |
    f(q) = | hu^2 + 1/2 * g * h^2 |, g(q) = |          huv         |
           |                      |         |                      |
           |         huv          |         | hv^2 + 1/2 * g * h^2 |
    

Elements

  • line (1D):

    Line element. Element width dx is allowed to change in every element.

  • quad4r (2D):

    Rectangular, 4-node quadrilaterals. Widths dx and dy are allowed to change on a per-row/per-column basis (conforming mesh).

  • tria3 (2D):

    3-node triangles. Arbitrary, conforming triangulations of the computational domain are supported.

  • hex8r (3D):

    Rectangular, 8-node hexahedrons (bricks). Widths dx, dy and dz are allowed to change on a conforming mesh basis.

  • tet4 (3D):

    4-node tetrahedrons. Arbitrary, conforming tetrahedralization are allowed.

Feature table

Based on the equations and the element type, the following table shows the implemented features:

equations element types CFR FV ADER-DG LIBXSMM
advection line, quad4r, tria3, hex8r, tet4 x x x
elastic quad4r, tria3, hex8r, tet4 x x x x
viscoelastic quad4r, tria3, hex8r, tet4 x x x x
swe line, quad4r, tria3 x x

High Performance Support

Microarchitecture Machine(s)
Sandy Bridge Stampede 1
Bulldozer Blue Waters
Haswell Comet, Cori Phase 1
Knights Landing Stampede 2, Cori Phase 2, Theta
Skylake Amazon Elastic Compute Cloud, Google Cloud Platform, Stampede 2
EPYC packet
Knights Mill -
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].