This version is meant to be used with TFEL Version
5.2.
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 libraryMaterialStateManagerBy 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}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.