Scalable Interfaces for Geometry and Mesh based Applications

CGM — The Common Geometry Module

The Common Geometry Module (CGM) is a code library which provides geometry functionality used for mesh generation and other applications. This functionality includes that commonly found in solid modeling engines, like geometry creation, query and modification; CGMA also includes capabilities not commonly found in solid modeling engines, like geometry decomposition tools and support for shared material interfaces. CGMA is built upon either a facet-based or Opencascade (OCC/OCE) solid modeling engine, (we are planning to add some experimental CSG geometry representations as well). CGMA can be used as-is to provide geometry functionality for codes needing this capability. However, CGMA can also be extended using derived classes in C++, allowing the geometric model to serve as the basis for other applications, for example mesh generation. CGMA is supported on various computing platforms, including parallel computers.

Important Note: As of 2020, CGM development has been stopped and the library will be completely deprecated and unsupported. No further development will take place to improve the library due to lack of specific funding for geometry handling workflows. Additionally, it requires too much effort to maintain and improve the library for usage on the next-generation hybrid architectures. We will eventually transition to using EGADSLite as a possible replacement to handle device-aware geometry representations for mesh generation.

CGMA is derived from the Common Geometry Module (CGM) developed at Sandia National Laboratories. CGMA was forked from CGM shortly after the release of CGM 10.2. Depending on whether Sandia continues to release CGM along with new releases of CUBIT, CGMA may or may not stay current with CGM. Features will be added to CGMA which likely won’t make their way back into CGM, again depending on what Sandia decides to do. CGM serves as a basis for the CUBIT code, and can be obtained in source code form here.
CGMA should be able to read and restore geometry created in CGM and CUBIT. CGMA is maintained in a world-readable bitbucket repository If you would like to participate in the development of CGMA, contact Vijay Mahadevan or Jane Hu for getting write access to the CGM repository.

Open.Cascade Port

The port to the Open.Cascade open-source modeling engine is ready for friendly testing. See the README file for build instructions and a list of functionality currently supported. Query and modify capabilities are available, with the latter an incomplete set but growing towards completion. Send any questions or problems to the cgma-dev email list (see below).


CGM version 12.2.0: CGM version 12.2.0 was released in March 2012; see the download link below.
CGM version 13.1.1: CGM version 13.1.1 was released in December 2013; see the download link below.


If you use CGMA, please be kind enough to send us a note about how you’re using it, to cgma-dev _at_ Feel free to send any bug reports and suggested improvements there too!


See here for the release policies used for CGM.
CGM 13.1.1 Released December, 2013. This is a compatible release to cubit13.1.
CGM 12.2.0 Released March 23, 2012

Relevant topics (CGM)

Building CGM
OCC-CGM interface
CGM glibc errors
Improving ray tracing performance

Copyright © 2014--2023 SIGMA. All Rights Reserved.