MFront comes with an handy easy-to-use tool called MTest. This tool handles two types of computations:

From various benchmarcks, this tool has been found much faster (from ten to several hundred times depending on the test case) than using a full-fledged finite element solver such as Cast3M or Code_Aster.

The mtest python module, described here, allows much finer control of the computations.


MTest can be used from the command line as follows:

$ mtest [options] inputfile

If the input file has the ptest extension, MTest will assume that the input files describes a test on a pipe. Otherwise, a test on a material point is assumed.

This can be changed by using the --scheme option that currently accept two values:

Getting help

The --help-keywords-list command line option

The list of available keywords are available thanks to the --help-keywords-list option. By default, this command describes the list of keywords associated with the simulation of a single material point. To see the keywords associated with the simulation of a pipe, use --scheme=ptest option before the --help-keywords-list option.

The --help-keyword option

The --help-keyword displays the help associated with a keyword. If this keyword is specific to the simulation of a pipe, use --scheme=ptest option before the --help-keyword option.

Material point

MTest can test the local behaviour of a material, by imposing independent constraints on each component of the driving variables (or deformation gradient or or the stress. It equivalent to the SIMU_POINT_MAT operator available within the Code-Aster finite element solver (EDF 2013) or to the SiDoLo software (Pilvin 2003).

MTest can be used to model various experiments, as far as a stage implying strain localisation is not reached: tensile, compressive or shear tests driven by stresses or deformations, pipe loaded by internal or external pressure, test, etc.

MTest generates a text file containing the evolution of the strains (for small strains behaviours), the stresses an the state variables during the loading history. Other MTest functionalities include:

Through an appropriate option, a behaviour implementation generated through MFront may create an MTest file in case of integration failure: this MTest file only describe the failed time step with the appropriate initial conditions. This feature is particularly useful to analyse the failure of large simulations which may happen after several hours of computations.


@Behaviour<aster> 'src/libAsterBehaviour.so' 'asterplasticity';
@MaterialProperty<constant> 'YoungModulus'     150.e9;
@MaterialProperty<constant> 'PoissonRatio'       0.3;
@MaterialProperty<constant> 'H'                100.e9;
@MaterialProperty<constant> 's0'               100.e6;
@ExternalStateVariable 'Temperature' {0:293.15,3600.:800};
@ImposedStrain<function> 'EXX' '1.e-3*t';
@Times {0.,1 in 20};

Simulation of a pipe



EDF. 2013. “Macro-Commande SIMU_POINT_MAT.” Référence du Code Aster U4.51.12 révision 9069. EDF-R&D/AMA. http://www.code-aster.org.

Pilvin, P. 2003. “SiDoLo Version 2.4495.” Notice d’utilisation. Laboratoire Génie Mécanique et Matériaux, Université de Bretagne Sud.

Salome. 2014a. “ADAO, a SALOME Module for Data Assimilation and Optimization.” http://www.salome-platform.org/.

———. 2014b. “The Open Source Integration Platform for Numerical Simulation.” http://www.salome-platform.org/.

Von Rossum, G. 2007. “Python Library Reference.” http://docs.python.org.