Products Services Projects Documentation
Home| Contact| Imprint

memcom logo  Data Manager


MemCom is a data management system designed for computational mechanics applications, like computational solid mechanics, computational fluid dynamics, and coupled multi-disciplinary applications. It is however not tied to specific applications and may be used in many contexts where fast or platform-independent I/O is desired.

MemCom is deployed on Linux Release 4+ and newer MacOS Systems. MemCom is available as an open source package and is released under the GPL version 3 (GPLv3). MemCom Pro extends MemCom with a Fortran API (please contact SMR for more information on MemCom Pro.>

Data Structures

MemCom supports several data structures optimized for representing computational mechanics data:

  • Positional data structures: These are contiguous one- and two-dimensional arrays of uniformly typed elements, where each data element is addressed by its position. The supported data element types are purely numerical.
  • Dictionaries: Data structures containing name-value pairs, where the name is a string, and the value is either a string or a numerical array.
  • Array tables: Arrays of structured data, with typed columns containing fixed or variable-length arrays.
  • Sparse tables: Efficient storage for non-contiguous arrays of dictionaries, with typed columns containing fixed or variable-length arrays.

Instances of these data structures are called datasets. Each dataset is identified by a name. A MemCom database is a collection of datasets with unique names.

MemCom data browser: MemCom dataset directory.


MemCom consists of the libraries, header files for the application programming interfaces (API's), Python modules, comprehensive documentation, a data browser, and a set of tools.

MemCom can be accessed from the C, C++, and Python programming languages by means of specific API's. MemCom Pro includes Fortran APIs as well. The MemCom Browser allows for inspecting data elements.


MemCom is highly optimized and scales well. Due to this advantage, MemCom databases can hold a very large number of datasets (easily up to 1 million and beyond). This removes the file cluttering that is frequently encountered with other data management solutions.

Large and portable databases are possible due to the platform-independent design and database format of MemCom. Databases can be exchanged between many different hardware and software platforms, ranging from laptops to supercomputers.