Restore windows and old-gmm compatibility
Windows compatibility
- The compilation was broken on Windows. There was a problem in the SWIG-generated code from the new
ELTYPE
andMATTYPE
class enums. More precisely, the problem was related to the translation ofoperator<<
(which does not becomeprint
or__str__
but__lshift__
in python!). I have prevented SWIG from wrapping this function. - Compilation of Trilinos is automatically disabled on Windows since Trilinos is not compatible with Windows.
Compilation with old versions of gmm
- It is now possible to compile the code with the (old) version of gmm that is bundled with Ubuntus<18. These old versions define
std::operator<<(std::vector<double> const &)
although the newest version does not. I previously added our own definition of this missing function in the headergmm_extra.h
. Obviously, this definition broke the compatibility with the old version of gmm. Now, theTRY_COMPILE
feature of CMake is used to check whether this function is already defined or not. This knowledge is transferred to the compiler using the newGMM_DEFINITIONS
variable which is dynamically set inFindGMM.cmake
(see this file for more details).
Usage of gmsh v4.x
- By default the new version of gmsh (version 4) writes meshes in a new (incompatible) format. I am currently trying to upgrade
MshData
so that it can read this new format. In the meantime, I have forced gmsh to write its output in version 2 (seegmsh.py
). It temporarily solves the problem. We should, however, be careful to avoid gmsh4 commands in the.geo
files!
Future new models for mirrors
- I have added several basic
.geo
files inmirrors
. I will use them in a near future to make additional basic mechanical tests (to be continued).
CTest
- Successful on gaston
- Successful on Windows (without Trilinos)