MatCalc version: 5.0 - …
Author: E. Kozeschnik
Created: 2011-07-05
Revisions:
This paper provides information on the internal software architecture of MatCalc, the interconnection between the modules and possibilities for linking with external code.
None
The MatCalc software is written in C++. It is developed within the MS Visual Studio environment (Windows platform) and the Qt Creator environment (Mac OSX and Linux).
The window management of the MatCalc GUI version, as well as the platform-independent streaming operations of GUI (mcg) and command-line version (mcc), are handled by the (Qt Developer Framework).
Graphical output of diagrams / plots is realized with the Qwt graphics library. Output of Monte Carlo simulation states is done using the OpenGL language implementation within the Qt libraries.
The MatCalc package is designed in the form of modules, with a strict separation between the user interfaces and the core modules. This is sketched in the following diagram.
The MatCalc package provides two front ends to the user to control the software behavior.
Both file versions (mcg and mcc) are delivered with the software package. Typically, the GUI version is used by most users for routine calculations because you can setup simulations and evaluate the results in one program. The command-line implementation of MatCalc is ideal for batch processing of lengthy simulations, where you can start the simulations on some server, run the jobs in the background and evaluate the results later with 'mcg'.
MatCalc also provides several features for exporting data to external software. See the corresponding article [techpapers:software:export | Exporting for external post-processing]].