A Parallel Computational Framework for Discontinuous Galerkin Methods Kumar Vemaganti Mechanical Engineering University of Cincinnati.

Slides:



Advertisements
Similar presentations
University of Sheffield, 7 th September 2009 Angus Ramsay & Edward Maunder.
Advertisements

Basic FEA Procedures Structural Mechanics Displacement-based Formulations.
Beams and Frames.
Mesh, Loads & Boundary conditions CAD Course © Dr Moudar Zgoul,
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
Efficient Storage and Processing of Adaptive Triangular Grids using Sierpinski Curves Csaba Attila Vigh Department of Informatics, TU München JASS 2006,
The Finite Element Method A Practical Course
Some Ideas Behind Finite Element Analysis
By S Ziaei-Rad Mechanical Engineering Department, IUT.
Adaptive mesh refinement for discontinuous Galerkin method on quadrilateral non-conforming grids Michal A. Kopera PDE’s on the Sphere 2012.
ECIV 720 A Advanced Structural Mechanics and Analysis
Overview Class #6 (Tues, Feb 4) Begin deformable models!! Background on elasticity Elastostatics: generalized 3D springs Boundary integral formulation.
Basic FEA Concepts. FEA Project Outline Consider the physics of the situation. Devise a mathematical model. Obtain approximate results for subsequent.
Parallel Mesh Refinement with Optimal Load Balancing Jean-Francois Remacle, Joseph E. Flaherty and Mark. S. Shephard Scientific Computation Research Center.
Finite Element Method in Geotechnical Engineering
Fracture and Fragmentation of Thin-Shells Fehmi Cirak Michael Ortiz, Anna Pandolfi California Institute of Technology.
Y. S. Yang and S. H. Hsieh National Taiwan University, Taipei, Taiwan December 8, 2000 FE2000: An Object-Oriented Framework For Parallel Nonlinear Dynamic.
Introduction to Finite Element Analysis for Structure Design Dr. A. Sherif El-Gizawy.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Introduction to virtual engineering László Horváth Budapest Tech John von Neumann Faculty of Informatics Institute of Intelligent Engineering.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Parallel Adaptive Mesh Refinement Combined With Multigrid for a Poisson Equation CRTI RD Project Review Meeting Canadian Meteorological Centre August.
Department of Aerospace and Mechanical Engineering A one-field discontinuous Galerkin formulation of non-linear Kirchhoff-Love shells Ludovic Noels Computational.
Parallel Performance of Hierarchical Multipole Algorithms for Inductance Extraction Ananth Grama, Purdue University Vivek Sarin, Texas A&M University Hemant.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services Instance Language (OSiL), Solvers, and Modeling Languages Kipp Martin University of Chicago
Grid Generation.
ME 520 Fundamentals of Finite Element Analysis
1 Data Structures for Scientific Computing Orion Sky Lawlor charm.cs.uiuc.edu 2003/12/17.
7 th Annual Workshop on Charm++ and its Applications ParTopS: Compact Topological Framework for Parallel Fragmentation Simulations Rodrigo Espinha 1 Waldemar.
SCD User Forum 2005 Dynamically adaptive geophysical fluid dynamics simulation using GASpAR: Geophysics/Astrophysics Spectral-element Adaptive Refinement.
1 Tutorial 5-1: Part Sketch / Geometric Constraints.
An introduction to the finite element method using MATLAB
Engineering Mechanics: Statics
PDE2D, A General-Purpose PDE Solver Granville Sewell Mathematics Dept. University of Texas El Paso.
Discontinuous Galerkin Methods and Strand Mesh Generation
Adaptive Mesh Modification in Parallel Framework Application of parFUM Sandhya Mangala (MIE) Prof. Philippe H. Geubelle (AE) University of Illinois, Urbana-Champaign.
Materials Process Design and Control Laboratory Finite Element Modeling of the Deformation of 3D Polycrystals Including the Effect of Grain Size Wei Li.
Stress constrained optimization using X-FEM and Level Set Description
Parallel Solution of the Poisson Problem Using MPI
Finite Element Analysis
Domain Decomposition in High-Level Parallelizaton of PDE codes Xing Cai University of Oslo.
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
Adaptive Mesh Applications Sathish Vadhiyar Sources: - Schloegel, Karypis, Kumar. Multilevel Diffusion Schemes for Repartitioning of Adaptive Meshes. JPDC.
Partitioning using Mesh Adjacencies  Graph-based dynamic balancing Parallel construction and balancing of standard partition graph with small cuts takes.
Partial Derivatives Example: Find If solution: Partial Derivatives Example: Find If solution: gradient grad(u) = gradient.
MA/CS 471 Lecture 15, Fall 2002 Introduction to Graph Partitioning.
1 Data Structures for Scientific Computing Orion Sky Lawlor /04/14.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
A Parallel Hierarchical Solver for the Poisson Equation Seung Lee Deparment of Mechanical Engineering
Multipole-Based Preconditioners for Sparse Linear Systems. Ananth Grama Purdue University. Supported by the National Science Foundation.
1 Copyright by PZ Bar-Yoseph © Finite Element Methods in Engineering Winter Semester Lecture 7.
Mandatory programming project TMA4220. Cooking beef and other applications of FEM in the kitchen.
Unstructured Meshing Tools for Fusion Plasma Simulations
Our task is to estimate the axial displacement u at any section x
Lagouge TARTIBU KWANDA Mechanical Engineering
SHERINE RAJ AP/CIVIL ENGINEERING DEPARTMENT OF SCD
2D AFEAPI Overview Goals, Design Space Filling Curves Code Structure
Introduction to the Finite Element Method
Finite Element Method in Geotechnical Engineering
POSTPROCESSING Review analysis results and evaluate the performance
Date of download: 11/9/2017 Copyright © ASME. All rights reserved.
A Parallel Hierarchical Solver for the Poisson Equation
ECIV 720 A Advanced Structural Mechanics and Analysis
POSTPROCESSING Review analysis results and evaluate the performance
GENERAL VIEW OF KRATOS MULTIPHYSICS
Supported by the National Science Foundation.
Huawei Wang Human Motion & Control Lab Mechanical Engineering
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Parallel Implementation of Adaptive Spacetime Simulations A
CASA Day 9 May, 2006.
Presentation transcript:

A Parallel Computational Framework for Discontinuous Galerkin Methods Kumar Vemaganti Mechanical Engineering University of Cincinnati

Acknowledgements ICES (formerly TICAM), UT Austin Abani Patra, SUNY Buffalo

Outline PI-FED in a nutshell Design Considerations Implementation Issues Sample Applications

PIFED: Parallel Infrastructure for Finite Element Discretizations Two-dimensional Adaptive FE Conforming and Non-conforming Quadrilaterals and Triangles Parallel: Partitioning through Space Filling Curves Multiple Linear Solvers C++ and some FORTRAN

Design Considerations (for a Research Code) Source code available (GPL) Flexible: Multiple Solution Components Extensible: Object Oriented Portable on *NIX: RS6000, IRIX, Linux, Mac OS X Parallel: Distributed Datastructures Adaptive: Dynamic Datastructures

The Finite Element Problem

Discontinuous Formulations: Additional Terms Additional terms on the LHS: The Finite Element Problem is completely specified if the coefficients A**, B**, F*, H*, J** are specified for each element/edge.

Organization PI-FED Library Application (User-supplied) Partitioning DatastructuresCommunications Solvers Domain (Mesh) Coefficients: A**, J**, etc. Control Parameters

Non-overlapping Partitioning: Hilbert Space Filling Curves Hilbert SFC: A one-dimensional curve that fills the unit square. SFC Implementation: HSFC2D & HSFC3D (H. Carter Edwards)

PIFED: Other Features Solvers: Direct: SPOOLES, SPARSE 1.3 Iterative: PCG & GMRES AZTEC interface in the works Datastructures Hashtables for elements and nodes (gNodes, pNodes) Hash rule based on SFC key Communications MPICH version of MPI Hidden from user

Coefficient Function MCOEFF: Element by Element #include "AFE-machine.hh" #include "AFE-3D.hh" subroutine USER_MCOEFF ( xyzloc, xyzglob,. mat, neq, nrhs,. nreal, rval, nint, ival,. unreal, urval, unint, uival,. axx, axy, ayx, ayy,. a0x, a0y, ax0, ay0,. a00, f0, fx, fy )

Coefficient Function MCOEFF c-- Fill up the coefficient arrays axx(1,1) = a1111 ayy(1,1) = 0.5d0*a1212 axy(1,2) = a1122 ayx(1,2) = 0.5d0*a1212 axy(2,1) = 0.5d0*a1212 ayx(2,1) = a1122 axx(2,2) = 0.5d0*a1212 ayy(2,2) = a2222 c-- RHS coefficients f0(1,1) = -1.0d0*a1111 f0(2,1) = -1.0d0*a2222

/* Dirichlet BCs */ if ( strcmp ( Type, "Displacement" ) == 0 ) { /* LHS terms */ BX0[0+0*(*n_c)] = a1111*unorm[0]; BX0[0+1*(*n_c)] = a1122*unorm[1]; BX0[1+0*(*n_c)] = 0.5*a1212*unorm[1]; BX0[1+1*(*n_c)] = 0.5*a1212*unorm[0]; BY0[0+0*(*n_c)] = 0.5*a1212*unorm[1]; BY0[0+1*(*n_c)] = 0.5*a1212*unorm[0]; BY0[1+0*(*n_c)] = a1122*unorm[0]; BY0[1+1*(*n_c)] = a2222*unorm[1]; Coefficient Function BCOEFF: Boundary Edges

Coefficient Function BCOEFF B0X[0+0*(*n_c)] = -1.0*a1111*unorm[0]; B0X[0+1*(*n_c)] = -0.5*a1212*unorm[1]; B0X[1+0*(*n_c)] = -1.0*a1122*unorm[1]; B0X[1+1*(*n_c)] = -0.5*a1212*unorm[0]; B0Y[0+0*(*n_c)] = -0.5*a1212*unorm[1]; B0Y[0+1*(*n_c)] = -1.0*a1122*unorm[0]; B0Y[1+0*(*n_c)] = -0.5*a1212*unorm[0]; B0Y[1+1*(*n_c)] = -1.0*a2222*unorm[1]; /* RHS terms */ hx[0] = u0*unorm[0]*a u1*unorm[1]*a1122; hx[1] = 0.5*a1212*(u0*unorm[1] + u1*unorm[0]); hy[0] = 0.5*a1212*(u0*unorm[1] + u1*unorm[0]); hy[1] = u0*unorm[0]*a u1*unorm[1]*a2222; } /* End of Dirichlet BCs */

Coefficient Function JCOEFF: Interior Edges c c-- Coefficients for this element c c-- JX0 JX0(1,1) = unorma(1)*a1111 JX0(1,2) = unorma(2)*a1122 JX0(2,1) = 0.5d0*unorma(2)*a1212 JX0(2,2) = 0.5d0*unorma(1)*a1212 c-- JY0 JY0(1,1) = 0.5d0*unorma(2)*a1212 JY0(1,2) = 0.5d0*unorma(1)*a1212 JY0(2,1) = unorma(1)*a1122 JY0(2,2) = unorma(2)*a2222

Coefficient Function JCOEFF c c-- Coefficients for neighbor c c-- JX0 JX0_n(1,1) = unorma(1)*n1111 JX0_n(1,2) = unorma(2)*n1122 JX0_n(2,1) = 0.5d0*unorma(2)*n1212 JX0_n(2,2) = 0.5d0*unorma(1)*n1212 c-- JY0 JY0_n(1,1) = 0.5d0*unorma(2)*n1212 JY0_n(1,2) = 0.5d0*unorma(1)*n1212 JY0_n(2,1) = unorma(1)*n1122 JY0_n(2,2) = unorma(2)*n2222

Control Parameters // Set the number of post-processing quantities int npost = 5; set_parameter ( NUM_POST_QTY, (void *)&npost ); // Set the number of RHSs int nrhs = 1; set_parameter ( NUM_RHS, (void *)&nrhs ); // Set number of solution components int nc=2; set_parameter ( NUM_COMP, (void *)&nc ); // Set the finite element type to DG int fe_type=NONCONFORMING; set_parameter ( FE_TYPE, (void *)&fe_type );

Example: Linear Elasticity Horizontal traction force on right edge Left edge fixed Isotropic Material p-level = 2

Results on Initial Mesh Horizontal Displacements Vertical Displacements

Results on Initial Mesh von Mises Stress

Refined Mesh Horizontal traction force on right edge Left edge fixed Isotropic Material p-level = 2

Results on Refined Mesh Horizontal Displacements Vertical Displacements

Results on Refined Mesh von Mises Stress

Another Example: Topology Optimization Goal: Maximize the stiffness, subject to volume constraints Discrete problem: Determine which elements have material in them, and which ones don' t

Extreme Materials

Material with Poisson Ratio = -0.95