GitHunt
LU

lukoshkin/GMsFESolver

Python implementation of Generalized Multiscale Finite Element Method (GMsFEM) with the use of FEniCS and PETSc libraries

GMsFEM Implementation

Pros

  • easy-to-catch concept of GMsFEM shown in the NumPy implementation
  • modular structure that allows targeted assembling
  • convinient API for FEniCS-2019 docker containers
  • parallel pipeline (not fully completed)

Cons

  • it includes all drawbacks connected with FEniCS-2019.1, like bugs
    or unimplemented features. Major releases (e.g. dolfinx) coming after
    make this implementation a bit outdated

  • the code is not fully-optimized. For example, it can be rewritten in C++
    which will half at least the the runtime of some of its sections. A few
    algorithmic features may be improved as well

ToDo

  • Write a C++ implementation
  • Use DOLFINX (when it is released)
  • Substitute triangular coarse elements for square ones

  • Finish README
  • Add MIT license

Languages

Python30.7%C++28.9%Jupyter Notebook13.6%Dockerfile11.3%Shell8.0%Vim Script3.8%CMake2.9%JavaScript0.7%

Contributors

Created February 27, 2019
Updated October 27, 2025