Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: GenDiL
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: main
  • Size: 391 KB
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 0
  • Open Issues: 5
  • Releases: 0
Created 10 months ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

DOI CI

GenDiL

GenDiL stands for Generic Discretization Library.

Overview

GenDiL is a header-only C++ library providing flexible and efficient discretization tools for partial differential equations (PDEs) through a generic programming approach. The library aims to bring advanced mathematical concepts into practical use, leveraging modern C++ for high-performance scientific computing.

Features

Meshing

  • Support for structured and unstructured mesh representations
  • High-dimension mesh construction through Cartesian product

Finite Element Method

  • Continuous and Discontinuous Galerkin methods
  • Arbitrary dimension hypercube finite elements
  • Anisotropic polynomial orders and quadrature rules
  • Matrix-free operator evaluation

Third-Party Integrations & Parallelization Support

  • Interfaces with the MFEM, RAJA, and Caliper libraries.
  • Support for OpenMP, CUDA, HIP parallelization models

Getting Started

Requirements

  • C++17 or higher

Installation

Simply add the include folder to your project's include path. The GenDiL project also ships with CMakeLists.txt files for building with CMake. The scripts directory contains examples scripts for building and using GenDiL.

The following script will use CMake to configure, build, run the tests, and install the library: ```sh mkdir -p build cd build

cmake -D CMAKEBUILDTYPE=Release \ -D CMAKEINSTALLPREFIX=../install \ -D USEMFEM=ON \ -D MFEMDIR=../mfem/build \ ..

make -j 8 && make test && make install

cd .. ```

Usage

Include the main header file in your project: ```cpp

include

```

When using CMake for your project, use find_package to import GenDiL: find_package(GENDIL REQUIRED HINTS "${GENDIL_DIR}" "${GENDIL_DIR}/share/gendil/cmake" NO_DEFAULT_PATH)

Benchmarks, tests, and examples

Executables are organized in three categories: benchmarks, tests, and examples. - Examples show standard use cases of the library. - Tests verify the correctness of the library. - Benchmarks measure the performance of the library.

Citing GenDiL

If you use GenDiL in your publications or presentations, please cite it as follows:

bibtex @misc{doecode_154944, title = {GenDiL}, author = {Dudouit, Yohann and Holec, Milan and Rotem, Amit Y.}, abstractNote = {The GenDiL library is a collection of C++ software abstractions designed to discretize and solve partial differential equations (PDEs) for high‐performance computing (HPC) applications. Its primary focus is on modern C++ generic programming, which helps ensure portability across various hardware architectures.}, doi = {10.11578/dc.20250507.2}, url = {https://doi.org/10.11578/dc.20250507.2}, howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20250507.2}}, year = {2025}, month = {march} }

Contributing

All new contributions must be made under the BSD-3-Clause license.

License

GenDiL is distributed under the terms of the BSD-3-Clause license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: BSD-3-Clause

LLNL-CODE-2003681

Owner

  • Name: GenDiL
  • Login: GenDiL
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use GenDiL in your research, please cite it as below."
title: "Generic Discretization Library"
version: "0.0.2"
doi: "10.11578/dc.20250507.2"
authors:
  - family-names: "Dudouit"
    given-names: "Yohann"
    orcid: 0000-0001-5831-561X
  - family-names: "Holec"
    given-names: "Milan"
  - family-names: "Rotem"
    given-names: "Amit Y."
repository-code: "https://github.com/GenDiL/GenDiL"
repository-artifact: "https://doi.org/10.11578/dc.20250507.2"
date-released: "2025-03-18"

GitHub Events

Total
  • Watch event: 7
  • Push event: 49
  • Pull request review event: 11
  • Pull request review comment event: 17
  • Pull request event: 19
  • Create event: 12
Last Year
  • Watch event: 7
  • Push event: 49
  • Pull request review event: 11
  • Pull request review comment event: 17
  • Pull request event: 19
  • Create event: 12