mfem VS FEM

Compare mfem vs FEM and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
mfem FEM
7 2
1,548 20
4.3% -
9.9 4.4
1 day ago 25 days ago
C++ Python
BSD 3-clause "New" or "Revised" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

mfem

Posts with mentions or reviews of mfem. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-08.
  • rodin alternatives - mfem and FreeFem-sources
    7 projects | 8 Mar 2023
  • Generate MFEM initial mesh file using WELSIM
    1 project | /r/u_welsim | 21 Aug 2022
    MFEM (mfem.org) is one of the most active open-source partial differential equation (PDE) solver projects in recent years. Although this open source package is positioned as a lightweight and scalable C++ library, it provides higher-order finite element spaces, supports mixed elements, discontinuous Galerkin elements, isogeometric analysis methods, and more. In particular, it has great advantages in high-performance computing, not only supports message passing interface (MPI) parallelism and shared memory parallelism (OpenMP), but also has good strength in GPU parallel computing. The built-in post-processing program GLVis can easily read and display the result files. The BSD-3 license is also extremely friendly to developers. Recently, MFEM supports Python programming, which makes the library more convenient for various types of researchers.
  • Open source / part time research in the world of HPC?
    3 projects | /r/HPC | 15 May 2022
    If you are looking for something more numerically intensive, check out MFEM: https://mfem.org. Lots of examples in the gallery there; lots of cool higher order curved meshes and physics problems to play with. Probably a higher learning curve than some of your other options.
  • How is it working at Idaho National Lab?
    1 project | /r/idahofalls | 21 Apr 2022
    If you're interested in a FEM framework designed by computer scientists and mathematicians, MFEM has treated me well. Maybe just something to compare to.
  • Intact Solutions is hiring a Software Engineer
    1 project | /r/fea | 31 Aug 2021
    We currently have several solvers of our own, as well as interfacing with MPI capable solvers via mfem. We are currently a pre and post processor for several NASTRAN based solvers using our meshing free method.
  • What are some best open source FEA solvers that one can test their new element implementation in?
    2 projects | /r/fea | 13 Aug 2021
    MFEM
  • Does anyone have open source C++ projects that I can try contributing to?
    5 projects | /r/cpp_questions | 25 Jun 2021
    I’m working on MFEM. It is a Finite Element Method (FEM) library. Some of the work would require knowledge of the FEM but there’s a lot of stuff like implementing operators in vector classes that you could do too!

FEM

Posts with mentions or reviews of FEM. We have used some of these posts to build our list of alternatives and similar projects.
  • Jacobian matrix for a 4 node rectangular elements
    1 project | /r/fea | 23 May 2021
  • Finite Element Heat Transfer Analysis with MATLAB
    1 project | /r/fea | 2 May 2021
    I apologize in advance for my English, it's not my main language. Do you want to code this exact problem in MATLAB? If you need this specific problem just write the global matrix and global force vector. If you want to implement a full program for heat transfer is not hard either. You must create single element matrices and vectors. Then, using a for loop you can create the global matrix just adding small matrices. Border conditions are very important. You can create a matrix of border conditions. The first column is the node in which the border condition is applied and the second column is the border condition value. You can create both essential, natural and convective border condition matrices. In the computational implementation it is not very useful to remove rows and columns of the global matrix. The reason is that your solution vector size will be different to the number of degree of freedom. That makes the process harder (and slower) (source Reddy's book). There are several methods to assign the border conditions. For example, you can extract the column with the same number of the border condition degree of freedom. Then multiply the whole column by the border condition value and subtract it to the force global vector. Last is to modify the column and row of the global matrix to 0 except the diagonal value which have to be changed to 1. The row of the force vector with the same degree of freedom has to be the border condition value. When you solve the equation system you end with the node solution. You can create graphs with these values or create better graphs using the shape functions. You can create a heat flux graph using shape functions too!! I made a Python FEM package, it has a heat transfer option. It's not Matlab, but maybe you can find it useful. Link https://github.com/ZibraMax/FEM

What are some alternatives?

When comparing mfem and FEM you can also consider the following projects:

dolfinx - Next generation FEniCS problem solving environment

scikit-fem - Simple finite element assemblers

moose - Multiphysics Object Oriented Simulation Environment

anaStruct - 2D structural analysis in Python

sparselizard - C++ FEM library | user-friendly | multi-physics | hp-adaptive | HPC

elmerfem - Official git repository of Elmer FEM software

nekRS - our next generation fast and scalable CFD code

libmesh - libMesh github repository

slurm - Slurm: A Highly Scalable Workload Manager

beso - Python code for topology optimization using CalculiX FEM solver.