v0.5.82

MoFEM (Mesh Oriented Finite Element Method) [31] it is C++ library supporting the solution of finite elements problems. Is developed to provide free and open, inclusive, participation community finite element code for engineers, students and academics.
MoFEM is a finite element analysis code tailored for the solution of multiphysics problems with arbitrary levels of approximation, different levels of mesh refinement and optimised for highperformance computing. It is designed to be able to manage complexities related to a heterogeneous order of approximations for L2,H1,Hdiv and Hcurl spaces, see [1].
MoFEM manages complexity related to finite element approximation and bookkeeping related do degrees of freedom and finite elements. It is part of bigger software ecosystem, composed of the Boost MultiIndex containers, MOAB (Mesh Oriented Database) [41] and PETSc (Portable, Extensible Toolkit for Scientific Computation) [7]. MoFEM is developed in C++ and it is opensource software under the GNU Lesser General Public License (see Legal stuff) Stuff.
MoFEM can read and write a number of mesh file formats using functionality provided by MoAB. The current version of MoFEM has full support for CUBIT/TRELIS, TetGEN, Salome/Code_Aster (MED format) for preprocessing and ParaView for postprocessing.
Building a scientific simulation environment for finite element methods is a complicated task. The greatest part of finite element code development is often expended in dealing with technical problems related to software implementation, rather than resolving the underlying physics that the code is intended to tackle.
The demand for accurate solution of increasingly complicated realworld problems means that the underlying data structures also become increasingly complicated. This is particularly evident with multiphysics, hpadaptivity, and/or evolving geometries (e.g. crack propagation). Established commercial software is often limited in this respect, or can be relatively slow to adopt new technologies. This is the problem that MoFEM attempts to work around, recognising that it is increasingly necessary for engineers, scientists and mathematicians to carry out calculations using several mesh refinements, different approximation orders, multiple degrees of freedom and/or different scales.
MoFEM is implemented with the use of MoAB and deliver the great flexibility of managing meshes. We can manage range elements types, e.g. prisms, triangles, quads, bricks and more.
MoFEM supports MPIbased parallelism throughout the library, and can readily be used as a scalable unstructured finite element problem generator. Algebra is building on top of PETSc and geometry description on top of MoAB, both implementations are tailored for massive parallel calculations.
List of third party libraries and packages used by MoFEM:
MoFEM is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
MoFEM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with MoFEM. If not, see http://www.gnu.org/licenses/