TFEL
, MFront
and MTest
cmake
generatorExternalLibraryManager::hasBounds
is brokenCast3M
interfaceAbaqus/Explicit
interfaceThis is mainly a bug fix version of the 3.1
series. All tickets solved are described below.
The installation process of MFront
in C:\Program Files (x86)
path worked in windows environment, but MFront execution used to stop because the installation path contained space characters.
The problem was related on how spaces where handled by the Makefile
and CMake
generators.
For more details, see: https://sourceforge.net/p/tfel/tickets/155/
cmake
generatorFor more details, see: https://sourceforge.net/p/tfel/tickets/148/
ExternalLibraryManager::hasBounds
is brokenFor more details, see: https://sourceforge.net/p/tfel/tickets/146/
Cast3M
interfaceThe generic plane stress handler provided by the Cast3M
interface has been designed to add support to the plane stress hypothesis when the behaviour does not support it “natively.”
The interface creates a wrapper around the behaviour which is then integrated in generalised plane stress, the axial strain being an additional unknown.
In TFEL-3.0
, we tried to mimic more closely the behaviour of standard behaviour by requiring the PlateWidth
(DIM3
) material property to be defined. This implies to reorder the material properties when calling the behaviour in generalised plane strain. This was done correctly for orthotropic behaviours, but not for isotropic behaviours.
This case was tested by MTest
but we did not reproduce correctly the Cast3M
behaviour.
For more details, see: https://sourceforge.net/p/tfel/tickets/144/
Abaqus/Explicit
interfaceThe dissipated energy can be computed using the @DissipatedEnergy
keyword. As only a few interface support this feature (in TFEL 3.1, only the Abaqus/Explicit
does) and that most behaviours does not provide the computation of the dissipated energy, we rely on tag dispatching to perform the computation, if available.
In mfront/include/MFront/Abaqus/AbaqusExplicitInterface.hxx
, the following code was wrong:
static constexpr const bool bi = MTraits::hasComputeInternalEnergy;
static constexpr const bool bd = MTraits::hasComputeDissipatedEnergy;
....using DEnergyComputer = typename std::conditional<bi,DissipatedEnergyComputer,
DoNothingEnergyComputer>::type;
We used bi
to make the dispatch in lieu of bd
. The corrected version is the following:
using DEnergyComputer = typename std::conditional<bi,DissipatedEnergyComputer,
DoNothingEnergyComputer>::type;
For more details, see: https://sourceforge.net/p/tfel/tickets/143/