Femengine: Finite Element Method C++ Code Based on Functional And

Total Page:16

File Type:pdf, Size:1020Kb

Femengine: Finite Element Method C++ Code Based on Functional And 2019 Ivannikov Ispras Open Conference (ISPRAS) FEMEngine: finite element method C++ code based on functional and template metaprogramming Alexey Gurin∗, Alexey Baykin∗, Timofey Polyansky‡, Anton Krivtsov§¶ ∗Laboratory of Digital and Intelligent Hydrocarbon Production Systems Lavrentyev’s Institute of Hydrodynamics of the SB RAS, Novosibirsk, Russia Email: [email protected] ‡Department of Physics Novosibirsk State University, Novosibirsk, Russia §Higher School of Theoretical Mechanics Peter the Great St. Petersburg Polytechnic University (SPbPU), St. Petersburg, Russia ¶Laboratory ”Discrete models in mechanics” Institute for Problems in Mechanical Engineering, St. Petersburg, Russia acheived by the metaprogramming technique. The FEniCS Abstract—The paper discusses the problems of a finite element method programming. Modern C++ functional programming and Form Compiler, written in Python as a part of the FEniCS template metaprogramming approach to finite element analysis Project, generates and compile an efficient C++ code for a is presented. This approach simplifies the implementation of matrix assembly on the fly. This form of metaprogramming is an effective assembly of the stiffness matrix for a problem universal, but very difficult to implement and maintain. defined by a weak form. This method is tested by a solution During the last decade, the C++ language has been of the Poisson equation on an unstructured 3D tetrahedral mesh using FEM C++ library FEMEngine developed by authors. The greatly improved. Three new standards are introduced: C++11, function which calculates the matrix is generated by higher order C++14, C++17. The ability to program in a functional functions during the compilation stage. The performance of the paradigm has been added and the template metaprogramming computation is analyzed by studying of a disassembled code and technique has been simplified. In the Lavrentyev’s Institute by comparison with the popular open source FEM software. of Hydrodynamics of the SB RAS, a library named ”FE- I. INTRODUCTION MEngine” has been developed by using the new C++ pro- gramming methods. The library combines the ability to set The finite element method or finite element analysis is well the equation through a weak form and the high performance suited to be implemented in a code. The algorithms of matrix of matrix assembly. assembly for any practical purpose are well known. However, the programming of a generic FEM implementation which can II. MATHEMATICAL FORMULATION solve a wide variety of cases defined by weak formulations is A convenient way to set a problem in FEM software is to a challenging task. It is difficult to achieve a good calculation provide a weak formulation, a boundary conditions, a domain performance, simplicity of the problem setup process and geometry and a discretization parameters. This information maintainable, well-structured code. should be enough for the software to provide the solution. For There are a large number of open source software for the sake of simplicity let us consider the Dirichlet problem finite element analysis. A few examples of such software (1), (2) for the Laplace equation are FreeFem++, MFEM and FEniCS Project. FreeFem++ [1] solves partial differential equations in a weak form provided ΔT =0 in Ω, (1) by user in text .edp file. This file must be written in a T | = T , similar to C++ intermediate language. Although FreeFem++ ∂Ω ∂Ω (2) is a simple yet versatile tool for FEA, its performance during and in a weak form matrix assembly is low for complex equations. MFEM [2] is a C++ library designed in an object-oriented approach. A solver ∇T ·∇ψdΩ=0. programmed with MFEM can be compiled as an executable Ω or as a library and linked to other software. The performance The physical domain Ω, over which the solution is sought, of MFEM is high, but the weak form implementation in the is discretized into the elements Ωk,k =1,...,Nk with N code is not straightforward, in comparison with FreeFem++. nodes on each element. The element is defined by the set of An engineer needs to learn a complex interface of the library functions φi(X) which form the interpolation polynomial over to solve physical problems. The implementation of finite ele- the element. The quantity T could be represented locally as ments in the FEniCS Project [3] is devoid of these problems. A user sets a physical problem with a simple and straightforward N Python interface, efficiently solves the problem and get a way T (X)= Tiφi, (3) to embed the solver in another software. This features are i=1 978-1-7281-6055-9/19/$31.00 ©2019 IEEE 92 DOI 10.1109/ISPRAS47671.2019.00020 Authorized licensed use limited to: Newcastle University. Downloaded on May 16,2020 at 23:22:17 UTC from IEEE Xplore. Restrictions apply. constexpr auto phi1 = []( template<class F1, std :: tuple<double , double> r class F2, ){ class ... Args> auto [xi, eta] = r; auto multiply ( F1 f1 , return −eta − xi + 1.0; F2 f2 , } std :: tuple<Args ... > ) { ... return [=]( Args . args ){ std :: tuple phi{ phi1 , phi2 , phi3 } ; return f1( args ...) ∗ f2(args...); } ; } Fig. 1. Lambdas as containers of interpolation functions template<class F1, class F2> { template<class F> auto multiply ( F1 f1 , F2 f2) struct function traits return multiply ( : std :: false type {}; f1 , f2 , template<class retType , typename function traits < > {} class C, decltype(&F1:: operator ()) :: args ); } class ... Args> struct function traits <retType (C::∗ )( Args . ) const> Fig. 3. Multiplication of functions : std :: true type { typedef retType ret ; < > using args = std :: tuple Args ... ; This function expects two functions f1, f2 with the same } ; arguments. The function traits class finds out the types and the number of arguments of the first function. Then the high Fig. 2. Function traits class order function returns a lambda with the arguments same as in f1, f2 functions. This lambda calls functions f1, f2, then where Ti are values in the element nodes. After replacing passes arguments and returns the multiplication of their results. of the unknown function T with the polynomial and the Assuming that the vector is represented by a tuple and the test function ψ with the basis interpolation functions on the tensor is represented by a tuple of tuples, the function shown element we obtain the expression for the element stiffness in figure 4 straightforwardly implements the generic outer matrix product of vectors k Mij = ∇φi ·∇φjdΩ,i=1,...,N,j =1,...,N. (4) Fij = φiφj,i=1,...,N,j =1,...,N. (5) Ω k In this implementation the tupleBinaryOp function performs While it is possible to integrate exactly in a simple case, in a generic binary operation on tuples as schematically presented general case the numerical integration with a quadrature is in figure 5. used. To simplify the calculation of the matrix, the element Now if the interpolation functions of an element are rep- functions are defined over the special canonical element and resented by lambdas, the tensorProd function can be used to the coordinate transformation to the physical element is carried obtain the part of element stiffness matrix expression (5) under out. integral. III. MULTIPLICATION OF FUNCTIONS IV. INTEGRATION OF A FUNCTION OVER ELEMENT In C++11 lambda functions were introduced. In combina- In FEM implementations usually the integrals of type (4) tion with std::tuple container, lambdas can be used to contain are calculated using the coordinate transformation and moving the element interpolation functions as shown in figure 1. to the integral over a canonical element with fixed geometry. There std::tuple is a container that can accumulate objects Thus, the integral over an arbitrary element on a physical of different types and the compiler can inline its content. A domain can be calculated by applying the quadrature formula lambda function in C++ is implemented as the anonymous N functor with operator(). c fdΩ= f(ri ) · wi|Jk|, The number of lambda arguments and their types can Ω i=1 be obtained with the type traits struct shown in figure 2. k c The ”args” template alias inside of the function traits struct where ri , wi is the nodes and the weights, respectively, contains the type std::tupleArgs... where ”Args...” is the of the quadrature on the canonical element and |Jk| is the template parameter pack containing types of the function determinant of Jacobi matrix of coordinate mapping from arguments. With the function traits, a higher order function canonical element to the real element Ωk in the physical can be implemented for multiplication of functions as shown domain. This quadrature can be applied to a function through in figure 3. the partial application technique as shown in figure 6. 93 Authorized licensed use limited to: Newcastle University. Downloaded on May 16,2020 at 23:22:17 UTC from IEEE Xplore. Restrictions apply. template<class ... Args1, phi = [ phi1 ( r ) , phi2 ( r ) , phi3 ( r ) ] class ... Args2, f(T)−> Tˆ2 size t...Is> auto tensorProd ( std :: tuple<Args1 ... > t1 , interpolate ( f , phi ) −> { std :: tuple<Args2 ... > t2 , f interp ( r , [T1, T2, T3] ) std :: index sequence<Is ... > ) −> f( T1∗ phi1 ( r ) + { T2∗ phi2 ( r ) + return std :: make tuple ( T3∗ phi3 ( r ) ) } tupleBinaryOp ( t1 , Fig. 7. Scheme of interpolate function std :: get<Is >(t2 ) , std :: multiplies{} )...); } The high order function integrate requires the f function, the quadrature nodes rc and the weights w. It returns the function template<class ... Args1, which expects Jacobian and returns the integral of f function class ... Args2> calculated with the provided quadrature. auto tensorProd ( std :: tuple<Args1 ... > t1 , std :: tuple<Args2 ... > t2 ) V. I NTERPOLATION OVER AN ELEMENT { In practical applications there is a need to solve equations return tensorProd ( with nonlinear coefficients. For example, the expression t1 , t2 , T 2 ∇T ·∇ψdΩ std :: make index sequence old <sizeof . ( Args2)>{} ); Ω } k 2 contains the nonlinear coefficient Told, where Told is the finite Fig.
Recommended publications
  • Arxiv:1911.09220V2 [Cs.MS] 13 Jul 2020
    MFEM: A MODULAR FINITE ELEMENT METHODS LIBRARY ROBERT ANDERSON, JULIAN ANDREJ, ANDREW BARKER, JAMIE BRAMWELL, JEAN- SYLVAIN CAMIER, JAKUB CERVENY, VESELIN DOBREV, YOHANN DUDOUIT, AARON FISHER, TZANIO KOLEV, WILL PAZNER, MARK STOWELL, VLADIMIR TOMOV Lawrence Livermore National Laboratory, Livermore, USA IDO AKKERMAN Delft University of Technology, Netherlands JOHANN DAHM IBM Research { Almaden, Almaden, USA DAVID MEDINA Occalytics, LLC, Houston, USA STEFANO ZAMPINI King Abdullah University of Science and Technology, Thuwal, Saudi Arabia Abstract. MFEM is an open-source, lightweight, flexible and scalable C++ library for modular finite element methods that features arbitrary high-order finite element meshes and spaces, support for a wide variety of dis- cretization approaches and emphasis on usability, portability, and high-performance computing efficiency. MFEM's goal is to provide application scientists with access to cutting-edge algorithms for high-order finite element mesh- ing, discretizations and linear solvers, while enabling researchers to quickly and easily develop and test new algorithms in very general, fully unstructured, high-order, parallel and GPU-accelerated settings. In this paper we describe the underlying algorithms and finite element abstractions provided by MFEM, discuss the software implementation, and illustrate various applications of the library. arXiv:1911.09220v2 [cs.MS] 13 Jul 2020 1. Introduction The Finite Element Method (FEM) is a powerful discretization technique that uses general unstructured grids to approximate the solutions of many partial differential equations (PDEs). It has been exhaustively studied, both theoretically and in practice, in the past several decades [1, 2, 3, 4, 5, 6, 7, 8]. MFEM is an open-source, lightweight, modular and scalable software library for finite elements, featuring arbitrary high-order finite element meshes and spaces, support for a wide variety of discretization approaches and emphasis on usability, portability, and high-performance computing (HPC) efficiency [9].
    [Show full text]
  • MFEM: a Modular Finite Element Methods Library
    MFEM: A Modular Finite Element Methods Library Robert Anderson1, Andrew Barker1, Jamie Bramwell1, Jakub Cerveny2, Johann Dahm3, Veselin Dobrev1,YohannDudouit1, Aaron Fisher1,TzanioKolev1,MarkStowell1,and Vladimir Tomov1 1Lawrence Livermore National Laboratory 2University of West Bohemia 3IBM Research July 2, 2018 Abstract MFEM is a free, lightweight, flexible and scalable C++ library for modular finite element methods that features arbitrary high-order finite element meshes and spaces, support for a wide variety of discretization approaches and emphasis on usability, portability, and high-performance computing efficiency. Its mission is to provide application scientists with access to cutting-edge algorithms for high-order finite element meshing, discretizations and linear solvers. MFEM also enables researchers to quickly and easily develop and test new algorithms in very general, fully unstructured, high-order, parallel settings. In this paper we describe the underlying algorithms and finite element abstractions provided by MFEM, discuss the software implementation, and illustrate various applications of the library. Contents 1 Introduction 3 2 Overview of the Finite Element Method 4 3Meshes 9 3.1 Conforming Meshes . 10 3.2 Non-Conforming Meshes . 11 3.3 NURBS Meshes . 12 3.4 Parallel Meshes . 12 3.5 Supported Input and Output Formats . 13 1 4 Finite Element Spaces 13 4.1 FiniteElements....................................... 14 4.2 DiscretedeRhamComplex ................................ 16 4.3 High-OrderSpaces ..................................... 17 4.4 Visualization . 18 5 Finite Element Operators 18 5.1 DiscretizationMethods................................... 18 5.2 FiniteElementLinearSystems . 19 5.3 Operator Decomposition . 23 5.4 High-Order Partial Assembly . 25 6 High-Performance Computing 27 6.1 Parallel Meshes, Spaces, and Operators . 27 6.2 Scalable Linear Solvers .
    [Show full text]
  • FELICITY: a MATLAB/C++ TOOLBOX for DEVELOPING FINITE ELEMENT METHODS and SIMULATION MODELING\Ast
    SIAM J. SCI.COMPUT. \bigcircc 2018 Society for Industrial and Applied Mathematics Vol. 40, No. 2, pp. C234{C257 FELICITY: A MATLAB/C++ TOOLBOX FOR DEVELOPING FINITE ELEMENT METHODS AND SIMULATION MODELING\ast SHAWN W. WALKERy Abstract. This paper describes a MATLAB/C++ finite element toolbox, called FELICITY, for simulating various types of systems of partial differential equations (e.g., coupled elliptic/parabolic problems) using the finite element method. It uses MATLAB in an object-oriented way for high-level manipulation of data structures in finite element codes, while utilizing a domain-specific language (DSL) and code generation to automate low-level tasks such as matrix assembly (via the MATLAB mex interface). We describe the fundamental functionality of the toolbox's MATLAB interface, such as using higher order Lagrange (simplicial) meshes, defining finite element spaces, allocating degrees- of-freedom, assembling discrete bilinear and linear forms, and interpolation over meshes. Moreover, we describe in-depth how automatic code generation is implemented in FELICITY. Two example problems and their implementation are provided to demonstrate the ability of FELICITY to solve coupled problems with interacting subdomains of different co-dimension. Future improvements are also discussed. Key words. finite elements, coupled systems, geometric flows, code generation, MATLAB, open source software AMS subject \bfc \bfl \bfa \bfs \bfifi\bfc\bfa\bft\bfo\bfn. 68N30, 65N30, 65M60, 68N19, 68N20 DOI. 10.1137/17M1128745 1. Introduction. The development of numerical methods to solve partial dif- ferential equations (PDEs) continues to advance to address new domain areas and problems of increasing complexity. With this, the number of software packages has increased to address the needs for researching new methods and simulating large prob- lems.
    [Show full text]
  • Mofem: an Open Source, Parallel Finite Element Library
    MoFEM: An open source, parallel finite element library Kaczmarczyk, Ł., Ullah, Z., Lewandowski, K., Meng, X., Zhou, X-Y., Athanasiadis, I., Nguyen, H., Chalons- Mouriesse, C-A., Richardson, E. J., Miur, E., Shvarts, A. G., Wakeni, M., & Pearce, C. J. (2020). MoFEM: An open source, parallel finite element library. The Journal of Open Source Software, 5(45). https://doi.org/doi.org/10.21105/joss.01441 Published in: The Journal of Open Source Software Document Version: Publisher's PDF, also known as Version of record Queen's University Belfast - Research Portal: Link to publication record in Queen's University Belfast Research Portal Publisher rights © 2020 The Authors. This is an open access article published under a Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium, provided the author and source are cited. General rights Copyright for the publications made accessible via the Queen's University Belfast Research Portal is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The Research Portal is Queen's institutional repository that provides access to Queen's research output. Every effort has been made to ensure that content in the Research Portal does not infringe any person's rights, or applicable UK laws. If you discover content in the Research Portal that you believe breaches copyright or violates any law, please contact [email protected]. Download date:06.
    [Show full text]
  • Overview of Research in the Scidac Center for Simulation of Fusion Relevant RF Actuators P
    Overview of Research in the SciDAC Center for Simulation of Fusion Relevant RF Actuators P. T. Bonoli and D. L. Green on behalf of the RF-SciDAC Team 60th Annual Meeting of the APS Division of Plasma Physics November 5–9, 2018 Portland, Oregon Poster BP11.00071 RF-SciDAC : Center for Simulation of Fusion Relevant RF Actuators http://rfscidac4.org Abstract An overview is given of research which has the goal of developing a predictive simulation capability of the self-consistent interaction of RF power with the scrape-off layer (SOL), including the effects of plasma sheaths, ponderomotive forces near an antenna, and turbulence and transport. This will make it possible to answer critical questions related to how RF power modifies properties of the SOL, and how, in turn, the SOL affects the propagation and absorption of RF waves. Targeted problems include the impact of high power RF systems on plasma facing materials, including high-Z impurity sputtering and transport induced by large RF-induced sheath potentials, localized thermal loads, and antenna damage. In order to address the high geometric fidelity required to describe the 3D magnetic field and 3D solid geometry of the RF launching structures and the surrounding vacuum vessel the open-source scalable Modular Finite Element Framework (MFEM) is being utilized. The Parallel Unstructured Mesh Infrastructure (PUMI) is also being used in order to move to global solution domains, which are presently precluded by existing meshing approaches. *Work supported by US DoE contract numbers DE-SC0018090, DE-SC0018319, DE- SC0018275, FWP 3ERAT952, FWP 2017-LLNL-SCW1619, and Work Proposal 3203.
    [Show full text]
  • Improved Support for Parallel Adaptive Simulation in CEED WBS 2.2.6.06, Milestone CEED-MS29
    ECP Milestone Report Improved Support for Parallel Adaptive Simulation in CEED WBS 2.2.6.06, Milestone CEED-MS29 Mark Shephard Valeria Barra Jed Brown Jean-Sylvain Camier Veselin Dobrev Yohan Dudouit Paul Fischer Tzanio Kolev David Medina Misun Min Cameron Smith Morteza H. Siboni Jeremy Thompson Tim Warburton July 12, 2019 DOCUMENT AVAILABILITY Reports produced after January 1, 1996, are generally available free via US Department of Energy (DOE) SciTech Connect. Website http://www.osti.gov/scitech/ Reports produced before January 1, 1996, may be purchased by members of the public from the following source: National Technical Information Service 5285 Port Royal Road Springfield, VA 22161 Telephone 703-605-6000 (1-800-553-6847) TDD 703-487-4639 Fax 703-605-6900 E-mail [email protected] Website http://www.ntis.gov/help/ordermethods.aspx Reports are available to DOE employees, DOE contractors, Energy Technology Data Exchange representatives, and International Nuclear Information System representatives from the following source: Office of Scientific and Technical Information PO Box 62 Oak Ridge, TN 37831 Telephone 865-576-8401 Fax 865-576-5728 E-mail [email protected] Website http://www.osti.gov/contact.html This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.
    [Show full text]
  • Mathfest 2018
    Abstracts of Papers Presented at MathFest 2018 Denver, CO August 1 – 4, 2018 Published and Distributed by The Mathematical Association of America Contents Invited Addresses 1 Earle Raymond Hedrick Lecture Series by Gigliola Staffilani . 1 Nonlinear Dispersive Equations and the Beautiful Mathematics That Comes with Them Lecture 1: Thursday, August 2, 11:00–11:50 AM, Plaza Ballroom A, B, & C, Plaza Building Lecture 2: Friday, August 3, 10:30–11:20 AM, Plaza Ballroom A, B, & C, Plaza Building Lecture 3: Saturday, August 4, 10:00–10:50 AM, Plaza Ballroom A, B, & C, Plaza Building . 1 AMS-MAA Joint Invited Address . 1 Gravity’s Action on Light: A Mathematical Journey by Arlie Petters Thursday, August 2, 10:00–10:50 AM, Plaza Ballroom A, B, & C, Plaza Building . 1 MAA Invited Address . 1 Inclusion-exclusion in Mathematics: Who Stays in, Who Falls out, Why It Happens, and What We Should Do About It by Eugenia Cheng Friday, August 3, 11:30–12:20 AM, Plaza Ballroom A, B, & C, Plaza Building . 1 Snow Business: Scientific Computing in the Movies and Beyond by Joseph Teran Saturday, August 4, 11:00–11:50 AM, Plaza Ballroom A, B, & C, Plaza Building . 1 Mathematical Medicine: Modeling Disease and Treatment by Lisette de Pillis Thursday, August 2, 9:00–9:50 AM, Plaza Ballroom A, B, & C, Plaza Building . 2 MAA James R.C. Leitzel Lecture . 2 The Relationship between Culture and the Learning of Mathematics by Talitha Washington Saturday, August 4, 9:00–9:50 AM, Plaza Ballroom A, B, & C, Plaza Building .
    [Show full text]
  • Libceed User Manual Release 0.9.0
    libCEED User Manual Release 0.9.0 Ahmad Abdelfattah Valeria Barra Natalie Beams Jed Brown Jean-Sylvain Camier Veselin Dobrev Yohann Dudouit Leila Ghaffari Tzanio Kolev David Medina Will Pazner Thilina Ratnayaka Jeremy L. Thompson Stan Tomov Oct 01, 2021 Contents 1 Introduction 4 2 Getting Started 6 2.1 Building ................................................. 6 2.2 Additional Language Interfaces .................................... 7 2.3 Testing .................................................. 7 2.4 Backends ................................................. 8 2.5 Examples ................................................. 9 2.6 Benchmarks ............................................... 11 2.7 Install ................................................... 11 2.7.1 pkg-config ............................................ 12 2.8 Contact .................................................. 12 2.9 How to Cite ............................................... 12 2.10 Copyright ................................................ 13 3 Interface Concepts 13 3.1 Theoretical Framework ......................................... 13 3.2 Finite Element Operator Decomposition ............................... 14 3.2.1 Terminology and Notation ................................... 15 3.2.2 Partial Assembly ........................................ 19 3.2.3 Parallel Decomposition .................................... 20 1 3.3 API Description ............................................. 20 3.4 Gallery of QFunctions ......................................... 26 3.5 Interface
    [Show full text]
  • The Diet Experience Eddy Caron
    Contribution to the management of large scale platforms: the Diet experience Eddy Caron To cite this version: Eddy Caron. Contribution to the management of large scale platforms: the Diet experience. Net- working and Internet Architecture [cs.NI]. Ecole normale supérieure de lyon - ENS LYON, 2010. tel-00629060 HAL Id: tel-00629060 https://tel.archives-ouvertes.fr/tel-00629060 Submitted on 5 Oct 2011 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. HABILITATION A DIRIGER DES RECHERCHES présentée par Eddy Caron pour obtenir l’habilitation à diriger des recherches de l’École Normale Supérieure de Lyon spécialité : Informatique Contribution to the management of large scale platforms: the Diet experience Date de soutenance: 6 octobre 2010 Composition du Jury : Rapporteurs : Dick H. J. Epema (Technische Universiteit Delft) : Thierry Priol (INRIA. IRISA. Rennes) : Pierre Sens (INRIA. LIP6. Paris) Examinateurs : Vincent Breton (CNRS. LPC. Clermont Ferrand) : Franck Cappello (INRIA. Urbana Champaign University) : Olivier Richard (IMAG. Grenoble) Directeur : Frédéric Desprez (INRIA. ENS-Lyon) Habilitation préparée au sein du Laboratoire de l’Informatique du Parallélisme (LIP) À Cléa et Teo. Remerciements Je commencerai ces remerciements par un reproche à tout ceux qui avant moi se sont retrouvés devant cette tâche.
    [Show full text]
  • An Isogeometric Analysis Approach for Coupled Multi-Field Problems at Large Strain Lei Zhang
    An isogeometric analysis approach for coupled multi-field problems at large strain Lei Zhang To cite this version: Lei Zhang. An isogeometric analysis approach for coupled multi-field problems at large strain. Solid mechanics [physics.class-ph]. Ecole Centrale Marseille, 2016. English. NNT : 2016ECDM0012. tel- 01525035 HAL Id: tel-01525035 https://tel.archives-ouvertes.fr/tel-01525035 Submitted on 19 May 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ECOLE CENTRALE MARSEILLE THÈSE Pour obtenir le grade de DOCTEUR DE L’ECOLE CENTRALE MARSEILLE Par LEI ZHANG le 5 décembre 2016 SUR UNE APPROCHE ISOGEOMETRIQUE POUR PROBLEMES MULTI-CHAMPS COUPLES EN GRANDES TRANSFORMATIONS JURY Rapporteur: Thomas Elguedj, INSA de Lyon Rapporteur: Jean-Claude Léon, ENSE3 - Grenoble-INP Examinateur: Salim Bouabdallah, Altair Engineering Examinateur: Marc Médale, Polytech’ Marseille Directeur de thèse: Dominique Eyheramendy, Centrale Marseille II Acknowledgements This dissertation has been written from 2013 to 2016 during my time as Phd student in the equip of material and structure of LMA (Laboratoire de Mécanique et d’Acoustique), Marseille, France. I would like to thank sincerely Prof. Dominique Eyheramendy for giving me the opportunity to work with him, and for his helpful and patient guidance as my doctoral supervisor.
    [Show full text]
  • The Dune Framework: Basic Concepts and Recent Developments
    The Dune Framework: Basic Concepts and Recent Developments Peter Bastiana, Markus Blattb, Andreas Dednerc, Nils-Arne Dreierd, Christian Engwerd, Ren´eFritzed, Carsten Gr¨asere, Christoph Gr¨uninger, Dominic Kempfa, Robert Kl¨ofkornf, Mario Ohlbergerd, Oliver Sanderg aHeidelberg University bDr. Blatt HPC-Simulation-Software & Services cUniversity of Warwick dApplied Mathematics: Institute of Analysis and Numerics, University of M¨unster eFreie Universit¨atBerlin fNORCE Norwegian Research Centre AS gTechnische Universit¨atDresden Abstract This paper presents the basic concepts and the module structure of the Dis- tributed and Unified Numerics Environment and reflects on recent developments and general changes that happened since the release of the first Dune version in 2007 and the main papers describing that state [1, 2]. This discussion is accompanied with a description of various advanced features, such as coupling of domains and cut cells, grid modifications such as adaptation and moving domains, high order discretizations and node level performance, non-smooth multigrid methods, and multiscale methods. A brief discussion on current and future development directions of the framework concludes the paper. 1. Introduction The Distributed and Unified Numerics Environment Dune1 [1, 2] is a free and open source software framework for the grid-based numerical solution of partial differential equations (PDEs) that has been developed for more than 15 years as a collaborative effort of several universities and research institutes. arXiv:1909.13672v3 [cs.MS] 22 Jun 2020 In its name, the term \distributed" refers to distributed development as well as distributed computing. The enormous importance of numerical methods for PDEs in applications has lead to the development of a large number of general (i.e.
    [Show full text]
  • Unstructured Meshing Technologies
    Unstructured Meshing Technologies Presented to ATPESC 2020 Participants Aaron Fisher (LLNL) & Mark Shephard (RPI) Date 08/04/2020 ATPESC Numerical Software Track Finite elements are a good foundation for large-scale simulations on current and future architectures ▪ Backed by well-developed theory. ▪ Naturally support unstructured and curvilinear grids. ▪ High-order finite elements on high-order meshes • Increased accuracy for smooth problems • Sub-element modeling for problems with shocks • Bridge unstructured/structured grids Non-conforming mesh refinement • Bridge sparse/dense linear algebra on high-order curved meshes • FLOPs/bytes increase with the order ▪ Demonstrated match for compressible shock hydrodynamics (BLAST). ▪ Applicable to variety of physics (DeRham complex). “nodes” “edges” “faces” “zones” High-order High-order High-order High-order 8th order Lagrangian hydro simulation kinematics MHD rad. diff. thermodynamics of a shock triple-point interaction 2 ATPESC 2020, July 26 – August 7, 2020 Modular Finite Element Methods (MFEM) MFEM is an open-source C++ library for scalable FE research and fast application prototyping ▪ Triangular, quadrilateral, tetrahedral and hexahedral; volume and surface meshes ▪ Arbitrary order curvilinear mesh elements ▪ Arbitrary-order H1, H(curl), H(div)- and L2 elements Linear, quadratic and cubic finite element spaces on curved meshes ▪ Local conforming and non-conforming refinement ▪ NURBS geometries and discretizations ▪ Bilinear/linear forms for variety of methods (Galerkin, DG, DPG, Isogeometric,
    [Show full text]