Development and Operating Platforms

The MARS framework has been developed in C++ making use of advanced object orientated programming features such as polymorphism and inheritance.

The MARS architecture is not only fast but also highly flexible and supports any form of user-defined feature including but not limited to

  • Custom element formulations
  • Custom constitutive model formulations
  • Custom solvers (implicit and explicit)
  • Custom input (reading, importing) and output (printing, plotting) functions
  • Custom parameterized models
  • Custom optimization and identification tools

Through the MARS architecture, all relevant information can be reached without need to resort to slow file write / read operations and manipulation through external scripts. Instead, result analysis and model manipulation can be handled within the openMP – MPI capable MARS architecture at highly competitive speeds.

Multi-platform & HPC Support

The MARS framework is compatible with the latest version of all major operating systems, including:

Unix / Linux
MacOS
Windows

MARS is suitable for deployment on high performance computing (HPC) systems that utilize supercomputers and computer clusters. MARS supports parallelization according to the OpenMP (Open Multi-Processing, link here www.openmp.org ) and MPI (Message Passing Interface) protocols. OpenMP is a standard for directive-based parallel programming while MPI is the basis of distributing memory parallel computing, thus facilitating large scale and computationally heavy simulations.

MARS is available on all operating systems via local single user license and for HPC systems via network license. Unlike many other commercial software solutions, competitively priced MARS cluster licenses offer unlimited parallel instances.
MARS is, thus, ideally suited for computationally heavy applications such as but not limited to:

  • Probabilistic calculations of structural safety
  • Fully parallelized parameter and sensitivity studies
  • Nonlinear optimization and inverse analysis problems
  • Generation of training data for machine learning applications