User Documentation Release 5.4.1

Total Page:16

File Type:pdf, Size:1020Kb

User Documentation Release 5.4.1 User Documentation Release 5.4.1 Yves Renard, Julien Pommier, Konstantinos Poulios Jul 22, 2021 Contents 1 Introduction 1 2 How to install 3 3 Linear algebra procedures5 4 MPI Parallelization of GetFEM 7 4.1 State of progress of GetFEM MPI parallelization.....................8 5 Catch errors 11 6 Build a mesh 13 6.1 Add an element to a mesh................................. 13 6.2 Remove an element from a mesh............................. 15 6.3 Simple structured meshes................................. 15 6.4 Mesh regions........................................ 16 6.5 Methods of the getfem::mesh object......................... 17 6.6 Using dal::bit_vector ................................ 19 6.7 Face numbering...................................... 19 6.8 Save and load meshes................................... 20 7 Build a finite element method on a mesh 23 7.1 First level: manipulating fems on each elements..................... 24 7.2 Examples.......................................... 25 7.3 Second level: the optional “vectorization/tensorization”................. 26 7.4 Third level: the optional linear transformation (or reduction)............... 27 7.5 Obtaining generic mesh_fem’s............................... 28 7.6 The partial_mesh_fem object............................... 28 8 Selecting integration methods 29 8.1 Methods of the mesh_im object.............................. 31 9 Mesh refinement 33 10 Compute arbitrary terms - high-level generic assembly procedures - Generic Weak-Form Language (GWFL) 35 10.1 Overview of GWFL.................................... 35 i 10.2 Some basic examples.................................... 37 10.3 Derivation order and symbolic differentiation....................... 38 10.4 C++ Call of the assembly................................. 39 10.5 C++ assembly examples.................................. 40 10.6 Script languages call of the assembly........................... 43 10.7 The tensors......................................... 43 10.8 The variables........................................ 43 10.9 The constants or data.................................... 44 10.10 Test functions........................................ 44 10.11 Gradient.......................................... 44 10.12 Hessian........................................... 44 10.13 Predefined scalar functions................................. 45 10.14 User defined scalar functions................................ 45 10.15 Derivatives of defined scalar functions........................... 46 10.16 Binary operations...................................... 46 10.17 Unary operators...................................... 47 10.18 Parentheses......................................... 47 10.19 Explicit vectors....................................... 47 10.20 Explicit matrices...................................... 47 10.21 Explicit tensors....................................... 47 10.22 Access to tensor components................................ 48 10.23 Constant expressions.................................... 48 10.24 Special expressions linked to the current position..................... 48 10.25 Print command....................................... 49 10.26 Reshape a tensor...................................... 49 10.27 Trace, Deviator, Sym and Skew operators......................... 49 10.28 Nonlinear operators.................................... 49 10.29 Macro definition...................................... 50 10.30 Explicit Differentiation................................... 51 10.31 Explicit Gradient...................................... 52 10.32 Interpolate transformations................................. 52 10.33 Element extrapolation transformation........................... 54 10.34 Evaluating discontinuities across inter-element edges/faces................ 55 10.35 Double domain integrals or terms (convolution - Kernel - Exchange integrals)...... 56 10.36 Elementary transformations................................ 57 10.37 Xfem discontinuity evaluation (with mesh_fem_level_set)................ 58 10.38 Storage of sub-expressions in a getfem::im_data object during assembly......... 59 11 Compute arbitrary terms - low-level generic assembly procedures (deprecated) 61 11.1 available operations inside the comp command...................... 63 11.2 others operations...................................... 64 12 Some Standard assembly procedures (low-level generic assembly) 65 12.1 Laplacian (Poisson) problem................................ 65 12.2 Linear Elasticity problem................................. 67 12.3 Stokes Problem with mixed finite element method.................... 68 12.4 Assembling a mass matrix................................. 68 13 Interpolation of arbitrary quantities 69 13.1 Basic interpolation..................................... 69 13.2 Interpolation based on the generic weak form language (GWFL)............. 70 ii 14 Incorporate new finite element methods in GetFEM 73 15 Incorporate new approximated integration methods in GetFEM 75 16 Level-sets, Xfem, fictitious domains, Cut-fem 77 16.1 Representation of level-sets................................ 78 16.2 Mesh cut by level-sets................................... 78 16.3 Adapted integration methods................................ 79 16.4 Cut-fem........................................... 80 16.5 Discontinuous field across some level-sets........................ 80 16.6 Xfem............................................ 80 16.7 Post treatment....................................... 81 17 Tools for HHO (Hybrid High-Order) methods 83 17.1 HHO elements....................................... 83 17.2 Reconstruction operators.................................. 84 17.3 Stabilization operators................................... 86 18 Interpolation/projection of a finite element method on non-matching meshes 89 18.1 mixed methods with different meshes........................... 90 18.2 mortar methods....................................... 90 19 Compute L2 and H1 norms 91 20 Compute derivatives 93 21 Export and view a solution 95 21.1 Saving mesh and mesh_fem objects for the Matlab interface............... 95 21.2 Producing mesh slices................................... 96 21.3 Exporting mesh, mesh_fem or slices to VTK/VTU.................... 98 21.4 Exporting mesh, mesh_fem or slices to OpenDX..................... 98 22 A pure convection method 101 23 The model description and basic model bricks 103 23.1 The model object...................................... 103 23.2 The brick object...................................... 106 23.3 How to build a new brick.................................. 107 23.4 How to add the brick to a model.............................. 111 23.5 Generic assembly bricks.................................. 112 23.6 Generic elliptic brick.................................... 113 23.7 Dirichlet condition brick.................................. 114 23.8 Generalized Dirichlet condition brick........................... 116 23.9 Pointwise constraints brick................................. 116 23.10 Source term bricks (and Neumann condition)....................... 117 23.11 Predefined solvers..................................... 118 23.12 Example of a complete Poisson problem......................... 118 23.13 Nitsche’s method for dirichlet and contact boundary conditions............. 120 23.14 Constraint brick...................................... 123 23.15 Other “explicit” bricks................................... 124 23.16 Helmholtz brick...................................... 124 23.17 Fourier-Robin brick.................................... 125 23.18 Isotropic linearized elasticity brick............................ 125 iii 23.19 Linear incompressibility (or nearly incompressibility) brick............... 126 23.20 Mass brick......................................... 127 23.21 Bilaplacian and Kirchhoff-Love plate bricks....................... 128 23.22 Mindlin-Reissner plate model............................... 129 23.23 The model tools for the integration of transient problems................. 131 23.24 Small sliding contact with friction bricks......................... 139 23.25 Large sliding/large deformation contact with friction bricks............... 151 24 Numerical continuation and bifurcation 161 24.1 Numerical continuation.................................. 161 24.2 Detection of limit points.................................. 163 24.3 Numerical bifurcation................................... 164 24.4 Approximation of solution curves of a model....................... 167 25 Finite strain Elasticity bricks 169 25.1 Some recalls on finite strain elasticity........................... 169 25.2 Add an nonlinear elasticity brick to a model........................ 173 25.3 Add a large strain incompressibility brick to a model................... 174 25.4 High-level generic assembly versions........................... 175 26 Small strain plasticity 179 26.1 Theoretical background.................................. 179 26.2 Flow rule integration.................................... 181 26.3 Some classical laws.................................... 184 26.4 Elasto-plasticity bricks................................... 188 27 ALE Support for object having a large rigid body motion 193 27.1 ALE terms for rotating objects............................... 193 27.2 ALE terms for a uniformly translated part of an object.................. 196 28 Appendix A. Finite element method list 199 28.1 Classical PK Lagrange elements on simplices....................... 201 28.2 Classical Lagrange elements on other
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]
  • Open-Source Automatic Nonuniform Mesh Generation for FDTD Simulation
    This is a repository copy of Structured Mesh Generation : Open-source automatic nonuniform mesh generation for FDTD simulation. White Rose Research Online URL for this paper: https://eprints.whiterose.ac.uk/100155/ Version: Accepted Version Article: Berens, Michael, Flintoft, Ian David orcid.org/0000-0003-3153-8447 and Dawson, John Frederick orcid.org/0000-0003-4537-9977 (2016) Structured Mesh Generation : Open- source automatic nonuniform mesh generation for FDTD simulation. IEEE Antennas and Propagation Magazine. pp. 45-55. ISSN 1045-9243 https://doi.org/10.1109/MAP.2016.2541606 Reuse Items deposited in White Rose Research Online are protected by copyright, with all rights reserved unless indicated otherwise. They may be downloaded and/or printed for private study, or other acts as permitted by national copyright laws. The publisher or other rights holders may allow further reproduction and re-use of the full text version. This is indicated by the licence information on the White Rose Research Online record for the item. Takedown If you consider content in White Rose Research Online to be in breach of UK law, please notify us by emailing [email protected] including the URL of the record and the reason for the withdrawal request. [email protected] https://eprints.whiterose.ac.uk/ 1 Open Source Automatic Non-uniform Mesh Generation for FDTD Simulation Michael K. Berens, Ian D. Flintoft, Senior Member, IEEE, and John F. Dawson, Member, IEEE, Abstract—This article describes a cuboid structured mesh generator suitable for 3D numerical modelling using techniques such as finite-difference time-domain (FDTD) and transmission-line matrix (TLM).
    [Show full text]
  • Aparallel Implementation of a Femsolver in Scilab
    powered by A PARALLEL IMPLEMENTATION OF A FEM SOLVER IN SCILAB Author: Massimiliano Margonari Keywords. Scilab; Open source software; Parallel computing; Mesh partitioning, Heat transfer equation. Abstract: In this paper we describe a parallel application in Scilab to solve 3D stationary heat transfer problems using the finite element method. Two benchmarks have been done: we compare the results with reference solutions and we report the speedup to measure the effectiveness of the approach. Contacts [email protected] This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. EnginSoft SpA - Via della Stazione, 27 - 38123 Mattarello di Trento | P.I. e C.F. IT00599320223 A parallel FEM solver in Scilab 1. Introduction Nowadays many simulation software have the possibility to take advantage of multi- processors/cores computers in the attempt to reduce the solution time of a given task. This not only reduces the annoying delays typical in the past, but allows the user to evaluate larger problems and to do more detailed analyses and to analyze a greater number of scenarios. Engineers and scientists who are involved in simulation activities are generally familiar with the terms “high performance computing” (HPC). These terms have been coined to indicate the ability to use a powerful machine to efficiently solve hard computational problems. One of the most important keywords related to the HPC is certainly parallelism. The total execution time can be reduced if the original problem can be divided into a given number of subtasks. Total time is reduced because these subtasks can be tackled concurrently, that means in parallel, by a certain number of machines or cores.
    [Show full text]
  • MUMPS Users' Guide
    MUltifrontal Massively Parallel Solver (MUMPS 5.4.1) Users’ guide * August 3, 2021 Abstract This document describes the Fortran 95 and C user interfaces to MUMPS5.4.1, a software package to solve sparse systems of linear equations, with many features. For some classes of problems, the complexity of the factorization and the memory footprint of MUMPS can be reduced thanks to the Block Low-Rank (BLR) feature. We describe in detail the data structures, parameters, calling sequences, and error diagnostics. Basic example programs using MUMPS are also provided. Users are allowed to save to disk MUMPS internal data before or after any of the main steps of MUMPS (analysis, factorization, solve) and then restart. *Information on how to obtain updated copies of MUMPS can be obtained from the Web page http://mumps-solver.org/ 1 Contents 1 Introduction 5 2 Notes for users of other versions of MUMPS 6 2.1 ChangeLog........................................7 2.2 Binary compatibility....................................7 2.3 Upgrading between minor releases............................7 2.4 Upgrading from MUMPS 5.3.5 to MUMPS 5.4.1 ...................8 2.5 Upgrading from MUMPS 5.2.1 to MUMPS 5.3.5 ...................8 2.6 Upgrading from MUMPS 5.1.2 to MUMPS 5.2.1 ...................8 2.7 Upgrading from MUMPS 5.0.2 to MUMPS 5.1.2 ...................9 2.7.1 Changes on installation issues...........................9 2.7.2 Selective 64-bit integer feature..........................9 2.8 Upgrading from MUMPS 4.10.0 to MUMPS 5.0.2 .................. 10 2.8.1 Interface with the Metis and ParMetis orderings................
    [Show full text]
  • Understanding the Relationships Between Aesthetic Properties Of
    Understanding the relationships between aesthetic properties of shapes and geometric quantities of free-form curves and surfaces using Machine Learning Techniques Aleksandar Petrov To cite this version: Aleksandar Petrov. Understanding the relationships between aesthetic properties of shapes and ge- ometric quantities of free-form curves and surfaces using Machine Learning Techniques. Mechanical engineering [physics.class-ph]. Ecole nationale supérieure d’arts et métiers - ENSAM, 2016. English. NNT : 2016ENAM0007. tel-01344873 HAL Id: tel-01344873 https://pastel.archives-ouvertes.fr/tel-01344873 Submitted on 12 Jul 2016 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. N°: 2009 ENAM XXXX 2016-ENAM-0007 PhD THESIS in cotutelle To obtain the degree of Docteur de l’Arts et Métiers ParisTech Spécialité “Mécanique – Conception” École doctorale n° 432: “Science des Métiers de l’ingénieur” and Dottore di Ricerca della Università degli Studi di Genova Specialità “Ingeneria Meccanica” Scuola di Dottorato: “Scienze e tecnologie per l’ingegneria” ciclo XXVI Presented and defended publicly by Aleksandar PETROV January 25th, 2016 Understanding the relationships between aesthetic properties of shapes and geometric quantities of free-form curves and surfaces using Machine Learning Techniques Director of thesis: Philippe VÉRON Co-director of thesis: Franca GIANNINI T Co-supervisors of the thesis: Jean-Philippe PERNOT, Bianca FALCIDIENO H È Jury M.
    [Show full text]
  • Octave Package, User's Guide
    Octave package, User’s Guide∗ version 0.1.0 François Cuveliery March 24, 2019 Abstract This Octave package make it possible to generate mesh files from .geo files by using gmsh. It’s also possible with the ooGmsh2 and ooGmsh4 classes to read the mesh file (respectively for MSH file format version 2.2 and version 4.x) and to store its contains in more user-friendly form. This package must be regarded as a very simple interface between gmsh files and Octave. So you are free to create any data structures or objects you want from an ooGmsh2 object or an ooGmsh4 object. 0 Contents 1 Introduction 2 2 Installation 3 2.1 Installation automatic, all in one (recommanded) . .3 3 gmsh interface 4 3.1 function fc_oogmsh.gmsh.buildmesh2d ............................4 3.2 function fc_oogmsh.gmsh.buildmesh3d ............................6 3.3 function fc_oogmsh.gmsh.buildmesh3ds ...........................6 3.4 function fc_oogmsh.gmsh.buildpartmesh2d .........................6 3.5 function fc_oogmsh.gmsh.buildpartmesh3d .........................8 3.6 function fc_oogmsh.gmsh.buildpartmesh3ds .........................8 3.7 function fc_oogmsh.gmsh.buildPartRectangle .......................8 4 ooGmsh4 class (version 4.x) 9 4.1 Methods . 10 4.1.1 ooGms4 constructor . 10 4.1.2 info method . 10 ∗LATEX manual, revision 0.1.0.a, compiled with Octave 5.1.0, and packages fc-oogmsh[0.1.0], fc-tools[0.0.27], fc-meshtools[0.1.0], fc-graphics4mesh[0.0.4], and using gmsh 4.2.2 yLAGA, UMR 7539, CNRS, Université Paris 13 - Sorbonne Paris Cité, Université Paris 8, 99 Avenue J-B Clément, F-93430 Villetaneuse, France, [email protected].
    [Show full text]
  • High-Performance High-Order Simulation of Wave and Plasma Phenomena
    High-Performance High-Order Simulation of Wave and Plasma Phenomena by Andreas Klockner¨ Dipl.-Math. techn., Universitat¨ Karlsruhe (TH); Karlsruhe, Germany, 2005 M.S., Brown University; Providence, RI, 2006 A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Division of Applied Mathematics at Brown University PROVIDENCE, RHODE ISLAND May 2010 c Copyright 2010 by Andreas Klockner¨ This dissertation by Andreas Klockner¨ is accepted in its present form by The Division of Applied Mathematics as satisfying the dissertation requirement for the degree of Doctor of Philosophy. Date Jan Sickmann Hesthaven, Ph.D., Advisor Recommended to the Graduate Council Date Johnny Guzman,´ Ph.D., Reader Date Chi-Wang Shu, Ph.D., Reader Approved by the Graduate Council Date Sheila Bonde, Dean of the Graduate School iii Vitae Biographical Information Birth August 5th, 1977 Konstanz, Germany Education 2005 – 2010 Ph.D. in Applied Mathematics (in progress) Division of Applied Mathematics, Brown University, Providence, RI Advisor: Jan Hesthaven 2005 Diplom degree in Applied Mathematics (Technomathematik) Institut fur¨ Angewandte Mathematik, Universitat¨ Karlsruhe, Ger- many Advisor: Willy Dorfler¨ 2001 – 2002 Exchange Student, Department of Mathematics University of North Carolina at Charlotte, Charlotte, NC 2000 Vordiplom in Computer Science, Universitat¨ Karlsruhe, Germany Experience 6/2006 – 9/2006 J. Wallace Givens Research Associate Mathematics and Computer Science Div., Argonne Nat’l Laboratory,
    [Show full text]
  • Quality Tetrahedral Mesh Generation with HXT and the Growing SPR Operation
    Received: Added at production Revised: Added at production Accepted: Added at production DOI: xxx/xxxx ARTICLE TYPE Quality tetrahedral mesh generation with HXT Célestin Marot* | Jean-François Remacle 1 Institute of Mechanics, Materials and Civil Engineering, Université catholique de Summary Louvain, Louvain-la-Neuve, Belgium We proposed, in a recent paper 1, a fast 3D parallel Delaunay kernel for tetrahedral Correspondence mesh generation. This kernel was however incomplete in the sense that it lacked Célestin Marot, Institute of Mechanics, the necessary mesh improvement tools. The present paper builds on that previous Materials and Civil Engineering, Université catholique de Louvain, work and proposes a fast parallel mesh improvement stage that delivers high-quality Avenue Georges Lemaitre 4, bte L4.05.02, tetrahedral meshes compared to alternative open-source mesh generators. Our mesh 1348 Louvain-la-Neuve, Belgium. Email: [email protected] improvement toolkit includes edge removal and improved Laplacian smoothing as well as a brand new operator called the Growing SPR Cavity, which can be regarded Funding Information as the mother of all flips. The paper describes the workflow of the new mesh improve- This research was supported by the ment schedule, as well as the details of the implementation. The result of this research European Union’s Horizon 2020 research is a series of open-source scalable software components, called HXT, whose overall and innovation programme, ERC-2015AdG-694020. efficiency is demonstrated on practical examples by means of a detailed comparative benchmark with two open-source mesh generators: Gmsh and TetGen. KEYWORDS: HXT, Growing SPR Cavity, quality, tetrahedral, mesh, improvement 1 INTRODUCTION Tetrahedral meshes are the geometrical support for most finite element discretizations.
    [Show full text]
  • Large Scale Finite Element Mesh Generation with Gmsh
    Towards (very) large scale finite element mesh generation with Gmsh Christophe Geuzaine Universit´e de Li`ege ELEMENT workshop, October 20, 2020 1 Some background • I am a professor at the University of Li`ege in Belgium, where I lead a team of about 15 people in the Montefiore Institute (EECS Dept.), at the intersection of applied math, scientific computing and engineering physics • Our research interests include modeling, analysis, algorithm development, and simulation for problems arising in various areas of engineering and science • Current applications: low- and high-frequency electromagnetics, geophysics, biomedical problems • We write quite a lot of codes, some released as open source software: http://gmsh.info, http://getdp.info, http://onelab.info 2 What is Gmsh? • Gmsh (http://gmsh.info) is an open source 3D finite element mesh generator with a built-in CAD engine and post-processor • Includes a graphical user interface (GUI) and can drive any simulation code through ONELAB • Today, Gmsh represents about 500k lines of C++ code • still same 2 core developers (Jean-Francois Remacle from UCLouvain and myself); about 100 with ≥ 1 commit • about 1,000 people on mailing lists • about 10,000 downloads per month (70% Windows) • about 500 citations per year – the main Gmsh paper is cited about 4,500 times • Gmsh has probably become one of the most popular (open source) finite element mesh generators? 3 ∼ 20 years of Gmsh development in 1 minute A warm thank you to all the contributors! A little bit of history • Gmsh was started in 1996, as
    [Show full text]
  • Arxiv:2105.11220V1 [Cs.DC] 24 May 2021 the Motion of Particles Is Described by a Set of Convection-Diffusion-Reaction Equations
    Towards Parallel CFD computation for the ADAPT framework Imad Kissamiy∗, Christophe Ceriny, Fayssal Benkhaldoun∗, and Gilles Scarella∗ Universit´ede Paris 13 y LIPN, ∗ LAGA, 99, avenue Jean-Baptiste Cl´ement, 93430 Villetaneuse, France [email protected] Abstract. In order to run Computational Fluid Dynamics (CFD) codes on large scale infrastructures, parallel computing has to be used because of the computational intensive nature of the problems. In this paper we investigate the ADAPT platform where we couple flow Partial Differ- ential Equations and a Poisson equation. This leads to a linear system which we solve using direct methods. The implementation deals with the MUMPS parallel multi-frontal direct solver and mesh partitioning meth- ods using METIS to improve the performance of the framework. We also investigate, in this paper, how the mesh partitioning methods are able to optimize the mesh cell distribution for the ADAPT solver. The ex- perience gained in this paper facilitates the move to the 3D version of ADAPT and the move to a Service Oriented view of ADAPT as future work. Keywords: Unstructured mesh, Mesh partitioning, Parallel direct solver, Multi-frontal method, MUMPS, METIS, Multi-physics, Multi-scale and Multilevel Algorithms. 1 Introduction and context of the work In the last recent decades CFD (Computational Fluid Dynamics) used to play an important role in industrial designs, environmental impact assessments and academic studies. The aim of our work is to fully parallelize an unstructured adaptive code for the simulation of 3D streamer propagation in cold plasmas. As a matter of fact, the initial sequential version of the Streamer code needs up to one month for running typical benchmarks.
    [Show full text]
  • Multifrontal Massively Parallel Solver (MUMPS 4.8.4) Users' Guide
    MUltifrontal Massively Parallel Solver (MUMPS 4.8.4) Users’ guide ∗ December 15, 2008 Abstract This document describes the Fortran 90 and C user interface to MUMPS 4.8.4 We describe in detail the data structures, parameters, calling sequences, and error diagnostics. Example programs using MUMPS are also given. A preliminary out-of-core functionality (with limited support) is included in this version. ∗Information on how to obtain updated copies of MUMPS can be obtained from the Web pages http://mumps.enseeiht.fr/ and http://graal.ens-lyon.fr/MUMPS/ 1 Contents 1 Introduction 4 2 Main functionalities of MUMPS 4.8.4 5 2.1 Inputmatrixstructure . ....... 5 2.2 Preprocessing ................................... .... 5 2.3 Post-processingfacilities . .......... 6 2.4 Solvingthetransposedsystem. ......... 6 2.5 Reduce/condense a problem on an interface (Schur complement and reduced/condensed right-handside) .................................... 7 2.6 Arithmeticversions .... ............. ............. ...... 8 2.7 Theworkinghostprocessor . ....... 8 2.8 Sequentialversion..... ............. ............. ...... 8 2.9 Sharedmemoryversion . ..... 8 2.10 Out-of-corefacility . ........ 8 3 Sequence in which routines are called 8 4 Input and output parameters 11 4.1 Versionnumber ................................... 11 4.2 Control of the three main phases: Analysis, Factorization,Solve ............. 11 4.3 Controlofparallelism . ....... 12 4.4 Matrixtype ...................................... 13 4.5 Centralized assembled matrix input: ICNTL(5)=0 and ICNTL(18)=0 .......... 13 4.6 Element matrix input: ICNTL(5)=1 and ICNTL(18)=0 . ............. 14 4.7 Distributed assembled matrix input: ICNTL(5)=0 and ICNTL(18)=0 .......... 14 4.8 Scaling.........................................6 . 15 4.9 Givenordering:ICNTL(7)=1 . ....... 15 4.10 Schur complement with reduced (or condensed) right-hand side: ICNTL(19) and ICNTL(26) .......................................
    [Show full text]