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,
>::type; DoNothingEnergyComputer
We used bi
to make the dispatch in lieu of
bd
. The corrected version is the following:
using DEnergyComputer = typename std::conditional<bi,DissipatedEnergyComputer,
>::type; DoNothingEnergyComputer
For more details, see: https://sourceforge.net/p/tfel/tickets/143/