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:

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:

$ 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:

4.4 Better --list-behaviours query

The --list-behaviours query can now have an option:

4.5 Better --list-models query

The --list-models query can now have an option:

4.6 Better --generated-sources query

The --generated-sources query can now have an option:

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:

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:

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.