WITH Madlib LIBRARY

WITH Madlib LIBRARY

View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by AGH (Akademia Górniczo-Hutnicza) University of Science and Technology: Journals MECHANICS AND CONTROL Vol. 32 No. 4 2013 http://dx.doi.org/10.7494/mech.2013.32.4.143 ANNA PERDUTA? ENHANCING MESH ADAPTATION CAPABILITIES OF GetFEM++ “FEM ENGINE” WITH MAdLib LIBRARY ABSTRACT This paper describes enhancing mesh adaptation capabilities of GetFEM++ library. GetFEM++ is a versetile software package in C++ for implementing FEM based solvers for partial differential equations. Although GetFEM++ offers a wide range of mathematic tools for model descripion and discretization, it does only provide basic mesh refinement facilities. To enhance GetFEM++ capabilities, a mesh adaptation package MAdLib is used. The paper discusses basic requirements for mesh adaptation packages and presents MAdLib basic usage. The paper discusses implementation issues related to integration of both libraries. Examples illustrate capabilities of mesh adapation package and FEM framework extended by mesh adaptation facilities. Keywords: software, numerical analysis, finite element method, mesh adaptation packages MOZLIWO˙ SCI´ ROZSZERZANIA BIBLIOTEKI GetFEM++ O PAKIETY ADAPTACYJNE Artykuł przedstawia mozliwo˙ sci´ rozszerzania biblioteki GetFEM++ o obliczenia adaptacyjne. GetFEM++ jest bibliotek ˛azaimplen- towan ˛aw C++ umozliwiaj˙ ˛ac˛arozwi ˛azywaniecz ˛astkowych równa´nrózniczkowych˙ w oparciu o metod˛eelementów sko´nczonych. GetFEM++ oferuje szeroki zakres narz˛edzimatematycznych, które mog ˛aby´cwykorzystane dla opisu modelu, jednak oferuje jedynie podstawowe mozliwo˙ sci´ w zakresie adaptacji siatki. Biblioteka MAdLib umozliwiaj˙ ˛acaprzeprowadzanie procesu adaptacji siatki została wykorzystana w celu wzbogacenia mozliwo˙ sci´ biblioteki GetFEM++. W artykule zostały przedstawione podstawowe wyma- gania stawiane pakietom adaptacyjnym oraz zaprezentowane wybrane mozliwo˙ sci´ biblioteki MAdLib. Omówione zostały problemy zwi ˛azanez integracj ˛aobu narz˛edzi.Przykłady prezentuj ˛azastosowania pakietu MES rozszerzonego o obliczenia adaptacyjne. Słowa kluczowe: oprogramowanie, metoda elementów sko´nczonych, pakiety adaptacyjne 1. INTRODUCTION nents for building FEM based simulations. The library supports different types of structured and unstructured meshes, offers Modern Finite Element Method (FEM) frameworks are re- a variety of interpolation methods and integration schemes. quired to be flexible enough to be applied to wide range of me- GetFEM++ provides routines for evaluation of fields of any chanical problems like plasticity, thermal conduction, fracture rank, computation of fields’ derivatives and basic norms. The mechanics, coupled problems. As the computational capabi- library also delivers basic refinement procedures and basic lities of computing units get higher, the higher is the demand error estimator. GetFEM++ may be used with different linear for more accurate results obtained from discretization methods algebra solvers and is able to run in parallel environments. used for solving partial differential equation systems. There- fore it is important that FEM frameworks provide routines for 1.2. What is MAdLib minimizing the errors arising due to the applied discretization method. This problem may be addressed by providing mesh MAdLib (MAdLib 2010) is an Open Source library imple- adaptation procedures in FEM framework. mented in C++. The library is designed as generic component The paper presents the possibilities of extending Get- for mesh adaptation tasks. Mesh adaptation delivered in the FEM++ library with MAdLib – a mesh adaptation library. library is based on local mesh modifications. The library pro- GetFEM++ is used as a primary FEM engine in FEMDK soft- vides support for handling geometric model and mesh refine- ware – a FEM framework for analysis of coupled problems in ment for moving objects. MAdLib may be used as a standalone structural mechanics (Putanowicz 2011). library or may be coupled with miscellaneous packages e.g. The purpose of this paper is to put attention to implemen- FEM library. Authors of MAdLib are also the authors of Gmsh tation issues related to FEM framework programming. One mesh generator (Gmsh 2010), thus MAdLib is compatible with of the aims is to share experience gained while implementing Gmsh data formats. MAdLib may be run in parallel mode, in mesh adaptation facilities in FEM framework. The paper de- this case Metis library is required for the mesh partitioning. scribes issues related to programming and C++ language use. 1.3. Mesh adaptation overview 1.1. What is GetFEM++ The application of discretization methods for solving partial GetFEM++ (GetFEM++ 2010) is an Open Source object ori- differential equations introduces approximation errors. It is de- ented library, written in C++ with interfaces for Python and sired to minimize these errors, so the obtained solution is more Matlab languages. It is a generic FEM library providing compo- accurate. The mesh adaptation provides information about ? Institute for Computational Civil Engineering, Cracow University of Technology, Warszawska 24, 31-155 Cracow, Poland; [email protected] 143 A. PERDUTA ENHANCING MESH ADAPTATION CAPABILITIES OF GETFEM++ “FEM ENGINE” WITH MADLIB LIBRARY error and gives guidance for adjusting mesh to the specified one may use basic error estimator delivered in GetFEM++. The problem, including choice of the mesh generation algorithm, error estimator is based on the jump of the normal derivative at element distribution in the domain, interpolation order. In fi- element boundary. Because this type of element error indicator nite element analysis mesh adaptation is one of the most time is suitable only for elements of the first order, care must be consuming tasks in the whole process of problem analysis. taken to approximate appropriate field with linear elements. Therefore it is important to deliver efficient tools for mesh If it is required one may implement more sophisticated error refinement purposes. estimator based on basic estimator and norms delivered in Get- The task of mesh adaptation may be divided to two se- FEM++. parate sub-problems: error estimation and mesh modification. It is worth to mention that GetFEM++ does not offer Error estimation gives information about error quantity and its any support of geometric model, but it does support basic distribution in the domain. Starting from this one can deter- generation of structured meshes. If one wants to use more so- mine where the mesh should be refined. Error estimation may phisticated model in analysis, the appropriate mesh must be be divided into two types of procedures: a priori and a posteri- delivered and plugged into GetFEM++ data structures using ori. The a priori error estimation gives a general information import functions. It is important to notice that in this case the on the convergence of the solution, it is based on assumptions input mesh will be the best approximation of the underlying made before the analysis process. The a posteriori error esti- geometrical model, so the generation of the mesh should be mation gives information about error measure, it is computed taken carefully. on the basis of the approximate solution (Zienkiewicz et al. 2005, Ainsworth and Oden 2000). 3. MESH ADAPTATION PACKAGE Mesh modification provides procedures for modifying AS AN INDEPENDENT COMPONENT mesh to obtain the one that satisfies the specified mesh size requirements. The are two main classes of mesh modification: In this section general requirements for mesh adaptation pack- topological and geometrical. The main objective of topological age are presented. modification is to adapt mesh element to specified require- ments like mesh element size. In geometrical modification the 3.1. Atomic mesh modification operations goal is to generate a mesh that conforms geometry of repre- One of the fundamental facilities of mesh adaptation library sented model. The crucial issue is to ensure that elements from are procedures, that allow for elementary mesh modification. the resultant mesh will have quality good enough for analysis One can distinguish basic mesh modification operations: edge purposes. Mesh modification may be handled in two ways: one split, edge collapse, edge swap. The basic operations may be is to replace current mesh with the new one adapted to a speci- combined together to provide more specialized mesh trans- fied size field; the other is to perform local mesh modification formation operators. One may divide these operators into two on mesh cavities to adjust mesh to a specified size field. Mesh groups: the first is used to deliver prescribed mesh size field cavities are regarded as regions obtained by removing some and the second to ensure mesh qua-lity. Ensuring the mesh elements, that should (the regions) be filled with new, finer or quality is an important problem during the mesh refinement, coarser elements. the goal is to produce meshes suitable for analysis. There are It is desirable that mesh adaptation package used for FEM lot of investigations on mesh quality assurance (Zavattieri et al. analysis would provide separation between error estimation 1996) and there exist libraries especially designed for mesh op- and mesh modification. Such separation of concerns gives timization problems, for example Mesquite library (Mesquite more flexibility in the choice of different error estimators and 2009). Figures 1–4 illustrate the basic mesh modifications for provides a possibility of coupling different type of

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us