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:



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
Containerized Deployment and Development
MARS fully supports advanced containerization technologies, significantly streamlining deployment and development workflows across diverse platforms, ensuring greater flexibility, consistency, and efficiency.
HPC Containerization with Apptainer

Deploying MARS on High-Performance Computing (HPC) environments is seamless and straightforward with Apptainer (formerly Singularity). Apptainer containers provide isolated, consistent, and reproducible software environments, eliminating issues related to system compatibility, software dependencies, and version conflicts typically encountered on diverse HPC platforms.

Moreover, integration with Spack—a robust package management system—allows MARS to utilize a fully embedded MPI implementation, completely decoupling user workflows from the complexities associated with traditional HPC module dependencies. This ensures that MARS can consistently run parallel simulations without the need for manual MPI configuration, greatly simplifying large-scale deployments and reducing setup time.
Development Containers
ES3 also offers support for Visual Studio and Visual Studio Code development containers. These containers encapsulate all essential compilers, libraries, and necessary development tools into a single, portable package, significantly reducing setup complexity. Developers can seamlessly work on MARS subroutines without encountering environment inconsistencies or compatibility problems across different systems.
The primary advantages of employing development containers include:
- Platform Agnosticism: Develop and test MARS extensions on Windows, macOS, or Linux seamlessly.
- Rapid Onboarding: New developers can quickly set up consistent development environments, enhancing team collaboration.
- Reduced Complexity: Eliminate the need for manual installation and configuration of development tools, ensuring consistent, reliable environments.
Together, containerization and development containers enhance productivity, enable consistent software behavior across multiple platforms, and simplify collaboration and scalability in both HPC deployments and development environments.


List of HPC Systems used:
- DOD HPC Supercomputers (Unclassified Systems)
- University of Washington (UW) Hyak Klone
- Vienna Scientific Cluster (VSC)
- Vlaams Supercomputer Centrum (VSC)
- VSC UGent