Skip to content

Comprehensive Review and Minor Enhancements to SELF Documentation #106

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Spectral Element Library in Fortran

## SELF
The Spectral Element Library in Fortran (SELF) is an object oriented suite of Fortran modules that enable researchers to implement conservation law solvers using Spectral Element Methods. One goal of this project is to help dispel the notion that Fortran codes are ancient monoliths designed for a single (potentially unknown) purpose. The other goal is to make it easy to explore high order conservation law solvers on a broad range of compute platforms.
The Spectral Element Library in Fortran (SELF) is an object oriented suite of Fortran modules that enable researchers to implement conservation law solvers using Spectral Element Methods. One goal of this project is to help dispel the notion that Fortran codes are ancient monoliths designed for a single (potentially unknown) purpose. The other goal is to facilitate the exploration of high order conservation law solvers across a wide range of applications and compute platforms.

SELF is built with modern compute architecture in mind. Our intention is to enable scientific software developers to build SELF for personal workstations, GPU and multi-GPU accelerated platforms, and HPC clusters. SELF can be built with optional GPU acceleration provided by either CUDA & CUBLAS or HIP & HIPBLAS. With GPU-Aware MPI installed, you can also run SELF applications on multi-GPU platforms.


## Models
SELF provides a few pre-canned models for 1-D, 2-D, and 3-D simulations. The specific models based on a generic Discontinuous Galerkin framework that is used to solve a conservation law of the form
SELF provides a few pre-canned models for 1-D, 2-D, and 3-D simulations. The specific models are based on a generic Discontinuous Galerkin framework, and is used to solve a conservation law of the form

\begin{equation}
\vec{s}_t + \nabla \cdot \overleftrightarrow{f} = \vec{q}
\vec{s}_t + \nabla \cdot \overleftrightarrow{f} = \vec{q},
\end{equation}

where $\vec{s}$ is a vector of solution variables, $\overleftrightarrow{f}$ is the conservative flux, and $\vec{q}$ are non-conservative source terms. The conservative fluxes are assumed to be functions of the solution variables and their gradients. Effectively, this means that SELF can be used to solve hyperbolic and weakly parabolic partial differential equations.
Expand Down