MGIS/Behaviour library
MGIS/Function library
save/restore
operations in MaterialDataManagerMaterialStateManagerThis version is meant to be used with TFEL Version
5.2.
cmake optionsThe following options control the support of the HDF5
library:
enable-hdf5-support: enable HDF5 support for
save/restore operations. Note that if this support is not explicitely
requested, MGIS still tries by default to support
HDF5 but configuration will not fail if the
HDF5 library is not found. See
enable-hdf5-automatic-support for details.enable-hdf5-automatic-support: if set,
MGIS tries by default to support HDF5 even if
enable-hdf5-support` is not set.Doxygen documentationThe doxygen documentation is now online: https://thelfer.github.io/mgis/doxygen/index.html.
MGIS to work
properlyDepending on the system and compilation options, some of following
variables shall be set for MGIS to work properly:
MGISHOME, PATH, LD_LIBRARY_PATH
and PYTHONPATH.
MGIS now installs automatically the following files in
the installation directory (refered to
<install_prefix> in the following):
<install_prefix>/share/mgis/env/env.sh for
UNIX systems and the bash shell. This file
shall be used as follows:
$ source <install_prefix>/share/mgis/env/env.sh<install_prefix>\share\mgis\env\env.ps1 for
PowerShell shell under Windows. This file
shall be used as follows:
$ .\<install_prefix>\share\mgis\env\env.ps1<install_prefix>\share\mgis\env\env.bat for
the historical cmd shell under Windows. This
file shall be used as follows:
$ call <install_prefix>\share\mgis\env\env.batNote
Those variables are not required if
MGISis installed system-wide (for instance in/usr/local) and that theMGIS’s binaries are not relocated (i.e. moved to a different directory than the one specified during the compilation process as the installation directory).
Note
If
MGISis built withTFELsupport, theTFELenvironment shall be properly set.
MGIS/Behaviour libraryMaterialStateManager and
MaterialDataManagerIf HDF5 support is enabled, two functions
save and restore are available:
save function allows saving the values stored in a
MaterialStateManager or in a
MaterialDataManager to an HDF5 file.restore function allows retrieving the values
stored in a MaterialStateManager or in a
MaterialDataManager from an HDF5 file.Those functions have options allowing to precisely select what is saved or restored.
By default, one expects to restore the maximum amount of information.
The getGreedyMaterialStateManagerRestoreOptions function
creates option that can restore everything that has been saved.
MaterialStateManagerBy default, material properties, mass density and external state
variables are updated by the update and revert
functions.
This can now be controlled by passing a value of the
MaterialStateManager::UpdatePolicy type to the functions
setMaterialProperty, setMassDensity or
setExternalStateVariable.
setExternalStateVariable(m.s1, "Temperature", T1,
MaterialStateManager::UPDATE);MGIS/Function libraryThe following classes have been introduced:
StridedCoalescedMemoryAccessTensorViewStridedCoalescedMemoryAccessCompositeTensorsViewStridedCoalescedMemoryAccessTensorViewStridedCoalescedMemoryAccessTensorView is a tensorial
function view which stores its components in non interleaved manner
using the following scheme:
| <------- Component 1 ---------> |....| <----- Component Nc ---------> |
+-------++-------++------++-------+----+-------++------++------++-------+
| Elt 1 || Elt 2 || .... || Elt N |....| Elt 1 ||Elt 2 || .... || Elt N |
+-------++-------++------++-------+----+-------++------++------++-------+
constexpr auto ne = size_type{2};
auto space = BasicLinearSpace{ne};
std::array<const real, 4 * ne> values = {1, 10, 2, 20, 3, 30, 4, 40};
const auto f = StridedCoalescedMemoryAccessTensorView<
BasicLinearSpace, tfel::math::stensor<2, real>, false>{space, values};
const auto e1 = f(0);
// e1 = {1, 2, 3, 4}
const auto e2 = f(1);
// e2 = {10, 20, 30, 40}StridedCoalescedMemoryAccessCompositeTensorsViewStridedCoalescedMemoryAccessCompositeTensorsView allows
retrieving scalar or tensorial objects which are stored in a non
interleaved manner.
using CompositeFunctionView =
StridedCoalescedMemoryAccessCompositeTensorsView<BasicLinearSpace, 4,
false>;
constexpr auto ne = size_type{2};
auto space = BasicLinearSpace{ne};
std::array<const real, 4 * ne> values = {1, 10, 2, 20, 3, 30, 4, 40};
const auto f = CompositeFunctionView{space, values};
const auto e1 = f.get<0, tfel::math::stensor<2, real>>(0);
// e1 = {1, 2, 3, 4}
const auto e2 = f.get<0, tfel::math::stensor<2, real>>(1);
// e2 = {10, 20, 30, 40}For more details, see https://github.com/thelfer/MFrontGenericInterfaceSupport/issues/210
save/restore
operations in MaterialDataManagerFor more details, see https://github.com/thelfer/MFrontGenericInterfaceSupport/issues/209
MaterialStateManagerFor more details, see https://github.com/thelfer/MFrontGenericInterfaceSupport/issues/201
For more details, see https://github.com/thelfer/MFrontGenericInterfaceSupport/issues/200
For more details, see https://github.com/thelfer/MFrontGenericInterfaceSupport/issues/196
The authors are grateful to the many contributors to the
TFEL/MFront project. This research was conducted in the
framework of the PLEIADES project, which was supported financially by
the CEA (Commissariat à l’Énergie Atomique et aux Énergies
Alternatives), EDF (Électricité de France) and Framatome. Work on
MGIS/Function was performed as part of the EURATOM OperaHPC
Project co-funded by the European Union.