ITAPS 1.4 Released

Added by Mark Miller over 5 years ago

Announcing Release 1.4 of ITAPS Interfaces, Implementations and Services.

Users may obtain help and send feedback to itaps-users at

This announcement consists of the following information
1. Changes to ITAPS interface specifications in this release
2. Fortran interface improvements
3. Improvements in ITAPS interface and portability testing.
4. Information on obtaining the software
5. Obtaining documentation

1. Changes to ITAPS interface specifications

  • iBase.h
    • The iBase_Error struct datatype was removed because it was part of a now obselete error handling mechanism
    • The concept of the resliency in iterators was introduced to permit ITAPS callers to indicate what assumptions their call sequences make in the way of iterator behavior in the presence of container modifications. For a detailed discussion of the design considerations for this change, see
    • In any of the ITAPS interfaces where an iterator can be requested, if a caller requests a reslient iterator and an implementation is unable to return one, the function will fail and return IBASE_NOT_SUPPORTED.
    • Advice for implementers was improved to include how to properly deal with termination of string-valued arguments.
  • iMesh.h
    • Added reslient argument in iterator creation calls
    • Replaced iMesh_areEHValid() with iMesh_optimize() and added handles_invalidated return argument to indicate if calling iMesh_optimize() potentially invalidated any entity, set, or tag handles the caller was holding prior to the call. For a detailed discussion of the design considerations for this change, see
  • iMeshP.h
    • Added reslient argument in iterator creation calls
  • iRel.h
    • Added reslient argument in iterator creation calls
  • iField.h / iField_dfk.h
    • Added reslient argument in iterator creation calls
    • Const-qualified some input arguments

2. Fortran interface improvements

Fortran include files are now automatically generated from the C header files. The logic for handling 4-byte or 8-byte pointer sizes was simplified. It is now automated for a majority of common compiler cases as well as can be explicitly overridden during compilation with -DPOINTER_SIZE=4|8 CPP flag.

3. Improvements in iMesh/iMeshP interface and portability testing

A number of improvements have been made in the testing of ITAPS interfaces

  • Initiated regular testing of Parallel iMesh implementations.
  • Initiated regular testing with the valgrind memory checker.
  • Addressed all leaks in the iMesh implementations and most other memory errors reported by valgrind testing.
  • Initiated regular testing of Fortran example codes.
  • Identified and corrected various issues with Fortran interoperability across the implementations.
  • Adjusted tests to be more flexible in dealing with implementation defined aspects of the interfaces.
  • Enhanced iMeshP tests to test cross-implementation portability.

The ITAPS implementations are tested on a weekly basis in a variety of modes described above to ensure implementations are consistent with interface specifications as well as each other.

4. Information on obtaining ITAPS-1.4 compliant software

Various implementations of the ITAPS interfaces can be found at the following URLs. Users are also encouraged to read the respective product's release notes for additional information pertaining to this ITAPS-1.4 release as well as product-specific release details.

We have also developed a support script, called build_itaps, to facilitate the download, compilation and installation of ITAPS interface and service software. You can obtain the build_itaps script here. In addition, there is a helpful primer on using the build_itaps script to build all or just some pieces of the ITAPS softwar suite in a variety of configurations here.

5. Obtaining documentation

Reference manuals for all the ITAPS interfaces can be found here

ITAPS 1.3 Released

Added by Mark Miller over 6 years ago

Announcing Release 1.3 of ITAPS Interfaces and Services with focus on
Parallel Mesh interface, iMeshP

Users may obtain help and send feedback to itaps-users at

This announcement consists of the following information
1. iMeshP Release Details
2. iField Release Details
3. Details regarding other ITAPS interfaces in this release

1. iMeshP Release Details

This release focuses primarily on the Parallel Mesh interface, iMeshP.

This is an alpha release of iMeshP interface specification AND implementations.

We are making this alpha release available to users to solicit feedback on the interface specification itself as well as experiences with the available implementations of that interface, FMDB from RPI and MOAB from ANL.

Implementations of iMeshP are ongoing and will continue to evolve and improve in the coming months. This is a great opportunity for users to get involved and provide feedback.

Portions of the iMeshP interface specification are still in flux. In addition, the available implementations of iMeshP emphasize different aspects of the interface. Details of these differences can be found in each implementation's respective release notes.

Users may obtain iMeshP implementations here...

Presently, the build_itaps tool that helps users build previous (serial) releases of ITAPS software does not support parallel configuration, build and installation of ITAPS software products. Therefore, users will have to obtain and follow each implementation's respective software installation procedures.

Complete documentation on all ITAPS interfaces is available here

2. iField Release Details

Also included in this release is an alpha release of the ITAPS field interface specification, iField. Implementations of iField are under way but this 1.3 ITAPS release includes only the iField interface specification. The implementations are not being released at this time but will be in the next ITAPS release.

Users may obtain the iField interface specification here

3. Other Details

Minor bug fixes and enhancements to other ITAPS interfaces are also included in this release.

  • iBase:
    • iBase_NO_MESH_DATA error code has been eliminated
  • iMesh:
    • The returned error code argument, 'int *err' has been elimiinated from iMesh_getDescription() and iMesh_getErrorType().
    • Some problems with fortran header files were corrected.
Serial implementations of ITAPS-1.3 interfaces are available at...

In addition, the build_itaps tool obtained here and described here is helpful in building and installing various serial ITAPS implementations and services.

ITAPS 1.2 Released

Added by Mark Miller over 6 years ago

Announcing the 1.2 release of ITAPS interfaces & services.

This release announcement consists of the following sections

1. Overview
2. Software in this release
3. Obtaining the software
4. Interface Compliance
5. Compliance Variations

1. Overview

ITAPS is a collaboration focused on the development of common interfaces to
geometry, mesh, and associated data, and on the development of services
interacting through these interfaces. The iMesh interface provides access
to unstructured mesh and data associated with that mesh. ITAPS is also
developing the iGeom interface, for accessing CAD data, iMeshP, providing
parallel mesh functionality and constructs, and iRel, for relating entities
between these interfaces.

The 1.2 release of ITAPS consists mainly of an update to the iMesh interface,
with coordinated releases of the various services using or implementing iMesh.
A major focus of effort for this release is on software quality and interface
compliance testing, primarily for the iMesh interface. Nonetheless,
various of the software products that are part of this release also include
implementations of iGeom, iMeshP and iRel.

2. Software in this Release

This release consists of the following implementations of the ITAPS interfaces
(implementations marked with an asterisk (*) also include partial
implementations of iMeshP):

iMesh: FMDB*, GRUMMP, MOAB*, RefImpl
iGeom: CGM, GMI
iRel: Lasso

The following mesh-based services are also included:
Mesquite (mesh smoothing)
Swapping (topological mesh improvement)
eyeMesh browser (mesh metadata browsing)
Zoltan (mesh partitioning)
VisIt plugins (visualization)
PyTaps (Python interfaces to iMesh, iGeom, iRel)

More information on these implementations and services can be found from the
ITAPS web site (

3. Obtaining the software

To obtain and install these various software products, it is probably
easiest to use a new tool developed for this purpose; build_itaps. You
can use wget, curl or 'svn co' to obtain this tool...

for a short primer in using build_itaps.

Not all services have been integrated into the build_itaps script. For those
that are not, separate README files explain how to build those products.

4. iMesh Interface Compliance

Constructing an application from a diverse set of independently developed
software components can be a challenging task. Although common interfaces
like iMesh simplify that task, it must still be verified that all
components implement the parts of iMesh required by a given application.
We have developed an iMesh compliance test suite, containing over 1000
separate checks on the implementation and behavior of various iMesh functions.
While the compliance test is not comprehensive, it does cover the majority of
functionality provided through iMesh. The iMesh implementations provided with
version 1.2 of ITAPS have the following pass rates for the current compliance

iMesh implementations (-compliance)
MOAB (98
), FMDB (100%), GRUMMP (100%), RefImpl (100%)

The only major functionality in iMesh not tested in the current compliance
test is creation of 3D entities.

For implementation specific variations from the specification, please see the
individual product's release notes for more information.

5. Compliance Variations of Significance
Below we enumerate compliance variations of significance. These
are slated to be addressed by the next (1.3) release.

1. Generic data functions use void* for the data pointer type in the
specification but implementations may use void** requiring explicit
cast by caller. See
2. Behavior of iterators when associated entity set undergoes modification
may vary between implementations.
3. 3D mesh entity creation from vertices or edges not supported by all
iMesh implementations. See

ITAPS PIs meeting at SIAM CSE11

Added by Mark Miller over 6 years ago

Our ITAPS PIs meeting at SIAM CSE11 will be held at 5:30pm on Wednesday,
3/2, in meeting room Ruby 1. We have the room until 8:30, so we can get
dinner delivered, or meet and then go out for dinner. If you have a
preference, let me know.

Listen to HPC Podcast with Carl, Mark S. and Tim T.

Added by Mark Miller over 6 years ago

Carl, Mark S. and Tim T. participated in the HPC podcast, at to talk about ITAPS project.

Listen to the full podcast here,

New ITAPS Web pages have been launched!

Added by Mark Miller almost 7 years ago

Lori, Norm and Karen have stood up the new ITAPS web site. Take a look at it here, You might need to re-load your page to force an update to the new content. Also, all developers please take a close look at and pages below here for proper linkages to software products.

Check out the nearly complete new ITAPS Web pages

Added by Mark Miller almost 7 years ago

Norm, Lori and Karen are near to completion of the new ITAPS web pages.

New Top Machine in China

Added by Mark Miller almost 7 years ago

Weekly SW Status Meeting

Added by Mark Miller almost 7 years ago

ITAPS developers meet weekly to discuss status of ITAPS software.

Find notes from past meetings here...

Also available in: Atom