Skip to content
Giorgos Kourakos edited this page Jan 12, 2026 · 11 revisions

Welcome to the Mantis wiki!

Here you can find all the information you need to run and interact with Mantis.

Getting the executable

The code is written in C++ and relies on libraries that are available for all major operating systems.

Windows

For windows there are executables avaialble under CPP/Bin folder. Make sure that the *exe and all *dlls are under the same folder and that the antivirus does not block the execution.

All operating systems

The building process for all operating systems is provided in the building section.

Running Mantis

Mantis is a console application. To execute it, run the following command in your terminal (on Windows, you can use PowerShell):

MantisServer.exe -c config.ini

Command line agruments

The following options are available when running the Mantis executable:

  • -v : Displays the current version and exits.
  • -h : Shows the full list of available command-line options and exits.
  • -c : config.ini : Runs the model using the parameters specified in the provided configuration file (config.ini).
  • -n : Number of threads. You can define number of threads in the configuration file. However. with this option one can overwrite the value in the file

Getting started

To help you begin working with Mantis, we have prepared several examples demonstrating:

These examples illustrate common workflows and provide practical guidance for configuring and running simulations.

Data Requirements for Mantis Server Application

The Mantis server application processes two distinct types of data:

  • Initialization data (loaded at startup)
  • Runtime data (received during execution)

1. Initialization Data

Mantis requires predefined datasets to initialize the system before execution. These configure model parameters, domain settings, and other essential parameters.

Documentation:
📄 Initialization Data Specifications


2. Runtime Data (Input Message)

Mantis remains idle until receiving an input command.

The input message has the KEYWORD VALUE format using spaces as separation character.
The input message has to be one line. The end line character \n indicates the end of the message.

Documentation:
📄 Runtime Data Options


3. Output Data (Response Format)

Each input message triggers a structured response with the following format:

STATUS Nwell Nyr v1 v2 ... vlast ENDMSG\n

Field Descriptions

Field Description
STATUS 1 (success) or 0 (failure). If 0, an error message follows.
Nwell Number of wells in selected region(s) (integer)
Nyr Number of simulated years (integer)
v1...vlast Breakthrough curve (BTC) values (float). Sequence: First Nyr values = Well 1, next Nyr = Well 2, etc.
ENDMSG\n Message terminator with newline.

Although the preferred way to run Mantis is via our web interface, we provide the option to run and interact with it locally on a desktop PC.