Presentation is loading. Please wait.

Presentation is loading. Please wait.

The TSTT Data Model and Interface Lori Freitag. Use TSTT interfaces directly in applications to allow plug-and-play experimentation Discretization Library.

Similar presentations


Presentation on theme: "The TSTT Data Model and Interface Lori Freitag. Use TSTT interfaces directly in applications to allow plug-and-play experimentation Discretization Library."— Presentation transcript:

1 The TSTT Data Model and Interface Lori Freitag

2 Use TSTT interfaces directly in applications to allow plug-and-play experimentation Discretization Library Mesquite Frontier-Lite Create new tools that use these interfaces to work with the underlying infrastructures interchangeably –Mesquite mesh quality improvement –Discretization Library –Frontier-Lite TSTT Interoperability Development Plan Use TSTT interfaces to use tools interoperably Mesh Data API Geometry Data API Field Data API Mesh/Geometry Model Manager Mesh/Field Model Manager Define interfaces for Mesh Data Geometry Data Field Data Data Model Managers SciDAC Applications Use these tools to impact applications CGMTrellis AOMDCUBIT Wrap existing TSTT tools to comply with these interfaces

3 Philosophy Create a small set of interfaces that existing packages can support –Very small set of ‘core’ functions that must be implemented –Larger set of functions supported by reference implementations Balance performance and flexibility Work with a large tool provider and application community to ensure applicability Enable both interchangeability and interoperability Use CCA technologies as appropriate –SIDL/Babel for language interoperability –Some use of Ccaffiene and Decaf frameworks for developing prototype TSTT components

4 TSTT Data Model Participants ANL: Loy, Leurent BNL: Oh LLNL: Chand, Henshaw PNNL: Trease RPI: Shephard, Seole, Yunhau SNL: Freitag, Melander, Tautges SUNY SB: Li UBC: Ollivier-Gooch

5 Mesh Management Tools Represented Structured meshes –Overture - high quality, predominantly structured meshes on complex CAD geometries (LLNL) Unstructured meshes –AOMD (RPI) - primarily tetrahedral meshes, boundary layer mesh generation, curved elements, AMR –CUBIT (SNL) - primarily hexahedral meshes, automatic decomposition tools, common geometry module –NWGrid (PNNL) - hybrid meshes using combined Delaunay, AMR and block structured algorithms –Frontier (BNL) – interface front tracking –GRUMMP (UBC) – tetrahedral meshes MEGA Boundary Layer Mesh (RPI) Overture Mesh (LLNL)

6 Mesh Data Hierarchy Level A: Geometric description of the domain –provides a common frame of reference for all tools –facilitates multilevel solvers –facilitates transfer of information in discretizations Level B: Full geometry hybrid meshes –mesh components –communication mechanisms that link them (key new research area) –allows structured and unstructured meshes to be combined in a single computation Level C: Mesh Components Geometry Information (Level A) Full Geometry Meshes (Level B) Mesh Components (Level C) Access through both low and high level interfaces

7 TSTT Data Model Core Data Types –Mesh Data: provides the geometric and topological information associated with the discrete representation of the computational domain –Geometric Data: provides a high level description of the boundaries of the computational domain; e.g., CAD, image or mesh data –Field Data: (preliminary) the time dependent physics variables associated with application soluiton. These can be scalars, vectors, tensors, and associated with any mesh entity. Data Relation Manager –Provides control of the relationships among two or more the core data types. It resolves cross references between entities in different groups and provides additional functionality that depends on multiple core data types.

8 Data and Format Infrastructure: –Handles –Tags –Errors Mesh Data –Entities –Entity Sets –Meshes (Static, Modifiable) Geometry Data Mesh/Geometry Interface In each case there is –A ‘definition’, –Expected capabilities –Examples –Functional interfaces

9 Infrastructure: Handles Definition –An opaque object that represents entities, entity sets, tags to the application –Ensures data neutrality Capabilities –Uniquely associated with entities –May or may not be invariant through different calls to the interface in the lifetime of the mesh; denoted by the tag convention Invariant_Handles

10 Infrastructure: Tags Definition –User-defined opaque data with a unique string name, size (in bytes), tag handle –Associated with entities, meshes, entity sets, geometrical entities Capabilities –Given a handle, return name, size and user data –Given a name, return the handle Tag Conventions –Invariant_Handles (mesh) –Uniquely_Defined_Entities (mesh) –Type1_Mesh (mesh or entity set) –Type2_Mesh (mesh or entity set) –Will be more…

11 Basic Tag Interface void createTag(in string tag_name, in int tag_size, in opaque default_value, out opaque tag_handle) throws Error void deleteTag(in opaque tag_handle) throws Error void getTagSize(in opaque tag_handle, out int tag_size) throws Error void getTagName(in opaque tag_handle, out string tag_name) throws Error void getTagHandle (in string tag_name, out opaque tag_handle) throws Error void setTagData(in opaque tag_handle, in opaque tag_data) throws Error void getTagData(in opaque tag_handle, out opaque tag_data, out int tag_size) throws Error void createTag(in string tag_name, in int tag_size, in opaque default_value, out opaque tag_handle) throws Error void deleteTag(in opaque tag_handle) throws Error void getTagSize(in opaque tag_handle, out int tag_size) throws Error void getTagName(in opaque tag_handle, out string tag_name) throws Error void getTagHandle (in string tag_name, out opaque tag_handle) throws Error void setTagData(in opaque tag_handle, in opaque tag_data) throws Error void getTagData(in opaque tag_handle, out opaque tag_data, out int tag_size) throws Error

12 Infrastructure: Errors Definition –A class that allows the interface to provide warning and error information to the user –Inherits from Babel exceptions –Thrown from all interface functions Capabilities –Provide information to the user (warnings, errors) –Allow the user to choose error behavior Silent Print Abort Throw Error Conventions –These will be defined once several implementations are in place

13 ErrorActions SILENT PRINT_ERROR ABORT_ON_ERROR PRINT_AND_THROW_ERROR THROW_ERROR ErrorActions SILENT PRINT_ERROR ABORT_ON_ERROR PRINT_AND_THROW_ERROR THROW_ERROR Error Interface void setDefaultAction(in ErrorActions action) void getDefaultAction(out ErrorActions action) void set(in int err, in string description) void get(out int err, out string description) bool ok() int getErrorNumber() void getErrorDescription(out string description) void printError(in string label) void actOnError() void setDefaultAction(in ErrorActions action) void getDefaultAction(out ErrorActions action) void set(in int err, in string description) void get(out int err, out string description) bool ok() int getErrorNumber() void getErrorDescription(out string description) void printError(in string label) void actOnError() Enumerated Constants

14 Mesh Entities Definition –Unique type and topology Type: Vertex, Edge, Face, Region Topology: Point, Line_Segment, Polygon, Triangle, Quadrilateral, Polyhedron, Tetrahedron, Hexahedron, Prism, Pyramid, Septahedron –Faces and regions have no interior holes –Higher-dimensional entities are defined by lower-dimensional entities through canonical ordering relationships Capabilities –Return upward and downward first order adjacencies in the canonical ordering –Support both individual and agglomerated request mechanisms –Vertices return coordinate information in arrays of doubles –Add, retrieve, set, and delete user defined tag data Examples –Vertex (0D), edge (1D), triangular face (2D), tetrahedral region (3D)

15 Entity EntitySet Workset Iterator Tag Geom_Entity Entity EntitySet Workset Iterator Tag Geom_Entity EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES Enumerated Constants Opaque Objects

16 Mesh Entity Entity Iterator Workset Iterator Tag Mesh Entity Entity Iterator Workset Iterator Tag EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES EntityTopology POINT LINE_SEGMENT TRIANGLE QUADRILATERAL POLYGON TETRAHEDRON HEXAHEDRON PRISM PYRAMID SEPTAHEDRON POLYHEDRON UNDEFINED ALL_TOPOLOGIES EntityTopology POINT LINE_SEGMENT TRIANGLE QUADRILATERAL POLYGON TETRAHEDRON HEXAHEDRON PRISM PYRAMID SEPTAHEDRON POLYHEDRON UNDEFINED ALL_TOPOLOGIES Enumerated Constants Opaque Objects

17 Mesh Entity Entity Iterator Workset Iterator Tag Mesh Entity Entity Iterator Workset Iterator Tag EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES EntityType VERTEX EDGE FACE REGION NUMBER_OF_ENTITY_TYPES ALL_ENTITIES EntityTopology POINT LINE_SEGMENT TRIANGLE QUADRILATERAL POLYGON TETRAHEDRON HEXAHEDRON PRISM PYRAMID SEPTAHEDRON POLYHEDRON UNDEFINED ALL_TOPOLOGIES EntityTopology POINT LINE_SEGMENT TRIANGLE QUADRILATERAL POLYGON TETRAHEDRON HEXAHEDRON PRISM PYRAMID SEPTAHEDRON POLYHEDRON UNDEFINED ALL_TOPOLOGIES Enumerated Constants Opaque Objects StorageOrder BLOCKED INTERLEAVED UNDETERMINED StorageOrder BLOCKED INTERLEAVED UNDETERMINED

18 Entity Query Interface void entityGetTopologicalDimension(in array entity_handles, inout array dim) throws Error void entityGetTopology(in array entity_handles, inout array topology) throws Error void entityGetType(in array entity_handles, inout array type) throws Error void entityGetVertexCoords(in array entity_handles, in StorageOrder storage_order, inout array coords) throws Error void entityGetAdjacencies(in array entity_handles, in EntityType entityAdjacencyType, inout array adjacentEntityHandles, inout array csr_pointer, inout array csr_data) throws Error void entityGetTopologicalDimension(in array entity_handles, inout array dim) throws Error void entityGetTopology(in array entity_handles, inout array topology) throws Error void entityGetType(in array entity_handles, inout array type) throws Error void entityGetVertexCoords(in array entity_handles, in StorageOrder storage_order, inout array coords) throws Error void entityGetAdjacencies(in array entity_handles, in EntityType entityAdjacencyType, inout array adjacentEntityHandles, inout array csr_pointer, inout array csr_data) throws Error

19 Entity Tag Interface void entityAddTag (in array entity_handles, in opaque tag_handle) throws Error void entityRemoveTag (in array entity_handles, in opaque tag_handle) throws Error void entityGetAllTagHandles(in array entity_handles, out array tag_handles) throws Error void entityGetTagData(in array entity_handles, in opaque tag_handle, inout array tag_values, out int tag_size) throws Error void entitySetTagData(in array entity_handles, in opaque tag_handle, in array tag_values in int tag_size) throws Error void entityAddTag (in array entity_handles, in opaque tag_handle) throws Error void entityRemoveTag (in array entity_handles, in opaque tag_handle) throws Error void entityGetAllTagHandles(in array entity_handles, out array tag_handles) throws Error void entityGetTagData(in array entity_handles, in opaque tag_handle, inout array tag_values, out int tag_size) throws Error void entitySetTagData(in array entity_handles, in opaque tag_handle, in array tag_values in int tag_size) throws Error

20 Mesh Definition –A collection of TSTT entities that have uniquely defined entity handles –Entities are related through topological adjacency information in which higher-dimensional entities are defined by lower dimensional entities This definition may or may not be unique Examples –Type 1: a non-overlapping connected set of TSTT entities, e.g., a conformal finite element mesh –Type 2: a collection of Type 1 meshes used to represent the computational domain. These may or may not be overlapping meshes –Adaptive meshes in which both coarse and fine TSTT entity regions are retained in the database. The most highly refined regions of this mesh typically comprises a Type 1 or Type 2 mesh –SPH meshes which consist of a collection of vertices

21 Mesh Capabilities Static Type 1 Meshes –Populating the interface by string name –Basic query capabilities Entities and adjacency information Array or iterator-based –Add, retrieve, set and delete user-defined tags Extensions –Subsetting to create arbitrary groupings of mesh entities –Modifiable meshes –Connections to geometric entities

22 Adjacency Information First-order Adjacency Table Entries Lower triangular: downward adjacencies Upper triangular: upward adjacencies Diagonal: entity returns itself Can be used to get and set adjacency information VEFR V1001 E0100 F0110 R0001

23 Mesh Creation and Query void load(in string name) throws Error void getGeometricDimension(in opaque entity_set_handle, out int dim) throws Error int getNumberEntityOfType(in opaque entity_set_handle, in EntityType entity_type) throws Error int getNumberEntityOfTopology(in opaque entity_set_handle, in EntityTopology entity_topology) throws Error void getNativeStorageOrder(in opaque entity_set_handle, out StorageOrder storage_order) throws Error bool hasInvariantTags() throws Error void getAdjacencyTable(out array adjacency_table) throws Error void load(in string name) throws Error void getGeometricDimension(in opaque entity_set_handle, out int dim) throws Error int getNumberEntityOfType(in opaque entity_set_handle, in EntityType entity_type) throws Error int getNumberEntityOfTopology(in opaque entity_set_handle, in EntityTopology entity_topology) throws Error void getNativeStorageOrder(in opaque entity_set_handle, out StorageOrder storage_order) throws Error bool hasInvariantTags() throws Error void getAdjacencyTable(out array adjacency_table) throws Error

24 Primitive Type Retrieval Arrays void getVertexCoordinates(in opaque entity_set_handle, inout array coordinates, inout array in_entity_set, inout StorageOrder storageOrder) throws Error void getEntityVertexCoordinateIndices( in opaque entity_set_handle, in EntityType requestedEntityType, in EntityTopology requestedEntityTopology, inout array count, inout array index, inout array entity_topologies) throws Error void getAdjacentEntityVertexCoordinateIndices( in opaque entity_set_handle, in EntityType thisEntityType, in EntityTopology thisEntityTopology, in EntityType requestedEntityType, in EntityTopology requestedEntityTopology, inout array count, inout array index, inout array in_entity_set, inout array entity_topology) throws Error void getVertexCoordinates(in opaque entity_set_handle, inout array coordinates, inout array in_entity_set, inout StorageOrder storageOrder) throws Error void getEntityVertexCoordinateIndices( in opaque entity_set_handle, in EntityType requestedEntityType, in EntityTopology requestedEntityTopology, inout array count, inout array index, inout array entity_topologies) throws Error void getAdjacentEntityVertexCoordinateIndices( in opaque entity_set_handle, in EntityType thisEntityType, in EntityTopology thisEntityTopology, in EntityType requestedEntityType, in EntityTopology requestedEntityTopology, inout array count, inout array index, inout array in_entity_set, inout array entity_topology) throws Error

25 Entity Retrieval Arrays Error getEntities(in opaque entity_set_handle, in EntityType entity_type, in EntityTopology entity_topology, inout array entity_handles) throws Error Error getAdjacentEntities(in opaque entity_set_handle, in EntityType entity_type_requestor, in EntityType entity_type_requested, inout array adj_entity_handles, inout array count, inout array index, inout array in_entity_set) throws Error Error getEntities(in opaque entity_set_handle, in EntityType entity_type, in EntityTopology entity_topology, inout array entity_handles) throws Error Error getAdjacentEntities(in opaque entity_set_handle, in EntityType entity_type_requestor, in EntityType entity_type_requested, inout array adj_entity_handles, inout array count, inout array index, inout array in_entity_set) throws Error

26 Interface WorksetIterator void initializeWorksetIterator(in opaque entity_set_handle, in EntityType entity_type, in EntityTopology entity_topology, in int requested_workset_size, out opaque workset_iterator) throws Error bool getNextWorkset(inout opaque workset_iterator, inout array entity_handles) throws Error void destroyWorksetIterator(in opaque workset_iterator) throws Error void initializeWorksetIterator(in opaque entity_set_handle, in EntityType entity_type, in EntityTopology entity_topology, in int requested_workset_size, out opaque workset_iterator) throws Error bool getNextWorkset(inout opaque workset_iterator, inout array entity_handles) throws Error void destroyWorksetIterator(in opaque workset_iterator) throws Error

27 Interface EntitySetTag void addEntitySetTag(in opaque entity_set_handle, in opaque tag_handle) throws Error void removeEntitySetTag(in opaque entity_set_handle, in opaque tag_handle) throws Error void getEntitySetAllTagHandles(in opaque entity_set_handle, out array tag_handles) throws Error void getEntitySetTagData(in opaque entity_set_handle, in opaque tag_handle, inout opaque tag_data, out int tag_size) throws Error void setEntitySetTagData(in opaque entity_set_handle, in opaque tag_handle, in opaque tag_data, in int tag_size) throws Error void addEntitySetTag(in opaque entity_set_handle, in opaque tag_handle) throws Error void removeEntitySetTag(in opaque entity_set_handle, in opaque tag_handle) throws Error void getEntitySetAllTagHandles(in opaque entity_set_handle, out array tag_handles) throws Error void getEntitySetTagData(in opaque entity_set_handle, in opaque tag_handle, inout opaque tag_data, out int tag_size) throws Error void setEntitySetTagData(in opaque entity_set_handle, in opaque tag_handle, in opaque tag_data, in int tag_size) throws Error

28 Entity Sets Definition –Arbitrary groupings of TSTT mesh entities May or may not be a multiset or ordered May or may not be a valid computational mesh –Multiple entity sets can be associated with a given mesh –Relationships between entity sets Contained in (subset) relationship Parent/Child relationship Default on creation is contained in parent mesh Capabilities –Static Type 1 capabilities as before –Set Operations Add and remove existing TSTT entities to the mesh set Add, subtract, intersect, or union entity sets Subset and Parent/Child relationships Examples –A set of vertices, the set of all faces on a geometric face, the set of regions in a domain decomposition for parallel computing

29 Interface EntitySet Creation/Query void createEntitySet (in bool multiset, in bool ordered, out opaque entity_set_created) throws Error void destroyEntitySet (in opaque entity_set_handle) throws Error bool isOrdered(in opaque entity_set_handle) throws Error bool isMultiset(in opaque entity_set_handle) throws Error int getNumEntitySets(in opaque entity_set_handle) throws Error void getEntitySets(in opaque entity_set_handle, out array contained_entity_set_handles) throws Error void getAllEntitySets(in opaque entity_set_handle, out array contained_entity_set_handles) throws Error void getAllEntities(in opaque entity_set_handle, out array entity_handles) throws Error void createEntitySet (in bool multiset, in bool ordered, out opaque entity_set_created) throws Error void destroyEntitySet (in opaque entity_set_handle) throws Error bool isOrdered(in opaque entity_set_handle) throws Error bool isMultiset(in opaque entity_set_handle) throws Error int getNumEntitySets(in opaque entity_set_handle) throws Error void getEntitySets(in opaque entity_set_handle, out array contained_entity_set_handles) throws Error void getAllEntitySets(in opaque entity_set_handle, out array contained_entity_set_handles) throws Error void getAllEntities(in opaque entity_set_handle, out array entity_handles) throws Error

30 Interface EntitySet Set Operations void addEntitySets (inout bool entity_set, in array contained_entity_sets) throws Error void removeEntitySets (inout opaque entity_set_handle, in array contained_entity_sets) throws Error void addEntitiesToEntitySet (inout opaque entity_set_handle, in array entity_handles) throws Error void removeEntitiesToEntitySet (inout opaque entity_set_handle, in array entity_handles) throws Error void subtractEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error void intersectEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error void uniteEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error void addEntitySets (inout bool entity_set, in array contained_entity_sets) throws Error void removeEntitySets (inout opaque entity_set_handle, in array contained_entity_sets) throws Error void addEntitiesToEntitySet (inout opaque entity_set_handle, in array entity_handles) throws Error void removeEntitiesToEntitySet (inout opaque entity_set_handle, in array entity_handles) throws Error void subtractEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error void intersectEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error void uniteEntitySets(inout opaque entity_set_1, in opaque entity_set_2) throws Error

31 Interface EntitySet Parent/Child Relationships bool isParentChildRelated(in opaque entity_set_1, in opaque entity_set_2) throws Error void getEntitySetNumChildren(in opaque this_entity_set) throws Error void getEntitySetNumParents(in opaque this_entity_set) throws Error void getEntitySetChildren(in opaque from_entity_set, in int num_hops, out array entity_set_handles) throws Error void getEntitySetParents(in opaque from_entity_set, in int num_hops, out array entity_set_handles) throws Error void addEntitySetParent(inout opaque this_entity_set, out opaque parent_entity_set) throws Error void addEntitySetChild(inout opaque this_entity_set, out opaque child_entity_set) throws Error void addEntitySetParentsChildren(inout array parent_entity_sets, inout array child_entity_sets) throws Error void removeEntitySetParentChild(inout opaque parent_entity_set, inout opaque child_entity_set) throws Error bool isParentChildRelated(in opaque entity_set_1, in opaque entity_set_2) throws Error void getEntitySetNumChildren(in opaque this_entity_set) throws Error void getEntitySetNumParents(in opaque this_entity_set) throws Error void getEntitySetChildren(in opaque from_entity_set, in int num_hops, out array entity_set_handles) throws Error void getEntitySetParents(in opaque from_entity_set, in int num_hops, out array entity_set_handles) throws Error void addEntitySetParent(inout opaque this_entity_set, out opaque parent_entity_set) throws Error void addEntitySetChild(inout opaque this_entity_set, out opaque child_entity_set) throws Error void addEntitySetParentsChildren(inout array parent_entity_sets, inout array child_entity_sets) throws Error void removeEntitySetParentChild(inout opaque parent_entity_set, inout opaque child_entity_set) throws Error

32 Modifiable Meshes Definition: –A dynamic mesh whose geometry and topology can be changed Capabilities –Mesh Geometry Modification Set vertex coordinates –Mesh Topology Modification Add entities Delete entities –No validity checks –Requires simple classification mechanisms against the geometric model Intended to support higher-level functionality –Mesh quality improvement –Adaptive schemes with validity checking –Front tracking procedures –Basic mesh generation algorithms

33 Modifiable Mesh Interface void setVertexCoordinates(in array vertex_handles, in StorageOrder storage_order, in array new_coords) throws Error void createEntities(in EntityTopology new_entity_topology, in array lower_order_entities, out array new_entities) throws Error void deleteEntities(in array entity_handles) throws Error void setVertexCoordinates(in array vertex_handles, in StorageOrder storage_order, in array new_coords) throws Error void createEntities(in EntityTopology new_entity_topology, in array lower_order_entities, out array new_entities) throws Error void deleteEntities(in array entity_handles) throws Error

34 Geometrical Model Definition –A representation of the spatial domain with both a topological description (model vertex, model edge, model face, and model region) and a geometric or shape description (e.g., Bsplines, Bezier patches) –Usually precedes the discrete mesh representation Capabilities –Loading a model –Minimal query interface for model topology –Entity-based geometry queries (e.g. closest point) –Directional “sense” of a child entity with respect to the parent entity

35 Geometry Interface (preliminary) void loadGeometry(in string name) throws Error void getGeometryEntities(in int dimension, out array geom_entities) throws Error void getGeometryAdjacencies(in opaque geom_entity, in int requested_dimension, out array adjacent_geom_entities) throws Error out array new_entities) throws Error void getRelativeSense(in opaque child_geom_entity, in opaque parent_geom_entity, out int sense) throws Error void getClosestPoints(in opaque geom_entity, in array input_coords, out array closest_coords) throws Error void getTagData(in opaque geom_entity, in string name, in int size, out opaque tag_data) throws Error void setTagData(in opaque geom_entity, in string name, in int size, in opaque tag_data) throws Error void getTagNamesAndSizes(out array names, out array sizes) throws Error void loadGeometry(in string name) throws Error void getGeometryEntities(in int dimension, out array geom_entities) throws Error void getGeometryAdjacencies(in opaque geom_entity, in int requested_dimension, out array adjacent_geom_entities) throws Error out array new_entities) throws Error void getRelativeSense(in opaque child_geom_entity, in opaque parent_geom_entity, out int sense) throws Error void getClosestPoints(in opaque geom_entity, in array input_coords, out array closest_coords) throws Error void getTagData(in opaque geom_entity, in string name, in int size, out opaque tag_data) throws Error void setTagData(in opaque geom_entity, in string name, in int size, in opaque tag_data) throws Error void getTagNamesAndSizes(out array names, out array sizes) throws Error

36 Mesh/Geometry Classification Definition –Manages the relationship between the high level geometric description and the mesh –Called by an application that knows about both Capabilities –For a given mesh entity, get the geometric entity against which it is classified –Establish a classification relationship between a mesh entity and a geometric entity

37 Mesh/Geom Classification Interface void getClassification(in array mesh_entity_handles, out array model_entity_handles) throws Error void setClassification(in array mesh_entity_topology, in array model_entity_handles) throws Error void getClassification(in array mesh_entity_handles, out array model_entity_handles) throws Error void setClassification(in array mesh_entity_topology, in array model_entity_handles) throws Error

38 Issues that have arisen Nomenclature is harder than we first thought Cannot achieve the 100 percent solution, so... –What level of functionality should be supported? Minimal interfaces only? Interfaces for convenience and performance? –What about support of existing packages? Are there atomic operations that all support? What additional functionalities from existing packages should be required? –What about additional functionalities such as locking? The devil is in the details

39 TSTT Interface Implementation Implementations RPI, LLNL, SNL/ElemTech, ANL, PNNL Immediate uses of TSTT interfaces Mesquite mesh quality improvement toolkit (ANL, SNL) VERDE quality assessment (SNL, ElemTech) Frontier interoperability with mesh generation codes (BNL, LLNL, PNL) VTK visualization (LLNL)

40 Roadmap for next two years Fall 03 –Complete and implement standard mesh interfaces –Develop a prototype system with meshes, geometry, fields and data relation managers –Basic, low-level discretization interfaces –Demonstrate utility via pairwise coupling of technologies and pairwise insertion of existing technology into SciDAC apps –Demonstrate interchangeability with compatible technologies (e.g., partitioning, visualization) and simple applications Fall 04 –Release TSTT mesh components compliant with query interface as CCA components –Discretization interfaces and start library development/deployment –Demonstrate interoperability in SciDAC related applications


Download ppt "The TSTT Data Model and Interface Lori Freitag. Use TSTT interfaces directly in applications to allow plug-and-play experimentation Discretization Library."

Similar presentations


Ads by Google