1 ATPESC 2014 Vijay Mahadevan Tutorial Session for Scalable Interfaces for Geometry and Mesh based Applications (SIGMA) FASTMath SciDAC Institute.

Slides:



Advertisements
Similar presentations
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Advertisements

Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture.
Capacitive Micromotor
Simulation executable (simv)
Parameterizing a Geometry using the COMSOL Moving Mesh Feature
© Fluent Inc. 4/16/ Introductory GAMBIT Notes GAMBIT v2.0 Jan 2002 Fluent User Services Center Edge and Face Meshing.
Ulrich Heck, DHCAE-Tools UG ___________________________ CastNet: GUI based modeling and solution control environment for OpenFOAM® CastNet: CAD-based Pre-Processor.
CAD Import, Partitioning & Meshing J.Cugnoni LMAF / EPFL 2009.
Software Version Control SubVersion software version control system WebSVN graphical interface o View version history logs o Browse directory structure.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
Introduction to ABAQUS 27 th February, Units Before starting to define any model, you need to decide which system of units you will use. ABAQUS.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Introduction to virtual engineering László Horváth Budapest Tech John von Neumann Faculty of Informatics Institute of Intelligent Engineering.
4/20/2017.
C++ / G4MICE Course Session 3 Introduction to Classes Pointers and References Makefiles Standard Template Library.
Antigone Engine Kevin Kassing – Period
Introduction to FORTRAN
CSCI 6962: Server-side Design and Programming Validation Tools in Java Server Faces.
Document Type Definitions Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Chapter 9 CAD & Parameters
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Copyright © 2010 Altair Engineering, Inc. All rights reserved.Altair Proprietary and Confidential Information Section 13 Loads and Boundary Conditions.
1 RDFid Examples of RDFid: _a73ed7b8a60a4b2ea46318a370b9c7de Definition from the profile The document requires only that in a given full model,
ME5372/7372 Introduction to CAD/CAM Session 2,( August 28, 2008 ) Instructor : Rajeev Dwivedi Department of Mechanical.
An evaluation of HotSpot-3.0 block-based temperature model
© Fluent Inc. 10/14/ Introductory GAMBIT Notes GAMBIT v2.0 Jan 2002 Fluent User Services Center Volume Meshing and the Sizing.
Object-Oriented Programming in C++
58:110 Computer-Aided Engineering Spring 2005 Grid Generation in GAMBIT By Xiongbin Liu Department of Mechanical and industrial engineering The University.
Continuous Model Synthesis Paul Merrell and Dinesh Manocha In SIGGRAPH Asia 2008 발표 : 이성호.
XHTML & Forms. PHP and the WWW PHP and HTML forms – Forms are the main way users can interact with your PHP scrip Typical usage of the form tag in HTML.
Copyright © 2010 – MICS 2010, Curt Hill Instructor Tools: Test Data Generation Curt Hill Valley City State University.
Abstract ESOLID is a computational geometry system that performs boundary evaluation using exact computation. Boundary Evaluation Exact computation Problem.
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
CFX-10 Introduction Lecture 1.
Using of XML for object store S. Linev, GSI Using of XML for object store. S.Linev2 Content XML and existing packages XML and existing packages.
Javadoc. Purpose of javadoc javadoc is a program that reads your Java program and produces great-looking documentation in HTML format Without any help,
Connections to Other Packages The Cactus Team Albert Einstein Institute
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Partitioning using Mesh Adjacencies  Graph-based dynamic balancing Parallel construction and balancing of standard partition graph with small cuts takes.
Ulrich Heck, DHCAE-Tools UG ___________________________ CAD geometry based pre-processing for CFD using abstract modeling techniques CastNet: CAD-based.
May 30-31, 2012 HDF5 Workshop at PSI May Metadata Journaling Dana Robinson The HDF Group Efficient Use of HDF5 With High Data Rate X-Ray Detectors.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
Unstructured Mesh Handling for Extreme-Scale Computing Timothy J. Tautges Computational Scientist Mathematics & Computer Science Division Argonne National.
1 1  Capabilities: PCU: Communication, threading, and File IO built on MPI APF: Abstract definition of meshes, fields, and their algorithms GMI: Interface.
CS 350 – Software Design A Problem That Cries Out for Flexible Code – Chapter 3 Imagine you want to extract information from a CAD system to feed an expert.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Predictive Load Balancing Using Mesh Adjacencies for Mesh Adaptation  Cameron Smith, Onkar Sahni, Mark S. Shephard  Scientific Computation Research Center.
Chapter 14 Using JavaBeans Components in JSP Documents.
Mesh Control Winter Semester PART 1 Meshing.
CAD Import Partitioning & Meshing
A Parallel Hierarchical Solver for the Poisson Equation Seung Lee Deparment of Mechanical Engineering
13-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory # Chapter 13 Solver.out File and CCL Introduction to.
1 CW11 Visualizing ACE3P Results in ParaView Greg Schussman Menlo Park, CA October 10, 2011.
 Tata consultancy services Production Planning WORK CENTERS.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Finite element mesh and load definition
Introduction to Algorithms
Edge and Face Meshing.
Scalable Interfaces for Geometry and Mesh based Applications (SIGMA)
Antigone Engine.
Data Structures for Efficient and Integrated Simulation of Multi-Physics Processes in Complex Geometries A.Smirnov MulPhys LLC github/mulphys
Unified Modeling Language
Parallel Programming By J. H. Wang May 2, 2017.
Construction of Parallel Adaptive Simulation Loops
GENERAL VIEW OF KRATOS MULTIPHYSICS
Introduction to Algorithms
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Arrays.
Presentation transcript:

1 ATPESC 2014 Vijay Mahadevan Tutorial Session for Scalable Interfaces for Geometry and Mesh based Applications (SIGMA) FASTMath SciDAC Institute

2 2  Capabilities: Geometry and Mesh (data) generation/handling infrastructure with flexible solver interfaces. SIGMA: Introduction Website:  CGM supports both open-source (OCC) and commercial (ACIS) geometry modeling engines.  MOAB provides scalable mesh (data) usage in applications through efficient array-based access; Support parallel I/O, visualization.  MeshKit provides unified meshing interfaces to advanced algorithms and to external packages (Cubit/Netgen).  PETSc – MOAB interface simplifies efficient discretization and solution of PDE on unstructured meshes with FEM.

3 3  To utilize the SIGMA tools effectively, follow workflow to solve a simple 2-D Laplacian on a square mesh (unit cube).  Example 1: HelloParMOAB  Introduction to some MOAB objects and load mesh from file  Example 2: LargeMesh  Generate d-dimensional parallel mesh with given partition/element information (HEX/TET/QUAD/TRI)  Define Tags on entities (vertex or elements)  Write to file in parallel with partition  Example 3: GetEntities  Query the parallel mesh to list the entities of various dimensions (elements, faces, edges, vertices)  Get entities and report non-vertex entity connectivity and vertex adjacencies. SIGMA Tutorial

4 4  Example 4: DMMoab Laplacian Solver  Introduction to some DMMoab concepts  Create DMMoab from file loaded  Define field to be solved  Setup linear operators and PETSc objects  Solve linear operator  Output and visualize  Please consult the SIGMA website for help on examples.  All other MOAB questions can be directed to SIGMA Tutorial

5 5 HelloMOABPar: Basic Parallel Mesh Access  Interface instantiation using moab::Core constructor  Normally, all MOAB access should be through moab:: namespace, not used here for brevity  Mesh can be loaded from file (Interface::load_file)  MOAB source comes with various mesh files, in MeshFiles/unittest/…  Perform parallel resolve and exchange of shared and ghosted entities.  Lists usually handed through interface as either Range or std::vector  Usage: mpiexec -np 4 HelloMoabPar [filename] 5

6 6  Create a mesh on the fly, on multiple processors  Create a block mesh, partitioned as AxBxC blocks  The number of tasks will be MxNxK. Default: [M,N,K]=1  Numbering of each part is in lexicographic ordering; x direction varies first, then y, and then z.  Options to specify maximum dimensions available.  Options to create simplices and quadratic (HEX) elements.  Define field variables as double or integer tags.  Usage: Generate 512 elements on 8 processors mpiexec -np 8./GenLargeMesh -M 2 -N 2 -K 2 –A 2 –B 2 –C 2 -x 1.0 -y 1.0 -z 1.0 -d field1 –d field2 -o [filename] GenLargeMesh: Create Mesh in Memory

7 7 GetEntities: Basic Query of Mesh  MOAB provides functions for getting handle type, id (type_from_handle, id_from_handle) These are bitmask functions, you could implement your own in C/C++ EntityType enumeration: MBVERTEX, MBEDGE, … (use Doxygen to find definition) IDs usually assigned in sequence, starting with 1 (note, 0 is never a valid id, except for handle 0, which refers to the “root set” or instance)  Range provides API very similar to std::vector begin(), end(), rbegin(), etc. Range::range_inserter type for handing to std::copy  moab::CN class for Canonical Numbering Tells how vertices, edges, faces are numbered in local element Provides functions for e.g. getting string name, getting # edges in an element, etc. 7

8 8  GetEntities example is a lean version of “mbsize” tool  Usage: mbsize [...] Options : -f - List available file formats and exit. -g - print counts by geometric owner -l - Print counts of mesh -ll - Verbose listing of every entity -m - Print counts per block/boundary -O option - Specify read option. -p[0|1|2] - Read in parallel[0], optionally also doing resolve_shared_ents (1) and exchange_ghosts (2) -t - Print counts by tag  Exercise: Load few mesh files from Meshfiles/unittest directory and query different attributes. What does mbsize do ?

9 9  Documentation: DMMoab : Example: $PETSC_DIR/src/ksp/ksp/examples/tutorials/ex35.c  The example models the 2-D inhomogeneous Laplacian. with forcing function f =  Boundary conditions: Dirichlet: u = f(x,y) for x = 0, x = 1, y = 0, y = 1 Pure Neumann DMMoab example: PETSc – MOAB API and Solver Increasing values of υ & ρ

10  Control parameters: (-xref, -yref), -nu: center and width of Gaussian source -rho: the magnitude of diffusivity -n: control number of elements (generated in memory) -file: load from external file (output of GenLargeMesh)  Sample Usage:./ex35 -n 20 -nu rho 0.01./ex35 –n 40 -nu rho –io –ksp_monitor./ex35 -n 80 -nu rho –io –ksp_monitor –pc_type hypre./ex35 -n 160 -bc_type neumann -nu rho 0.01 –io./ex35 -n 320 -bc_type neumann -nu rho 1 –io  Feel free to play around with parameters. Questions ? DMMoab example: PETSc – MOAB API and Solver