MFront comes with a handy and easy-to-use tool called
MTest. This tool handles two types of computations:
From various benchmarks, 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] inputfileIf 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:
--scheme=mtest to specify that the simulation of a
single material point is intended.--scheme=ptest to specify that the simulation of a pipe
is intended.--help-keywords-list command line optionThe 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.
--help-keyword
optionThe --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.
MTest can test the local behaviour of a material, by
imposing independent constraints on each component of the driving
variables (or deformation gradient or the stress). It is equivalent to
the SIMU_POINT_MAT operator available within the
Code-Aster finite element solver [1]
or to the SiDoLo software [2].
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 and the state
variables during the loading history. Other MTest
functionalities include:
MFront (small strain and finite strain behaviours, cohesive
zone models);MTest can be embedded in general purpose scientific
environment to fit behaviour parameters against experimental data. In
particular, MTest can be used in ADAO [4], a
module for Data Assimilation and Optimization of the Salome platform
[5];MTest
automatically generates XML file using the JUnit format. Those files can be used for
reporting using the Jenkins continuous
integration application. This functionality is central in the
quality assurance procedure of MFront.Through an appropriate option, a behaviour implementation generated
through MFront may create an MTest file in
case of integration failure: this MTest file only describes
the failed time step with the appropriate initial conditions. This
feature is particularly useful to analyze 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};