The page describes the new functionalities of Version 3.4.4 of the TFEL project.

Version 3.4.4 has been released on October, 24th 2022. It inherits from all the issues fixes in:

# 1 Known incompatilities

## 1.1 Known incompatilities in MFront

Declaration of variables in the MaterialLaw DSL is more restrictive: they they must now be defined before the @Function keyword.

The same restriction apply to the declaration of external names (glossary or entry names).

# 2 New features of MFront

## 2.1 Alternative way to select a single material knowledge (material property, behaviour, model) in a madnex file

mfront, mfront-query and mfront-doc now allow to select a specific material knowledge inside a madnex file using the following syntax:

madnex:<file>:<type>:<material>:<name>

where:

• <file> is the path to the madnex file.
• <type> is the type of the material knowledge (material_property, behaviour or model).
• <material> is the name of the material considered. This name can be empty or <none> if the considered material knowledge is not associated to a material.
• <name> is the name of theconsidered material knowledge.

### 2.1.1 Example of usage

$mfront --obuild --interface=generic madnex:Plasticity.mdnx:behaviour::Plasticity or, equivalently: $ mfront --obuild --interface=generic madnex:Plasticity.mdnx:behaviour:"<none>":Plasticity

# 3 New features of mtest

## 3.1 Imposed inner radius loading in pipe modelling

PTest now supports imposing the evolution of the inner radius of the pipe.

### 3.1.1 Example of usage

The following code shows how to impose the evolution of the inner radius of the pipe:

@RadialLoading 'ImposedInnerRadius';
@InnerRadiusEvolution{0 : 4.2e-3, 1 : 4.3e-3};

# 4 New features of mfront-query

## 4.1 New --list-implementation-paths query

The --list-implementation-paths query returns explicit paths to material knowledge in a madnex file. This query has two options:

• sorted-by-files (default): the implementations paths are preceded by the madnex file name.
• unsorted: the implementations paths are not preceded by the madnex file name.
$mfront-query --list-implementation-paths=unsorted --all-behaviours Plasticity.mdnx madnex:Plasticity.mdnx:behaviour::Plasticity See also Section 2.1. ## 4.2 New --list-materials query The --list-materials returns the list of materials for which material knowledge is defined inside a madnex file. If a material knowledge is not associated to a material, the special identifier <none> is returned. ## 4.3 Better --list-material-properties query The --list-material-properties query can now have an option: • sorted-by-materials (default): which returns the material properties sorted by materials • unsorted: which returns all the material properties to be generated ## 4.4 Better --list-behaviours query The --list-behaviours query can now have an option: • sorted-by-materials (default): which returns the behaviours sorted by materials • unsorted: which returns all the behaviours to be generated ## 4.5 Better --list-models query The --list-models query can now have an option: • sorted-by-materials (default): which returns the models sorted by materials • unsorted: which returns all the models to be generated ## 4.6 Better --generated-sources query The --generated-sources query can now have an option: • sorted-by-libraries (default): which returns the sources to be generated associated with each library • unsorted: which returns all the sources to be generated This option may be used in conjunction with the --nomelt option. ## 4.7 Retrieve the sources associated with specific targets mfront-query now have two new queries: • --specific-target-generated-sources which allows to retrieve the sources generated by a specific target • --all-specific-targets-generated-source, which displays all the sources associated with specific targets By default, all sources associated with libraries dependencies of the specific targets are also displayed, unless the --nomelt command line argument is used. # 5 Issues solved ## 5.1 Issue #311: [mfront-query] The header files generated by the generation of slip systems are missing from the result of the --generated-headers query For more details, see : https://github.com/thelfer/tfel/issues/311 ## 5.2 Issue #310: [mfront-query] Query --generated-headers is inconsistent with the --generated-sources query For more details, see : https://github.com/thelfer/tfel/issues/310 ## 5.3 Issue #277: [thelfer/tfel] Inconsistency in the GursonTvergaardNeedleman model in the StandardElastoViscoPlasticity brick In the code (and the documentation), the ultimate value of the effective porosity (corresponding to the value of porosity for which the stress is equal to zero according to the yield criterion) is defined as: $f_{u} = \Frac{1}{q_1},$, which is true only for $$q_3 = q_1^2$$. In the current implementation, taking $$q_3$$ different from $$q_1^2$$ may lead to divergence. In the general case, the ultimate porosity is the root of: $2 * q_1 * f -1 -q_3 * f^{2}.$ For more details, see : https://github.com/thelfer/tfel/issues/277 ## 5.4 Issue #228: [mfront] check if overriding parameters are well defined For more details, see : https://github.com/thelfer/tfel/issues/228 ## 5.5 Issue #227:￼ ￼[mfront] Override parameters by external, symbolic or variable names For more details, see : https://github.com/thelfer/tfel/issues/227 ## 5.6 Issue #212: [mfront] OverridableImplementation does not take into account overriden parameters For more details, see : https://github.com/thelfer/tfel/issues/212 ## 5.7 Issue #185: [mfront] missing inclusion of the cstddef header in MFront/GenericBehaviour/Types.h For more details, see : https://github.com/thelfer/tfel/issues/185 ## 5.8 Issue #131: [mfront] The content of a madnex files is erased when writting an overridable implementation For more details, see : https://github.com/thelfer/tfel/issues/131 ## 5.9 Issue #98: [mfront-query] add query to retrieve all implementation paths This feature is described in Section 4.1 For more details, see : https://github.com/thelfer/tfel/issues/98 ## 5.10 Issue #97: [mfront] Allow to specify the full path to a material knowledge (material property, behaviour, model) in a madnex file on the command line This feature is described in Section 2.1. For more details, see : https://github.com/thelfer/tfel/issues/97 ## 5.11 Issue #96: [mfront] Add support to the --all-material-properties, --all-behaviours, --all-models to the parsePathSpecifierArguments function for consistency with mfront For more details, see : https://github.com/thelfer/tfel/issues/96 ## 5.12 Issue #87: Better --list-material-properties, --list-behaviours and --list-models queries Theses features are described in Sections 4.3, 4.4 and 4.5. For more details, see : https://github.com/thelfer/tfel/issues/87 ## 5.13 Issue #86: [mfront-query] new --list-materials query This feature is described in Section 4.2. For more details, see : https://github.com/thelfer/tfel/issues/86 ## 5.14 Issue #85: [mfront] Support for the .mdnx file extension for madnex files For more details, see : https://github.com/thelfer/tfel/issues/85 ## 5.15 Issue #68: [mfront-query] Add a --dsl-target option mfront-query now have --dsl-target option which returns the kind of material knowledge described by a file (material property, behaviour, or model). For more details, see https://github.com/thelfer/tfel/issues/68. ## 5.16 Issue #67: [mfront-query] Add a --has-model-query option enhancement mfront-query now have --has-model-query option that can be used as follows: $ mfront-query --has-model-query=class-name

For more details, see https://github.com/thelfer/tfel/issues/67.

￼ ￼ ## Issue #66: [mfront-query] Add a --has-material-property-query option enhancement

mfront-query now have --has-material-property-query option that can be used as follows:

$mfront-query --has-material-property-query=class-name ￼ For more details, see https://github.com/thelfer/tfel/issues/66. ￼ ## Issue #65: [mfront-query] Add a --has-behaviour-query option enhancement mfront-query now have --has-behaviour-query option that can be used as follows: $ mfront-query --has-behaviour-query=class-name

For more details, see https://github.com/thelfer/tfel/issues/65.

## 5.17 Issue #64: [mfront-query] Add a query for the class name

mfront-query now has a --class-name query which works for material properties, behaviours and models.

For more details, see https://github.com/thelfer/tfel/issues/64.

## 5.18 Issue #63: [mfront-query] Add a query for the behaviour name

mfront-query now has:

• a --law-name query for material properties.
• a --behaviour-name query for behaviours.
• a --model-name query for models.

For more details, see https://github.com/thelfer/tfel/issues/63.

## 5.19 Issue #62: [tfel-config] add a --quiet-failure option

In case of errors, tfel-config with the the --quiet-failure option just fails without displaying all the available options nor error message.

For more details, see https://github.com/thelfer/tfel/issues/62.

## 5.20 Issue #59: [mfront-doc] add a standalone option

By default, the generated markdown uses a section to describe a behaviour. Using the --standalone option, mfront-doc generates a standalone document.

For more details, see https://github.com/thelfer/tfel/issues/59.

See Section 4.7 for a description of the --specific-target-generated-sources and --all-specific-targets-generated-source queries.

For more details, see https://github.com/thelfer/tfel/issues/49.

## 5.22 Issue #40: [mfront-query] return all the generated sources (not sorted by library)

See Section 4.6 for a description of the new features of the --generated-sources query.

For more details, see https://github.com/thelfer/tfel/issues/40.

# 6 Build system changes

## 6.1 Build static libraries

When specifying -DBUILD_SHARED_LIBS=OFF (for CMake-based builds only) all libraries except of modules are build as static libraries. This allows for easier deployment of downstream applications which use TFEL / MFront.

Also added the CMake-option enable-testing (defaults to ON) to disable all tests to speed-up compilation times.

For more details, see https://github.com/thelfer/tfel/pull/217.