MoFEM JosePH

Last updated

MoFEM JosePH
Developer(s) University of Glasgow
Initial release2008 (2008)
Stable release
0.6.8
Written in C++
Operating system Unix, Linux, OS X
License LGPL version 2.1 or later
Website mofem.eng.gla.ac.uk

MoFEM (Mesh Orientated Finite Element Method) is an open source finite element analysis code developed and maintained at the University of Glasgow. MoFEM is tailored for the solution of multi-physics problems with arbitrary levels of approximation, different levels of mesh refinement and optimised for high-performance computing. MoFEM is the blend of the Boost (C++ libraries) MultiIndex containers, MOAB (Mesh Oriented Database) and PETSc (Portable, Extensible Toolkit for Scientific Computation). MoFEM is developed in C++ and it is open-source software under the GNU Lesser General Public License (GPL).

Contents

Motivation

Building a scientific simulation environment for finite element methods is a complicated task. The longest part of finite element code development is 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 solutions of increasingly complicated real-world problems means that the underlying data structures also become increasingly complicated. This is particularly evident with multi-physics, hp-adaptivity, 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 innovations. Working around these problems has been the main motivation for the development of MoFEM, 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.

History

MoFEM evolved from YAFEMS (2008), a general and open source finite element code developed at the University of Glasgow.

In 2013 YAFEMS was re-written from scratch and named MoFEM. MoFEM was initiated by two projects. EPSRC founded a project for Providing Confidence in Durable Composites (DURACOMP) [1] in a consortium of three institutions: University of Warwick, University of Glasgow, Newcastle University and several industrial partners. The second project was funded by IAA-EPSRC: Simulation of fracture in nuclear graphite: from academic setting to commercial application [2] and EDF Energy.

Main features

License

MoFEM is free, open source software, released under the GNU Lesser General Public License as published by the Free Software Foundation. [7]

Related Research Articles

The boundary element method (BEM) is a numerical computational method of solving linear partial differential equations which have been formulated as integral equations, including fluid mechanics, acoustics, electromagnetics, fracture mechanics, and contact mechanics.

Elmer FEM solver

Elmer is computational tool for multi-physics problems. It has been developed by CSC in collaboration with Finnish universities, research laboratories and industry. Elmer FEM solver is free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2 or any later.

Mesh generation Subdivision of space into cells

Mesh generation is the practice of creating a mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI, depending on the complexity of the domain and the type of mesh desired. A typical goal is to create a mesh that accurately captures the input domain geometry, with high-quality (well-shaped) cells, and without so many cells as to make subsequent calculations intractable. The mesh should also be fine in areas that are important for the subsequent calculations.

Computational electromagnetics Branch of physics

Computational electromagnetics (CEM), computational electrodynamics or electromagnetic modeling is the process of modeling the interaction of electromagnetic fields with physical objects and the environment.

Electromagnetic field solvers are specialized programs that solve Maxwell's equations directly. They form a part of the field of electronic design automation, or EDA, and are commonly used in the design of integrated circuits and printed circuit boards. They are used when a solution from first principles is needed, or the highest accuracy is required.

Meshfree methods Methods in numerical analysis not requiring knowledge of neighboring points

In the field of numerical analysis, meshfree methods are those that do not require connection between nodes of the simulation domain, i.e. a mesh, but are rather based on interaction of each node with all its neighbors. As a consequence, original extensive properties such as mass or kinetic energy are no longer assigned to mesh elements but rather to the single nodes. Meshfree methods enable the simulation of some otherwise difficult types of problems, at the cost of extra computing time and programming effort. The absence of a mesh allows Lagrangian simulations, in which the nodes can move according to the velocity field.

Computational magnetohydrodynamics (CMHD) is a rapidly developing branch of magnetohydrodynamics that uses numerical methods and algorithms to solve and analyze problems that involve electrically conducting fluids. Most of the methods used in CMHD are borrowed from the well established techniques employed in Computational fluid dynamics. The complexity mainly arises due to the presence of a magnetic field and its coupling with the fluid. One of the important issues is to numerically maintain the condition, from Maxwell's equations, to avoid the presence of unrealistic effects, namely magnetic monopoles, in the solutions.

Parallel mesh generation in numerical analysis is a new research area between the boundaries of two scientific computing disciplines: computational geometry and parallel computing. Parallel mesh generation methods decompose the original mesh generation problem into smaller subproblems which are solved (meshed) in parallel using multiple processors or threads. The existing parallel mesh generation methods can be classified in terms of two basic attributes:

  1. the sequential technique used for meshing the individual subproblems and
  2. the degree of coupling between the subproblems.
Extended finite element method

The extended finite element method (XFEM), is a numerical technique based on the generalized finite element method (GFEM) and the partition of unity method (PUM). It extends the classical finite element method (FEM) approach by enriching the solution space for solutions to differential equations with discontinuous functions.

FEniCS Project

The FEniCS Project is a collection of free and open-source software components with the common goal to enable automated solution of differential equations. The components provide scientific computing tools for working with computational meshes, finite-element variational formulations of ordinary and partial differential equations, and numerical linear algebra.

Finite element method Numerical method for solving physical or engineering problems

The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat transfer, fluid flow, mass transport, and electromagnetic potential.

Hermes Project

Hermes2D is a C++/Python library of algorithms for rapid development of adaptive hp-FEM solvers. hp-FEM is a modern version of the finite element method (FEM) that is capable of extremely fast, exponential convergence.

hp-FEM is a general version of the finite element method (FEM), a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size (h) and polynomial degree (p). The origins of hp-FEM date back to the pioneering work of Barna A. Szabó and Ivo Babuška who discovered that the finite element method converges exponentially fast when the mesh is refined using a suitable combination of h-refinements (dividing elements into smaller ones) and p-refinements. The exponential convergence makes the method a very attractive choice compared to most other finite element methods which only converge with an algebraic rate. The exponential convergence of the hp-FEM was not only predicted theoretically but also observed by numerous independent researchers.

OOFEM is a free and open-source multi-physics finite element code with object oriented architecture. The aim of this project is to provide efficient and robust tool for FEM computations as well as to offer highly modular and extensible environment for development.

Smoothed finite element methods (S-FEM) are a particular class of numerical simulation algorithms for the simulation of physical phenomena. It was developed by combining meshfree methods with the finite element method. S-FEM are applicable to solid mechanics as well as fluid dynamics problems, although so far they have mainly been applied to the former.

Weakened weak form is used in the formulation of general numerical methods based on meshfree methods and/or finite element method settings. These numerical methods are applicable to solid mechanics as well as fluid dynamics problems.

Fluid motion is governed by the Navier–Stokes equations, a set of coupled and nonlinear partial differential equations derived from the basic laws of conservation of mass, momentum and energy. The unknowns are usually the flow velocity, the pressure and density and temperature. The analytical solution of this equation is impossible hence scientists resort to laboratory experiments in such situations. The answers delivered are, however, usually qualitatively different since dynamical and geometric similitude are difficult to enforce simultaneously between the lab experiment and the prototype. Furthermore, the design and construction of these experiments can be difficult, particularly for stratified rotating flows. Computational fluid dynamics (CFD) is an additional tool in the arsenal of scientists. In its early days CFD was often controversial, as it involved additional approximation to the governing equations and raised additional (legitimate) issues. Nowadays CFD is an established discipline alongside theoretical and experimental methods. This position is in large part due to the exponential growth of computer power which has allowed us to tackle ever larger and more complex problems.

GetFEM++

GetFEM++ is a generic finite element C++ library with interfaces for Python, Matlab and Scilab. It aims at providing finite element methods and elementary matrix computations for solving linear and non-linear problems numerically. Its flexibility in choosing among different finite element approximations and numerical integration methods is one of its distinguishing characteristics.

MOOSE (software)

MOOSE is an object-oriented C++ finite element framework for the development of tightly coupled multiphysics solvers from Idaho National Laboratory. MOOSE makes use of the PETSc non-linear solver package and libmesh to provide the finite element discretization.

MFEM

MFEM is an open-source C++ library for solving partial differential equations using the finite element method, developed and maintained by researchers at the Lawrence Livermore National Laboratory and the MFEM open-source community on GitHub. MFEM is free software released under a BSD license.

References

  1. DURACOMP project (EP/K026925/1)
  2. IAA (EP/K503903/1)
  3. D. Ruprecht and H. Müller "A Scheme for Edge-based Adaptive Tetrahedron Subdivision", Springer Berlin Heidelberg, 1998.
  4. M. Ainsworth and J. Coyle Hierarchic finite element bases on unstructured tetrahedral meshes, Int. J. Numer. Meth. Engng 2003; 58:2103–2130 (DOI: 10.1002/nme.847)
  5. Ł. Kaczmarczyk, M. Mousavi Nezhad and C. Pearce, Three-dimensional brittle fracture: configurational-force-driven crack propagation, Int. J. Numer. Meth. Engng 2013; (DOI: 10.1002/nme.4603)
  6. A. Kelly, Ł. Kaczmarczyk, C. Pearce Mesh Improvement Methodology for 3D Volumes with Non-planar Surfaces, Proceedings of the 21st International Meshing Roundtable, 55-69, 2013.
  7. MoFEM License