TFEL,
MFront and MTestTFEL/Math features
tfel-check
TFEL/Material
features
MFront features
TFEL_HOST_DEVICE to
LeftCauchyGreenTensorDerivativeExpr and
RightCauchyGreenTensorDerivativeExpr classesStressStensorConcept and
NoUnitStensorConcept concepts and siblings for orther
tensorial objectstfel-check
simultaenously in a CI contextThe page describes the new functionalities of Version 5.2 of the
TFEL project.
MFront’ Interfaces have to implement a method named
setOptions.TFEL/Math
featuresIn previous versions, the View class allows interpreting
a contiguous memory area as a tensorial object. The
CoalescedView class allows to create a tensorial object
where each component is referred to by its own pointer.
The StridedCoalescedView assumes that each component is
separated by a constant stride in memory, so that it only have to store
one pointer and the value of the stride.
Such views are efficient on GPUs where coalescent memory access are preferable.
int values[8] = {1, 10, 2, 20, 3, 30, 4, 40};
auto s1 = map_strided<stensor<2u, int>>(values, 2);tfel-checkThe commands described in different .check files can now
be run in distinct processes.
Note that the command described in a .check are still
run sequentially.
By default, as in previous versions, only one process is used.
The command line argument --jobs (-j) allow
specifying the number of jobs run simultaneously.
If no option is given to --jobs, the number of available
cores is used, if the system provide this information.
By default, this number must be lower than the number of cores
available. This limit can be discarded by
passing--discard-jobs-limit=true to
tfel-check.
The user must take care that the commands described in
.check files can be run in parallel.
A typical example of conflict would be to have two
.check files in the same directory that call
mfront to build somes shared libraries: the two
MFront’s processes may write concurrently files in the
src and include directories, leading to an
undefined behaviour.
Another example would be to use @CleanDirectories and
@CleanFiles commands inappropriately and erase data used by
commands of other .check files.
TFEL/SystemProcessManagercreateProcess and
execute methods allow specifying the directory where a
command shall be executed.ProcessManager shall now work properly in a
multithreaded context.SignalManagerSignalManager shall now work properly in a
multithreaded context.TFEL/Material
featuresThe second moments of strains considering a Hashin-Shtrikman scheme are available. A new tutorial shows how to use it in the implementation of Ponte-Castaneda variational bound (1992), within the framework of non-linear elasticity.
MFront
featuresMFront now allows to define options in a configuration
file define through the --configuration-file command line
argument as follows:
~~{bash} $ mfront –configuration-file=config.json
–interface=generic-parallel UO2_ShearModulus.mfront~~
Configuration file follows an extented JSON-like syntax.
It contains the following sections:
dsl_optionsmaterial_property_dsl_optionsbehaviour_dsl_optionsmodel_dsl_optionsinterfaces_optionscompilation_optionsNone of those sections is required. All those sections must introduce a dictionary.
Note
The options given in sections
dsl_options,material_property_dsl_options,behaviour_dsl_optionsandmodel_dsl_optionsmay also be retrieved in dedicated configurations files, respectively specified by the--dsl-options-file,--material-property-dsl-options-file,--behaviour-dsl-options-file, and--model-dsl-options-filecommand line arguments introduced in Version 4.1.
interfaces_options: {
generic-parallel: {
backend: {"stlpar", execution_policy: "par_unseq"}
}
}interfaces_options sectioncompilation_options sectioncompilation_options : {
cxx : {
compiler: "nvc++",
compilation_flags: "-O2 -stdpar=gpu -std=c++20 -march=native -gpu=sm_89"
}
}compiler
optioncompilation_flags optionlinking_options sectionlinker_flags option~~{bash} $ mfront –obuild
–interface=‘generic-parallel{backend:{“stlpar”:
{execution_policy:“par_unseq”}}}’ UO2_ShearModulus.mfront~~
~~{bash} $ mfront –obuild
–interface=‘{generic-parallel:{backend:“stlpar”{execution_policy:“par_unseq”}}}’
UO2_ShearModulus.mfront~~
generic-parallel interface for material propertiesSTLParCUDAThe authors are grateful to the many contributors to the
TFEL/MFront project. This research was conducted in the
framework of the PLEIADES project, which was supported financially by
the CEA (Commissariat à l’Énergie Atomique et aux Énergies
Alternatives), EDF (Électricité de France) and Framatome. Homogenization
developments were conducted within the framework of the AnoHonA ANR
project (n° AAPG2023).
TFEL_HOST_DEVICE to
LeftCauchyGreenTensorDerivativeExpr and
RightCauchyGreenTensorDerivativeExpr classesFor more details, see https://github.com/thelfer/tfel/issues/926
StressStensorConcept and
NoUnitStensorConcept concepts and siblings for orther
tensorial objectsFor more details, see https://github.com/thelfer/tfel/issues/925

For more details, see https://github.com/thelfer/tfel/issues/922
For more details, see https://github.com/thelfer/tfel/issues/890
For more details, see https://github.com/thelfer/tfel/issues/905
tfel-check
simultaenously in a CI contextFor more details, see https://github.com/thelfer/tfel/issues/853