https://github.com/diantonioandrea/ivo
ivo - A C++23 DGFE library for 2+1 space-time problems.
https://github.com/diantonioandrea/ivo
cpp23 discontinuous-galerkin finite-element-methods
Last synced: 4 months ago
JSON representation
ivo - A C++23 DGFE library for 2+1 space-time problems.
- Host: GitHub
- URL: https://github.com/diantonioandrea/ivo
- Owner: diantonioandrea
- License: agpl-3.0
- Created: 2024-07-22T10:24:42.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T22:12:33.000Z (5 months ago)
- Last Synced: 2025-02-02T16:51:12.382Z (5 months ago)
- Topics: cpp23, discontinuous-galerkin, finite-element-methods
- Language: C++
- Homepage:
- Size: 2.61 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ivo
_A `C++23` [DGFE](https://en.wikipedia.org/wiki/Discontinuous_Galerkin_method) library for `2+1` space-time problems_
Named after [**Ivo Babuška**](https://en.wikipedia.org/wiki/Ivo_Babuška).
## Table of Contents
- [Table of Contents](#table-of-contents)
- [Overview](#overview)
- [Key Components](#key-components)
- [Key Features](#key-features)
- [Setup](#setup)
- [Cloning the Repository](#cloning-the-repository)## Overview
### Key Components
- `include/`: Holds declarations and definitions for the classes and methods utilized in the library.
- `include/Ivo/Base`: Holds declarations and definitions for the base types, concepts, and classes.
- `include/Ivo/Algebra`: Holds definitions for the algebra classes and methods.
- `include/Ivo/Geometry21`: Holds declarations for the `2+1` geometry classes and methods.
- `include/Ivo/Mesh21`: Holds declarations for the `2+1` mesh.
- `include/Ivo/Fem`: Holds declarations for the multi-purpose **FEM** tools.
- `include/Ivo/Problem`: Holds declarations for the `2+1` problem.
- `src/`: Holds definitions for the structures and methods utilized in the library, along with custom tests and scripts.### Key Features
- **Algebra**
- _Support for **dense** vectors and matrices_
- _Support for **sparse** matrices and linear systems_
- **Geometry**
- _Support for `2+1` points, edges, lines, and polygons_
- _Generation of `1` and `2` Mesh diagrams_
- _Support for `2+1` meshes_
- **DGFEM**
- _Support for Legendre polynomials_
- _Support for Gauss-Legendre quadrature_
- _Assembly of the `2+1` **DGFE** problem_
- _Solution of the `2+1` **DGFE** problem_
- _Error analysis of the `2+1` **DGFE** problem_## Setup
### Cloning the Repository
Clone the repository from [here](https://github.com/diantonioandrea/ivo):
```bash
git clone [email protected]:diantonioandrea/ivo.git
```