ITAPS Tutorial Materials

To aid new users of the ITAPS interfaces and software, we provide the tutorial materials presented at recent conferences. In particular, the pdf presentation from the SC08 full day tutorial is available here.

SC08 Tutorial Presentation

In addition, we provided hands-on exercises to the participants to familiarize them with the use of the interfaces. These started with a simple "Hello iMesh" exercise and move on to show the use of different services such as Mesquite (mesh smoothing), Zoltan (mesh partitioning) and FronTier (front tracking). At the tutorial, we provided access to prebuilt libraries, to build and test these exercises you will need to download and build the appropriate software in your environment. In particular, you will need at least one iMesh implementation for "Hello iMesh" and that implementation and the appropriate service for the remaining exercises. These should all build with simple configure and make commands on most linux systems using gcc. These exercises have been extensively tested with gcc 4.2.4. We recommend that you perform the exercises in the order given as each builds upon the knowledge gained in the previous ones.

There are four exercises, each of which focuses on different aspects of using the ITAPS mesh interface, both in serial and in parallel. A short overview description is provided here. In each exercise, start with the HandsOn_Session.txt file, which will tell you what you need to know about setting environment variables, building and running each example. It also provides some background information on the functions and services used. The iMesh.h, and iMeshP.h documentation will be useful to you in completing the exercises.

Hello iMesh

  • Your first exposure to iMesh and iMeshP functions
  • Explore the differences between serial and parallel set up
  • Simple examples of retrieving data

Load Balance

  • Use Zoltan to partition a mesh and visualize the results
  • Build on what you learned in Hello iMesh to create a Mesh instance, retrieve a root set, partition handle and load a mesh
  • First use of Parts function
  • Save the mesh and perform general house cleaning
  • Shows basic skeleton of application level use of Zoltan libraries

Front Tracking

  • Use FronTier to propagate a mesh according to velocities set at vertices
  • Use Tags and Entity iterators to set velocity parameters
  • Shows basic skeleton of application use of Frontier

Smooth Mesh

  • Use Mesquite to smooth a mesh in serial and in parallel
  • Create a layer of ghost data in parallel and use tags to set IDs on mesh vertices
  • Save the improved mesh back to disk
  • Shows some of the set up and basic functionality needed by the Mesquite service

Language Compability Example

This simple, self-contained example reads a mesh and does some simple data retrieval. The example is given in five dialects: C, C++, Fortran77, Fortran90, and Fortran 2003. As with the tutorial examples, at least one iMesh implementation is required.

Contact Lori Diachin if you have any questions