Organization

REMAT is primarily written as a C++ library, but comes equipped with a Python API to facilitate integration with other packages and application-driven workflows. The provided Examples offer an illustration of how these modules can be used to create and run various problems.

The accompanying Python modules are separated by their provided functionality, as follows:

  • REMAT.py: The main API module providing Python bindings and wrapper utilities to interface with REMAT’s underlying C++ framework.

  • Animation.py: A graphical UI module that enables real-time interactive simulations using REMAT, primarily intended for demonstration and debugging purposes.

  • ExodusIO.py: An output module enabling the export of REMAT simulation data to the Exodus file format.

Additionally, several Python-based pre-processing modules are included with REMAT to facilitate mesh generation and problem setup:

  • GeometryFactory.py: A mesh management module that enables simple meshing, and importing mesh data from Exodus, DXF (for truss/frame structures), and meshio sources (compatible with mesh data produced by pygmsh).

  • Model.py: A model management module, allowing for the definition of multiple mesh Parts, boundary and initial conditions, and contact interactions.