TutorialΒΆ

PyTAPS is a set of Python bindings to the ITAPS (Interoperable Technologies for Advanced Petascale Simulations) interfaces, a set of standardized interfaces for use in simulation code written in C, C++, or Fortran (users already familiar with ITAPS may wish to consult Coming from C first). Specifically, ITAPS includes:

  • iBase: Common definitions used by all other ITAPS interfaces
  • iMesh: Creation, querying, and manipulation of discrete polygonal/polyhedral meshes
  • iGeom: Creation, querying, and manipulation of continuous geometry (e.g. CAD)
  • iRel: Relations between pairs of other ITAPS interface instances

ITAPS strives to remain implementation-independent, allowing people to write generic simulation code that can be used on any system that implements the appropriate ITAPS interfaces. There are several software packages that implement these interfaces, including MOAB, GRUMMP, FMDB, NWGrid, Frontier, CGM, and Lasso. PyTAPS wraps all of this up and makes it available to Python.

In ITAPS, there are three basic data types: entities, entity sets, and tags. Entities refer to individual geometric objects, such as vertices or hexahedra. Entity sets are collections of entities or other entity sets; they can also contain parent-child relationships with other sets. Tags are (sparse) mappings of entities or entity sets to arbitrary data. These data types are combined to do everything that can be done in ITAPS (and correspondingly in PyTAPS).

Previous topic

Installing PyTAPS

Next topic

Why Use PyTAPS

This Page