# 1 Issues fixed

## 1.1 Issue 325: [TFEL/Math] Missing argument forwarding in the constructor of Expr class #325

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

## 1.2 Issue 288: [TFEL/Math] The quantity metafunction shall work with a qt<NoUnit, ValueType> as argument

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

## 1.3 Issue 286: [mfront] computation of the time step scalor factor is broken when using quantities

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

## 1.4 Issue #283: [mfront] Array of parameters is broken with the AbaqusExplicit interface if quantities are used

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

## 1.5 Issue #281: [mfront] Tangent operator blocks associated with derivatives of scalars by scalars are ill defined when quantities are used

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

## 1.6 Issue #280: [mfront] the [UpdateAuxiliaryStateVariables?] is broken in the RungeKutta DSLs when using quantities

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

## 1.7 Issue #279: [mfront] bounds checks are broken when using quantities

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

## 1.8 Issue #275: [mtest] MTest segfaults with generic behaviours having additional tangent operator blocks

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

## 1.9 Issue #257: [mfront] Warnings in behavior

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

## 1.10 Issue #221: [mfront] Error in the computation of the bulk modulus in the MiehePhaseFieldDisplacementDeviatoricSplit.mfront example

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

## 1.11 Issue #201: [mfront] Missing DeformationGradientRateTensor type alias

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

## 1.12 Issue #196: [mfront] Declaration of a state variable fails if the invert_type metafunction is used to define its type.

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

## 1.13 Issue #178: [mfront] add type alias for invert_type, result_type and derivative_type in material properties and models

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

## 1.14 Issue #168: [tfel-math] output operator is empty for views

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

## 1.15 Issue #153: [mfront] Computation of the thermal expansion with quantities leads to errors when the Hencky strain measure is used in the generic interface

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

## 1.16 Issue #132: [mfront] Quantities support in the StandardElasticity brick when plane stress support is enabled

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

## 1.17 Issue #106: [mfront] Exported metadata about types can be wrong with the new type declaration adopted in TFEL-4.0

### 1.17.1 Description of the issue

In TFEL-4.0, the variable type declaration has been considerably improved. For example, the following codes are valid:

@AuxiliaryStateVariable tvector<2u,real> v;

which defines a state variable v which is tiny vector in two dimension, whatever the modelling hypothesis considered. However, metadata generated by MFront were inconsistent, as v was described as a tiny vector (whose size depends on the dimension).

### 1.17.2 Encoding of the type in exported metadata

For most interfaces, MFront exports metadata describing the types of the tensorial variables used by a behaviour, notably for behaviours.

Those metadata can be retrieved by various methods of the ExternalLibraryManager class, such as: getGenericBehaviourInitializeFunctionInputsTypes, getGenericBehaviourPostProcessingFunctionOutputsTypes, getUMATGradientsTypes, getUMATThermodynamicForcesTypes, etc.

The types of those variables are encoded as integers.

Those integers shall be intepreted as follows:

• the three first bits, converted in an integer, gives the type of variable:
• 0 denotes a scalar
• 1 denotes a symmetric tensor
• 2 denotes a vector
• 3 denotes an unsymmetric tensor
• 4 denotes a derivative function
• 5 denotes an array of objects
• For tensorial objects, the two next bits, converted in an integer, gives the space dimension of the variable:
• 0 indicates that the space dimension depends on the modelling hypothesis considered.
• 1 indicates that the object has a space dimension of 1, indepently of the modelling hypothesis considered.
• 2 indicates that the object has a space dimension of 2, indepently of the modelling hypothesis considered.
• 3 indicates that the object has a space dimension of 3, indepently of the modelling hypothesis considered.
• Concerning a derivative function, the next bits encodes the type of function and the bits after the type of the variables with respect to which the function is derivated.
• Concerning an array of object, the next three bits encode the arity of the array (number of dimensions) and then the sizes of array along each dimension, each size being encoding in seven bits. The next bits the type of the object hold.

#### 1.17.2.1 Special case of higher order tensors

Higher order tensors are defined as derivative of lower order tensors.

For example, the fourth order tensor of type t2tost2<N,real> (derivative of a symmetric tensor with respect to an unsymmetric tensor) is associated with identifier 780 as 780 = 4 + (1 << 3) + (3 << 8).

#### 1.17.2.2 Special case for tiny vectors

Tiny vectors defined by tvector<D, value_type> are encoded as:

• a tensorial object, if D is compatible with the size of a tensorial object (i.e. D has the value N or if D has an integer value in the range [1;3]) and if value_type is a scalar type.
• an array otherwise.

#### 1.17.2.3 Special case of tiny matrices

Tiny matrices defined by tmatrix<N, M, value_type> are encoded as:

• derivative of two tiny vectors, if N and M can represent the size of a tensorial object and if value_type is a scalar type.
• an bi-dimensional array otherwise.

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

## 1.18 Issue #105: [TFELMath] Missing specialisations of the DerivativeTypeDispatcher class

Many specialisations of the DerivativeTypeDispatcher class are missing:

• specialisations for the derivatives of a tvector with respect to a scalar
• specialisations for the derivatives of a tmatrix with respect to a scalar
• specialisations for the derivatives of a tvector with respect to a tvector
• etc…

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

## 1.19 Issue #102: [mfront] Missing using namespace std; in the body of the computeFlow method of the IsotropicStrainHardeningMisesCreep DSL

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

## 1.20 Issue #101: [mfront] [generic interface] The computation of stored and dissipated energies fails to compile if quantities are used bug generic interface mfront

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

## 1.21 Issue #81: [TFELMaterial] The Mohr-Coulomb stress criterion is broken after pull request #5

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

## 1.22 Issue #78: [TFELMath] missing const qualifier in the implementation of the map function for immutable views

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

## 1.23 Issue #77: [mfront] The type TypeParsingOptions is not explicitely exported which leads to an error in gcc under Windows

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

## 1.24 Issue #56: [TFELMath] The CublicSpline methods do not compile if TFEL/Math/vector.hxx is included

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

## 1.25 Issue #54: [mfront] Inconsistent declaration of array of parameters as tvector

TFEL-4.0 changed the type of all array to fsarray, except for arrays of parameters.

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

## 1.26 Issue #53: [mfront] HarmonicSumOfNortonHoffViscoplasticFlows is broken in TFEL-4.0

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

## 1.27 Issue #37: [mfront] @ElasticMaterialProperties is broken when using quantities

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