Jump to content

MoFEM JosePH

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Likask (talk | contribs) at 16:53, 12 December 2013 (Main features). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Developer(s)University of Glasgow
Initial release2008 (2008)
Stable release
0.0.1
Written inC++
Operating systemUnix, Linux, OS X
LicenseLGPL version 2.1 or later
Websitebitbucket.org/likask/mofem-joseph/wiki/Home

MoFEM (Mesh Oriented 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).

Motivation

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 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 technologies. 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 founded by IAA-EPSRC: Simulation of fracture in nuclear graphite: from academic setting to commercial application [2] and EDF Energy.

Main features

  • Solves various linear and nonlinear problems from structural, thermal and fluid mechanics
  • Efficient parallel processing support based on domain decomposition and message passing paradigms.
  • Direct as well as iterative solvers are available. Interfaces to PETSc third party linear, nonlinear at time dependent solvers.
  • Adaptive mesh refinement base on edge based refinement algorithm[3]
  • Supports hierarchical approximation basis for L2, H1, H-div and H-curl spaces [4]
  • Calculate stress intensity factors and crack propagation based on configurational mechanics[5]

License

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

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. ^ MoFEM License