Products Services Projects Support
Home| Contact| Imprint

memcom logo  Data Manager

Overview

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.

Licensing and Distribution

MemCom works on Linux, and the source code of MemCom is released under the GPL version 3 (GPLv3). MemCom Pro extends MemCom with Fortran APIs and is distributed in packaged binary form. Please refer to the System Requirements page for information on distributions, available platforms, and computer system requirements. Customers who purchase MemCom Pro can choose between three different licensing models: Small (up to three machines/computing nodes), workgroup (up to 10) and site (unlimited).

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.

browser
MemCom data browser: MemCom dataset directory.

Components

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.

Efficiency

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.