SIGMA Release 1.0
Contents
SIGMA v1.0 introduces a consolidated one-stop website for all information regarding tools contained under its umbrella of tools. Details on compatibility of the different tools and dependent libraries are available here and all questions can be directed to <package>[email protected].
Current release contains the following SIGMA tools:
- Common Geometry Module (CGM) – Version 14.0.0
- Mesh Oriented datABase (MOAB) – Version 4.7.0
- Lasso Relations tool (Lasso) – Version 3.1.0
- MeshKit library (MeshKit) – Version 1.2.0
Source tarballs can be obtained from either the Bitbucket repository or from the ftp site. For more build instructions, go to the downloads page.
Several combination of compilers, dependencies and versions are constantly being tested after every commit and nightly with Buildbot. Continuous Integration (CI) support through dynamic Buildbot reconfiguration is being enabled to improve the workflow of both the developers and contributors to SIGMA.
Individual release notes for each of the tools are available below.
CGM
A. BUG FIXES
- Fix stack smashing issues found on Intel builds while loading using function: iGeom_load_cub_geometry.
- Fix various warnings found on Ubuntu and OSX.
- Fixed the non-debug mode testcase ‘modify’ failure issue. Here the DLIList functions are not working as expected, and so rewrote the member accessing call.
B. NEW FEATURES
- CMake-based builds are now supported. Note that CMake scripts do not yet support parallel/MPI builds.
- Enhanced Doxygen-based API documentation, users and developers guide for CGM.
C. API CHANGES
- iGeom_iface_correction
D. FUTURE WORK
- Fix OCC builds that trigger test failures
- Improve OCE support
- Improve compatibility with Cubit 14.1
MOAB
A. BUG FIXES
- Remove memory leak for point-to-point communication (issue #7) caused due to reuse of MPIRequest structures
- Reading sets in parallel (ticket 273)
- Parallel mbconvert bug (ticket 274, material sets compromised before writing)
- Fix memory leak for tracked sets (ticket 285)
- Fix issue #8 for merging higher dimensional entities
- Fix edge adjacency and skinner to operate on Polygon and Polyhedra
- Eliminated miscellaneous compiler warnings (tested on GCC-4.6.3, clang-3.0, Intel-13.1, PGI-13.6)
B. NEW FEATURES
Primary
- Implemented the Array-based Half Facet data structures in MOAB to improve adjacency querying and efficient traversals between related entities (use –enable-ahf during configure)
- Co-developed (MOAB and PETSc) to introduce a new native MOAB-mesh based Discretization Manager (DM) implementation in PETSc that supports parallel solution to PDE problems on unstructured grids.
Readers/Writers
- New reader/writer formats (CGNS, MPAS, GCRM); Improve support for several existing formats (Climate-NC, HOMME, CAM-Euler, CAM-FV)
- Introduce padded polygons option for lower memory fragmentation in MPAS and GCRM climate readers
- Add climate data NC writer, in serial and parallel, for all data formats supported by the NC reader with options to append, read time-series with concatenation
- Add Zoltan repartitioning for MPAS reader
- Improvements in CUBIT reader for boundary conditions data, support CUBIT 14.0 format changes, endianness for BG/Q, variable length tags for saving block attributes and headers
- Add TET4 as supported element in Exodus reader
General
- Enhanced Doxygen-based documentation support for API, user guide, developer guide and examples.
- Create several new examples to demonstrate the usage of the API for different applications; More to be added here.
- Added robust CMake build support for MOAB; Preliminary fixes for Windows systems.
Tools
- Enhancements and refactoring to support reading the CGM geometry models for DagMC
- Parallelization of the MOAB based conservative intersection (CSLAM) algorithm for advection/transport applications
- Refactoring of MBCoupler and refactoring to support dynamic usage of new search tree algorithms (Kd, BVH)
- Update VTKReader Paraview plugin for MOAB; Removed the old vtkMOABReader and replaced it with vtkMOABReaderNew.
C. API CHANGES
- Added meshset argument for methods in ParallelComm and Skinner
- New options for NC reader
- rename PARTITION_METHOD=TRIVIAL_PARTITION to PARTITION_METHOD=TRIVIAL
- add NO_MIXED_ELEMENTS option fo reading polygon data (it means padded)
- add NO_EDGES option for MPAS reader
- RENAME option for renaming a variable at writing an nc file
- TIMESTEP option for reading nc files
- Changes in Core::list_entities to print dense tag information
- Changes in memory evaluators, move from type long to type long long
- Changes to ScdInterface, mostly to support new partitioning method (sqijk) but also to allow for periodic meshes in all 3 directions
- Install TupleList for serial builds also
- New method in MergeMesh that allows stitching a mesh based on an integer tag defined on vertices (GLOBAL_ID)
- Introduced interface to delete entities in ParallelComm
D. FUTURE WORK
- Add more examples
- Refactor LocalDiscretization support to enable better solver interfaces for solving PDEs
- Contribute to DMMoab in PETSc to leverage efforts in (2)
- Refactor and verify normalization in MBCoupler
MESHKIT
A. BUG FIXES
- Various RGG (AssyGen/CoreGen) bugfixes and enhancements: common keywords inputs, superblocks, automated multiple file creation, automatic mesh size specification, scheme spefication for hole surfaces etc.
- Fixes to OneToOneSweep: new test case added
- Fixes to PostBL along with addition of methods to create mixed element meshes.
- Fixes to quadmesher and dependency on BOOST.
B. NEW FEATURES
- A new version of make_watertight for sealing faceted CAD Geometry, see link.
Note: Use with MOAB 4.7.0 or higher. A program called check_watertight for evaluating model integrity for use with ray-firing has been included as well. - RGG AssyGen feature to “CreateFiles” and “CreateMatFiles”. CoreGen feature “same_as” to shift material/boundaries while loading the same mesh file.
- Load file with geometry group sets (see: test/core/test_load_grps.cpp)
- Routines with 21 options for quad mesh cleanup (test/algs/test_quadmeshcleanup)
- RGG GUI has been developed by Kitware and is available for downloaded from their website. CMB website.
C. API CHANGES
- Fixes to get_entities_by_dimension and get_entities_by_handle. These functions will now return ModelEnts of dimension 4 if requested. If the dimension passed in is -1, the function will return all ModelEnts in the MK instance.
- Correction to the ModelEnt constructor for iGeom EntSets.
D. FUTURE WORK
- B-Rep(OCC)-based mesh generation, Solid Geometry Mesher-based on CGM, this will add the capability of meshing and manipulating solid geometry models based on OpenCascade and CUBIT.
- Open source tri-mesher
- Integration of verdict-mesh quality evalulation library
- Interval assignment integration with existing algorithms
- New parallel schemes and optimization of RGG tools: AssyGen and CoreGen.
- Parallel mesh generation
LASSO
A. BUG FIXES
- Miscellaneous warning fixes exposed through Buildbot
- Fix some stack smashing bugs
- Added Doxygen support with nightly API built from repository
- Better flag determination during configuration
B. NEW FEATURES
None
C. API CHANGES
None