sandialabs / seacas

The Sandia Engineering Analysis Code Access System (SEACAS) is a suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format.
Other
131 stars 79 forks source link

Catalyst API 2 IOSS Full Implementation #431

Closed tjotaha closed 7 months ago

tjotaha commented 7 months ago

This change adds full support to the Iocatalyst_DatabaseIO class for all IOSS Grouping Entity types on both put and get operations to the database (IOSS data is stored in LLNL Conduit format in memory). The Iocatalyst_CatalystManager class is a singleton that manages interaction with Catalyst API 2 for all Iocatalyst_DatabaseIO instances created by a simulation and handles all IOSS properties used to interact with Catalyst in the Catalyst API 1 IOSS database implementation. The Iocatalyst_CatalystLogging class has been copied over from the Catalyst API 1 implementation for use with Catalyst API 2 (assumes the Catalyst API 1 implementation in the visualization/ directory will eventually go away).

Created the catalyst_tests/ subdirectory that contains 31 GTest tests that test the functionality of Iocatalyst_DatabaseIO and associated classes using unit tests and integration tests based on io_shell generated meshes and meshes read from files. These io_shell based tests using TriBits add_advanced_test to perform multiple runs of io_shell to move data through Iocatalyst_DatabaseIO and check the resulting Exodus or CGNS file against the original using exodiff or cgnsdiff.