Tags give the ability to mark specific points in history as being important
  • v21.31
    79e9d184 · Issue tag v21.31. ·
    Release Tag v21.31
    ## ThirdParty
    
    - Feature #1666: Add a function to symmetrize a `LocalMatrix` which left-up part is filled.
    - Support #1674: Add new files to disable locally -Wunused-member-function and -Wunused-function warnings.
    
    ## Core
    
    - Bug #1668: some inadequate entries in the Lua input file triggered an assert rather than an exception.
    - Support #1671: Add a function which returns the ParallelismStrategy from a MoReFEMData.
    - __Feature #1673__: InputData: extend `CoordsMatchingFile` (formerly `InterpolationFile`) so that there may be several in the Lua file.
    
    ## FiniteElement
    
    - Bug #1667: Fix an assert that was triggered when several boundary conditions were involved for a same `GeometricElt`.
    - Design #1672: Modify the way `GodOfDof` are initialized within a `Model`: instead of creating them sequentially, create each of them in parallel layer by layer. The way `NodeBearer` needed for `FromCoordsMatching` interpolator is thus much less clunky and #1669 wasn't working with the old way to build them.
    - Feature #1670: Internal: add a utility to find a `FEltSpace` without knowing the `GodOfDof`.
    
    ## Operator
    
    - Feature #1669: Extend CoordsMatching interpolator so that interpolator may be defined in both directions.
    
    ## Miscellaneous
    
    - Bug #1663: XCodeConfig: remove the link to libmpi_cxx, removed from the third party libraries required for v21.27.
    - Design #1665: Add throughout the code compile-time tests to check whether `parent` alias is truly a parent.
  • v21.27
    bb7ddd1f · Issue tag v21.27. ·
    Release Tag v21.27
    Needs ThirdPartyCompilationFactory [v21.27.2](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/releases/v21.27.2) - as Scotch is now expected in place of Parmetis.
    
    ## ThirdParty
    
    - __Support #1634__: Replace Parmetis by PT-Scotch.
    - Design #1661: Remove reference to Openmpi C++ binding.
    - Design #1662: Put back librt dependency.
    
    ## FormulationSolver
    
    - __Design #1658__: VariationalFormulation: SupplInit() should take a MoReFEMData rather than an InputData
    
    ## Operators
    
    - Support #1654: Add a test about UpdateCauchyGreenTensor operator.
    - Design #1659: Passing the list of `Unknown` by a const reference was dangerous.
    
    ## Miscellaneous
    
    - Support #1655: Extend UpdateLuaFile so that it may now work even if in the first read the fields present in the file do not match the tuple (previously you had to put them there manually, and the program would add the adequate comments).
    - Support #1656: More renaming for `input_parameter_data`.
  • v21.22
    93ab7604 · Issue tag v21.22. ·
    Release Tag v21.22
    ## Utilities
    
    - Support #1637: Add new skill "Divisible" for StrongTypes.
    - Design #1639: Strong type constructors are now `constexpr`.
    - __Design #1640__: Strong types are now used for component-related integers.
    - __Design #1641__: Most of the `unsigned int` in the code have been replaced by `std::size_t`.
    - __Design #1625__: Strong-type for LocalNode index.
    - __Design #1619__: Rename `ExtractParameter`, `ExtractPathParameter`and `SectionOrParameter` to avoid using `Parameter` in it.
    
    ## ThirdParty
    
    - Support #1643 Petsc: add a new viewer introduced in v3.15.
    - Bug #1644: Add a new dependency to librt in Linux for the sake of libmeshb.
    
    ## Geometry
    
    - Support #1638: `ComputeJacobian()` was refactored.
    
    ## Operators
    
    - __Design #1632__: Refactor heavily `FromCoordsMatching` to limit vastly the amount of data required for prepartitioned data case.
    
    ## Models
    
    - __Design #1646__: Change the template parameter used in the `MainEnsightOutput` function.
    
    ## Tests
    
    - Support #1631: Tests: Simplify the passing of Lua file to a main (thus limiting the number of main to write).
    - Support #1636: Update TypeName test to reflect new output from compiler.
    
    ## CI
    
    - Bug #1642: There was a bug in some CI scripts that stemmed from a bug in latest official Fedora image; a patch was applied to circumvent it.
    - Bug #1648: Robustify the script that interprets Valgrind log - it didn't support previously numbers written in american format with comma separators for thousands.
    - Support #1647: Extend the interpret_valgrind_log.py file so that it may be used directly (for debug purpose only).
    - Support #1649: More Valgrind warnings suppressed.
    - Support #1650: Remove linux tags in yaml (in the transition of using shared runners, which cause much less hassle in maintainance).
    
    ## Miscellaneous
    
    - Support #1635: Deal with new warnings from AppleClang.
    
    ## Clean-up of issues
    
    On the 22th of April 2021 I iterate through the issues and some were not properly closed:
    
    - Feature #1473: Introduce the Input Data "Parallelism" which tells the parallelism policy to use
    - Support #1549: Coords storage in Interface was too brittle.
    - Bug #1399: Ensight Output issue that was solved long ago but left opened for feedback.
  • v21.16
    def99555 · Issue v21.16. ·
    Release Tag v21.16
    ## Utilities
    
    - Bug #1621: StrongType::Addable didn't work if one of theargument was constant.
    - Support #1622: StrongType: introduce a facility to determinate whether a class is a strong type or not.
    - Support #1623: StrongType: extend Comparable to encompass all the operators.
    - Support #1627: Numeric: extend IsZero to also work in integral types (for metaprogramming purposes).
    
    ## ThirdParty
    
    - Support #1626: MatrixPattern: add a functionality to visualize it.
    
    ## Geometry
    
    - Design #1628: Interface: decommission GetVertexCoordsIndexList().
    - Support #1629: Interface: make OrderCoordsList a free function.
    
    ## FiniteElement
    
    - Support #1620: Use StrongType for NodeBearer program-wise index.
    
    ## Operators
    
    - Feature #1577: Refactor FromVertexMatching interpolator, so that it works with the Dof initialized after the reduction (it was broken in v20.52).
    
    ## Test / CI
    
    - Bug #1614: LuaOptionFile: redundancy test was working for wrong reasons...
    - Support #1616: create sa new stage for IWYU and clang-format.
    
    ## PostProcessing
    
    - Bug #1618: Post processing bug when more than one unknown solution is written.
  • v21.06
    7e2e7fb4 · Issue tag v21.06. ·
    Release v21.06
  • v21.02
    23ff0e4d · Issue tag v21.02. ·
    Release v21.02
  • v20.52
    29a0348d · Issue tag v20.52. ·
    Release v20.52
  • v20.27
    c2fad6a7 · Issue tag 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) ).
  • v20.18
    42124f27 · Issue tag 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.
  • v20.17
    42fccab6 · Issue tag 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.
  • v20.12
    aa8db159 · Issue tag 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).
  • v20.10
    4b33a69a · Issue tag 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.
  • v19.52
    7fdfa9c4 · Issue tag 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)
  • v19.48
    eb27a2cc · #1498 Issue tag 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.
  • v19.45.1
    197bed77 · Issue tag v19.45.1 ·
    - Documentation #1497: Fix a tiny bug that prevented run of GitlabPages.
  • v19.45
    0fe8856d · Issue tag 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.
  • v19.36
    5faaebd7 · Issue tag 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.
  • v19.30
    e4e468fe · Issue tag 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.
  • v19.29
    016a7a1f · Issue tag v19.29. ·
    Release 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.
  • v19.27.2
    4657415c · Issue tag 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).