mfem
Lightweight, general, scalable C++ library for finite element methods (by mfem)
FEM
⚡🧠A finite element Python implementation (by ZibraMax)
Our great sponsors
mfem | FEM | |
---|---|---|
7 | 2 | |
1,548 | 20 | |
3.6% | - | |
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.
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
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?
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?
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
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?
MFEM
-
Does anyone have open source C++ projects that I can try contributing to?
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
-
Finite Element Heat Transfer Analysis with MATLAB
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.