==========
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 :doc:`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).
.. toctree::
:maxdepth: 2
why-use
imesh
igeom
sets-tags
irel
example
from-c