Tags give the ability to mark specific points in history as being important
  • v20.52
    29a0348d · Issue tag v20.52. ·
    Release Tag v20.52
  • v20.27   _Note:_ this release requires the version [v20.24](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/tags/v20.24) of third party libraries: a new test about a PETSc wrapper fail with PETSc 3.12 (with a message the functionality is missing for a given type of matrix) but works as expected with 3.13. ## Model - two step parallelism - Feature #1443: Two step parallelism now works - but currently you still need to prepare the data in parallel. - Bug #1522: Mesh constructor from prepartitioned data was poorly implemented and was not working as expected for higher order. - Feature #1531: Adapt FromVertexMatching operator to two step parallelism ## Operators - Feature #1520 Implement a utility operator to write out local quadrature points into global coordinates. ## Geometry - Design #1528: Go back to using shared_ptr for Coords. - Bug #1526: The geometric elements related to boundary conditions were not properly kept during the reduction process in a parallel run. ## Core - Support #1524: Remove most of the mandatory fields in input data. ## Utilities - Support #1537: Add a create_if_necessary behaviour for FilesystemNS::Directory, and clarify ignore one. - Support #1538: Use optional instead of unique_ptr for behaviour in FilesystemNS::Directory constructor, which makes a much leaner interface. - Support #1539: Add tests for functions defined in Utilities::String - and modify slightly ConvertCharArray() to make it pass the test (one line was undue...). - Support #1540 Add a Split() utility function for strings. ## ThirdParty - Support #1532 Petsc wrapper: Refactor slightly the possible viewers to add more safety and enable reloading a matrix from a file - Feature #1533: Add a PETSc wrapper around MatEqual. - __Design #1535__: For PETSc Matrix And Vector, Internal() is no longer const. - __Design #1536__: Remove MatrixOperations that were half baked and not used (to my knowledge). ## PostProcessing - Bug #1519: The case of an Unknown present in several NumberingSubset was not properly foreseen. ## CI - Support #1523: Replace the Alpine Docker image by a Fedora one. - Support #1272 - #1534 Reactivate tests that were manual ones and were never updated after the test toochain was introduced (respectively about input data and PETSc matrix operations). - Support #1525: Apply #1524 to PETSc VectorIO test: it no longer uses up a Model under the hood - instead a much lighter ToyModel class is used - and this class inherits from nothing. - Support #1542: If a branch name includes 'nobuild', the build_and_test and check_warnings stages are skipped. - Support #1541: Some modifications to make the analysis tools work properly (Valgrind test will nonetheless be in orange: the new version of one of the library (probably Openmpi) gets a tiny memory leak (8o...) that I can't suppress due to a lack of information. ## ModelInstances - Support #1530: Reduce the number of time iterations in hyperelastic model. ## Miscellaneous - Bug #1527 In configure_cmake.py script, use the intended third party libraries (previously it was always the one chosen for release mode that was used). - Support #1528: Modifications related to the upgrade of most of the third-party librairies (tag v20.24](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/tags/v20.24) of [ThirdPartyCompilationFctory](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory) ).
    c2fad6a7 · Issue tag v20.27. ·
  • v20.18   _An improvement of #1506 that arrived just after the release of v20.17:_ - Improve the QuasiIncompressibleSecondPiolaKirchhoffStressTensor operator so that we do not have permission issues in CardiacMechanics model.
    42124f27 · Issue tag v20.18. ·
  • v20.17   ## Geometry - Bug #1516: In interfaces.hhdata file, the convention was not the same for Vertex and other interfaces. - __Support #1515:__ Clean-up interfaces.hhdata and prepare it for two steps parallelism. The _interfaces.hhdata_ files in external models need to be updated. ## Operators - Feature #1506 Separate time schemes for the penalization law used by the QuasiIncompressibleSecondPiolaKirchhoffStressTensor. - Bug #1517: Fix StrongType used for the incompressible version of the SecondPiolaKirchhoffOperator. ## Ongoing tickets - Feature #1443: Implement two-step parallelism. ### CI - Support #1518 CI Investigate Openmpi issue in Docker. A fix has been tried but we can't be sure it is enough hence the ongoing status.
    42fccab6 · Issue tag v20.17. ·
  • v20.12   ## Operators / VariationalFormulation - Bug #1511: Fix the way StrongTypes were used: what was introduced in v20.10 incurred unnecessary copies that were not properly managed at the end of the program (hence the memory leak that appeared in Valgrind).
    aa8db159 · Issue tag v20.12. ·
  • v20.10   ## Utilities - Feature #1507: Enable strong types, which enable disambiguation on otherwise similar prototypes and help make the code much clearer. ## Third Party - __Feature #1504__: Replace Boost filesystem by STL filesystem. You therefore need a very recent compiler... ## Variational Formulation - __Feature #1505__: Refactoring concerning non linear solve: update to PETSc 3.12 underlined issues both from my side (assumptions that were not guaranteed by PETSc API) and theirs (line search strategy changed with no notice). It is now both cleaner and more robust, but API needs to be adapted in all external models. ## CI - Feature #1510: Creation of Docker images has been removed and is now delegated to a [dedicated project](https://gitlab.inria.fr/MoReFEM/CoreLibrary/generatedockerimages). The rationale is that we want to automate this, and it was complicated as MoReFEM already uses up CI pipeline.
    4b33a69a · Issue tag v20.10. ·
  • v19.52   - Support #1500: Attempt to speed up static analysis tool; full success only for CppCheck. - Support #1501: Few modifications to help deploy CI for external models (for instance the script used to interpret build log is now installed by the CMake)
    7fdfa9c4 · Issue tag v19.52 ·
  • v19.48   - Bug #1498 - #1292: Fix remaining warnings, and a stupid bug I inroduced in visco-elasticity in the conversion from Seldon to Xtensor. - Bug #1499: Improve the exception handling within SNESSolve: previously if an exception was thrown inside the static functions provided to SNES, the exceptions were not caught properly and the program exited poorly.
    eb27a2cc · #1498 Issue tag v19.48. ·
  • v19.45.1   - Documentation #1497: Fix a tiny bug that prevented run of GitlabPages.
    197bed77 · Issue tag v19.45.1 ·
  • v19.45   __Warning:__ You need to update third party libraries to [v19.42](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/tags/v19.42): Xtensor dependencies are now added there, and TClap library has been put there rather than kept inside MoReFEM. __Note:__ due to an issue on M3DIDIM server, Redmine is not available at the time these lines are written, hence the limited precision of the modified content. ## Operators - Feature #1418: Introduce microsphere operator. - Feature #20: In Second Piola Kirchhoff operator, introduce the possibility to check whether an element was inverted. Such a check is commanded through an option in the input data file. ## Utilities / ThirdParty - Feature #1494: Introduce new header files to handle pragma warnings. The idea is to avoid repeating conditions such as considering a warning only for a compiler (or worse, a given version of that compiler). - __Feature #1292__: Replace Seldon by Xtensor for the linear algebra of local operators. - Bug #1485: LuaFunction: destructor was not properly written and induced a memory leak, - __Design #1492__: Remove Tclap from the library (it now must be installed outside of it). ## CI - Feature #177 - #1489: Add Valgrind memcheck analysis for the embedded models and one test. - Documentation #1497: Generate through GitlabPages the Doxygen documentation of the code (wasn't possible previously for projects in Gitlab groups). - Feature #1490: Add Sonarqube in CI analysis; it synthetizes the results of [Cppcheck](http://cppcheck.sourceforge.net/), [RATS](https://security.web.cern.ch/security/recommendations/en/codetools/rats.shtml), [ClangStaticAnalysis](https://clang-analyzer.llvm.org/) and the [Sonar scanner for C++ by the community](https://github.com/SonarOpenCommunity/sonar-cxx). - Documentation #1495: Update README concerning CI - _Standby_: Feature #1497: Add Verrou flaoting-point checks in CI. There is an issue to set it up properly for all VMs (current Docker image works properly on only half the VMs of the project). ## Miscellaneous - Support #1498: Various fixes that appeared while upgrading the external models to this version of MoReFEM API.
    0fe8856d · Issue tag v19.45. ·
  • v19.36   ## Utilities - __Design #1480__ Introduce a Directory class which handles properly and in one place the different behaviour that might be expected. The former ways to create/remove/check existence of directories still exist but have been moved into Advanced namespace; the proper way now should be to use the new class. - Design #1477 - Support #1181: For output directories, add the possibility to query the user to ask whether a former directory should be overwritten or not. - Support #1482: Introduce a utility function to generate a random string (for tests). - Support #1479: Introduce a GracefulExit exception which should be handled in the main by an EXIT_SUCCESS return code. - Support #1474: InputData: add a constexpr test to check whether a given item is present or not. - Bug #1475: Improve the error message when unbalanced braces in the input file. ## Core - __Feature #1476__: MoReFEMData: introduce a new template parameter which specifies the type of program (model or test). - Support #1478: MoReFEMData: use helper functions to make the constructor clearer. ## Models - Feature #1259 - #1303: The non linear membrane operator is now fully validated with and without a pretension. ## External tools - Support #1484: Doxygen: Fix the warnings of advanced and basic Doxyfiles, and add them to CI. - Support #1483: Update Doxyfiles to Doxygen 1.8.16 (and fix the new warnings in the code). ## Ongoing tickets - Feature #1443: Introduce a two step parallelism run to make better use of memory (and it's a step to restart as well). Mesh may be reloaded completely from pre-partitioned data.
    5faaebd7 · Issue tag v19.36. ·
  • v19.30   ## Utilities - Bug #1468: LuaOptionFile wasn't robust enough and couldn't interpret some files if two closing braces were on the same line. The facility to identify entry keys has been entirely rewritten and seems to work in any case (I did my best to write all the edge cases I could think of in the test suite). - Support #1470 - Feature #279: Refactor PrintContainers facilities: there are now only two functions (one for tuple and another for other containers). Policies aere provided to handle the different cases (including associative containers). - Support #1469: One of the policy mentioned in #1470 enables to print content of a container of std::variant (provided the types within the variant are printable). - Support #1467: Following #1432, there is no need to keep track of the LuaOptionFile used to interpret input data file. ## Core - Feature #1466: Separate RAII initialization of PETSc and Mpi from the rest of MoReFEMData. Thus several InputData may be initialized within a single program. - Feature #1465: Add the possibility to write down the content of InputData. Will be used in #1443 - Feature #1315: Implement the possibility to update correctly all the comments of a Lua file (consequence of #1465). Lua files of embedded models have been updated with this new functionality. ## Tests - Bug #1461: Due to a git mishap, test about PetscVectorIO was buggy (the fix to the bug was unwittingly overwritten...) - Bug #1464: A test (Utilities/Now) could fail due to racing condition. ## Documentation - Documentation #1459: Move the introduction talks in a [separate project](https://gitlab.inria.fr/MoReFEM/CoreLibrary/introductiontalks.git). - Support #1471: Work around a Doxygen issue (on VM only): three warnings appear for no reason (a function signature is truncated and thus Doxygen can't connect the dot with the provided parameter). ## External tools - Feature #1460: Reintroduce proper way to generate easily Docker images of MoReFEM. - Feature #1463: Add configure_cmake_external_model.py to the MoReFEM installation. - Bug #1462: Add in PreCacheFile the values of CMAKE_C_COMPILER and CMAKE_CXX_COMPILER.
    e4e468fe · Issue tag v19.30. ·
  • v19.29   ## Outputs - Feature #1422: Offers the possibility to write results in binary. Petsc vector has been extended to enable reload of those values (see ThirdParty tickets below). - __Feature #1421__: Changing the output directory so that each processor writes in its own folder and add an optional timestamp. _Note:_ the compatibility break here concerns tests and Ensight outputs. ## Utilities / ThirdParty - Feature #1453 PetscVector: enrich the way a vector can be built with more reloading from files. - Bug #1455: Vector::InitFromSequentialFile didn't work due to filler lines in Matlab format. - Bug #1452: Reloading Petsc Vector didn't work as expected. - Support #1451: PetscVector::AreEqual now also investigates the ghosts. - __Design #1454__: PetscVector: modify the API of some methods to be more in line with the rest of the library. ## Core - __Design #1456__: MoReFEMData: remove the awkward option to provide an additional subdirectory. ## Geometry: - Bug #1445: Bug corrected in WriteMedit: ghosts were also required in the conversion array! - Bug #1448: Mesh::AreVolumesBuilt() implementation was faulty. - Bug #1449: Way of computing number of vertices, edges, faces and volume after processor reduction has been improved. - Bug #1450: Exception about interface not built was not properly handled. ## FiniteElement - Design #1458: GodOfDof: modifying the underlying structure behind GetOutputDirectoryForNumberingSubset(). ## Test - Support #1272: Convert the FromVertexMatching test to activate it in the test suite. - Support #1457: Set the timeout for each test. - Bug #1442: Gitlab-CI: the warning check for macOS failed as an alpine Docker image was assumed and a shell runner was actually used ## Scripts - Bug #1447: init_morefem.py script didn't work in macOS due to bad module path. ## XCode - Support #1446: XCode class template: use C++ 17 namespace liberality to avoid many indenting stages.
    016a7a1f · Issue tag v19.29. ·
    Release v19.29
  • v19.27.2   ## Utilities - Documentation #1435: Update the automatic comments in Lua input file following #1431 changes, ## CI - Support #1437: In Yaml files, add explicit dependencies. Previously they were forgotten, and all artifacts were downloaded. - Support #1436: Do not run CI pipeline for master. In our workflow, master is modified only when a new tag is issued, and there is no need to run twice the same identical pipeline (once for tag and once for master branch). ## Models - Bug #1438: In hyperelastic model, wrong sign affected to the TransientSource operator in the rhs computation. ## PostProcessing - Bug #1441: Robustify the function in charge of writing Ensight output for a given unknown so that there can't be lines with more than 6 values. ## Compilation / CMake / XCode - Support #1439: Address some warnings that appeared with gcc 8 (and that weirdly didn't appear when I validated the previous tag). - Bug #1434: CMake install was not properly updated and libmeshb includes were not found due to this mistake in external models. - Bug #1440: Fix a bug in release config file (wrong path for libmeshb library).
    4657415c · Issue tag v19.27.2 ·
  • v19.27   ## Utilities - __Support #1432__: Change the way Lua function is implemented (for the sake of #1431). In your existing models, you will have to change the definition of Lua functions in your input data file: it should be within a string block (just add '[[' before the function and ']]' after). - Support #1431: InputData: modify interface so that variant may be used in a vector - Support #1430: Introduce a mechanism to know whether a class gets a member of a given name or not. ## Geometry - __Support #1427__: Update from Libmesh6 to Libmesh7. Now Libmesh 7 is no longer embedded (the reason Libmesh6 was - missing include guard therefore added manually - has been solved in Libmesh 7, so there are no reason not to handle it as any other third party library.) ## Operators - Bug #1415: ScalarDivVectorial and Stokes operators were flawed: a Seldon overflow could occur due to an index issue. - Support #1425: Make sure that cache misses are kept to a minimum in local variational operators. ## FiniteElement - Support #1424:UnknownManager: replace an assert by an exception in debug mode to help developer's work. ## Models - Support #1413: Add test about Stokes model with two separate operators. ## Compilation - Support #1433: Update the code to compile gracefully with latest clang. - __Support #1305__: std::optional is now also supported with recent AppleClang; so remove the macro that might point to Boost counterpart which is now never used. - __Support #1330__: Same as #1305 for std::variant. ## Tests - Bug #1414: CheckIdenticalFiles and CompareEnsightFiles were deeply flawed: reference files were compared to themselves! ## PostProcessing - Bug #1412 A line was unduly commented in the generation of the geo file. ## Miscellaneous - Bug #1420: I used to unduly believe operator<< overloads should be put in namespace std. - Support #1428: Replace dispatchers by more modern (C++ 17) facilities (mostly if constexpr).
    99067a30 · Issue v19.27. ·
  • v19.16   **WARNING**: You will need to reinstall Boost from ThirdPartyCompilationFactory: new version of MoReFEM uses up Boost.Test in its installed version, which was not provided previously. ## ThirdParty - Support #1401: Update MoReFEM to the latest versions of the third-party libraries. ## Geometry - Design #1405: In Mesh class, clarify the use of GetIndex() or GetPositionInCoordsList(). - Support #1403: Add a test on compatibility of Ensight and Medit formats. ## Operators - Design #1408: Rename ActiveStressPolicy InternalVariablePolicy as it will be used soon to describe non active contributions. - Feature #1381: Add coefficients with a spatial dependency representing a fiber density. ## Gitlab-CI - Feature #1398: Switch from Catch2 to Boost.Test to handle tests. - Support #1410: Introduce a script to generate Yaml files. - Documentation #1406: Add a note about the installation on shell runners on macOS. ## CMake - Feature #1407: Robustify the compilation of static/shared libraries - Support #1404: Provide a new Yaml file with tags, hence speeding up the builds by increasing dramatically the chances a cache is already present on the VM picked up to perform the job. - Support #1409: Stop installing tests (through `make install` or `ninja install` for instance). ## Post-processing - Bug #1399: Ensight output didn't always place correctly the dofs when a MoReFEM output was translated into Ensight format (the errors appeared when some vertices of the mesh were left unused). ## Miscellaneous - Support #1396: Fix warnings that appeared after upgrade to XCode 10.2 (and AppleClang compiler). ## Ongoing tickets - Support #1272: Add DomainListInCoords test in the test suite (it was an old school test previously).
    c97bb784 · Issue tag v19.16. ·
  • v19.13   ## Gitlab-CI - Feature #1360: Introduce gitlab-ci. - Documentation #1393: Update CI documentation: Jenkins related pages are removed and newly introduced Gitlab-CI is properly explained. ## Scripts - Feature #1390: Add script to analyze Doxygen log and return the relevant warnings. - Feature #1383 Create a script to analyse compilation log and extract whether there were warnings. - Bug #1382: Script to set up CMake was not correct. - Support #1394: SourceLists.cmake: add a comment inside the file to indicate it's automatically generated. - Support #1198: Clean-up Python scripts. ## Geometry - Bug #1392: Ensight expects "vector per node" and not "vectorial per node". - Support #1389: Deal properly with the exception added in GeometricElt constructor from stream. ## FiniteElement - Design #1388: In Dof class, make the methods that set the id private. ## Doxygen - Support #1395: Mathjax is now used to render formula in Doxygen documentation. - Documentation #1385: Fix partially Doxygen warnings that appeared with more recent versions of Doxygen (others too time-consuming to solve will be filtered out by a script). ## Models - Documentation #1370: Write a tutorial describing step by step how to implement elastic model. ## Miscellaneous - Support #1391: Remove warnings from libmesh6. - Support #1384: Add two warnings to exclude for clang builds. - Support #1351: Update to XCode 10 on macOS 10.14.
    4b1b9d14 · Issue tag v19.13. ·
  • v18.47   ## Utilities - Bug #1359: Leak in Singletons: thery were not properly destroyed on exit following a recent change. - Bug #1353: the resolution for bug #1340 was not applied to Seldon exceptions. ## Parameters - Support #1347: Improve the error message when a Parameter per domain is ill-defined ## Operators - Bug #1352: Operator MixedSolidIncompressibilitywas not correctly updated in #1189. ## InputData - Support #1350: Remove minimum_time_step input data in most cases. ## Miscellaneous - Support #1371: Really remove input_parameter_data throughout the code: lots were remaining after #1304... ## Scripts - Bug #1372: Commit hook script didn't work as intended with Python3 for the special branches which are allowed to accept commits without indexes. - Support #1366: Update init_morefem script. ## Post processing - Feature #1344: Extend the scope of OutputDeformedMesh: so far only Medit format was supported for no strong reason. - Bug #1345: Nasty bug found in OutputDeformedMesh. - Support #1355: Speed-up post-processing ## Build - Support #1365: Propose Docker build for Ubuntu, Fedora in debug and release mode. - Support #1362: CMake: upgrade to minimum 3.9 to get rid of LTO related CMake warnings. ## Developer tools - Feature #1358: Introduce proper Valgrind suppression file. - Support #1349: Update Catch to v2.4.0. ## XCode - Support #1367: Update some XCode templates. - Support #1364: Update XCode to the new separation of debug and release mode in third party library. - Support #1356: Update warnings: XCode 10 introduced new clang warnings.
    41decd27 · Issue tag v18.47. ·
  • v18.36   ## Compilation - Design #1335: Remove MOREFEM_CHECK_NAN_AND_INF macro as it is currently too severe. - Support #1330: std::optional is not yet supported by Apple Clang, and poorly by g++ 7 / libstdc++. So at the moment boost alternative is used; this ticket remains open as Boost is hopefully only a temporary fix. ## Core - Bug #1334: TimeDependencyPolicy: substitute properly the environment variables. ## Operators - Profile #1189: In the case of operators for which solution unknown list and test unknown list are identical, storage and computation are no longer duplicated. ## ParameterInstances - Bug #1332: Solid: improve the error message when an accessor is called for an undefined solid data. ## FormulationSolver - Bug #1340: Exceptions thrown in functions fed to PETSc Newton mechanism couldn't be caught correctly in external models due to libc++-abi issue, leading to messy error messages at the end of the program. Now the default provided such functions catch internally such exceptions and convert them into a PETSc error code; a macro MOREFEM_NO_TRAP_SNES_EXCEPTION has been added to enable former behaviour. ## Tests - Design #1333: Introduce in DomainManager a friendship to enable lightweight creation of domains in test. ## CMake - Support #1341: CMake: propagate properly compilation definitions to external projects. - Support #1339: CMake: do not use PROJECT_NAME while defining the macro MOREFEM_INSTALL_DIR. - Support #1329: CMake: reduce the number of Pre cache files.
    e02b381a · Issue tag v18.36. ·
  • v18.32   ## Utilities - Support #1316: In LuaOptionFile interpretation, specify the duplicated fields when there are some (this ease tremendously 'debugging' of Lua files). ## CMake - Bug #1319: Modify the CMake build so that test tools library is properly exported. ## XCode - Support #1326: Remove all the test targets and schemes: the command line is much more appropriate for these, and this way the XCode environment is much less cluttered (especially for external models that add many targets to the base ones). ## Third party - Support #1325: Update Catch2 and the script that update it. This script ha been put in Internal folder, as only integration manager should use it (and it is a *very* crude one). ## Miscellaneous - Feature #1327: Provide a (crude) Dockerfile to build a Docker image easily. This assumes an image of third party libraries compiled properly is available locally. Now an image of each tag will be registered in the gitlab registry. - Support #1318 - #1320 - #1322: Remove mesh and fiber files that were only used for external models (they have been added in these models). - Documentation #1328: Fix Doxygen warnings introduced in previous release.
    fee62e29 · Issue tag v18.32. ·