Mentions légales du service

Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v25.34.1
    2a80ae86 · Issue v25.34.1. ·
    Release: v25.34.1
    **Note:** the ".1" is due to a very minor fix suggested by Sonarqube.
    
    ## Utilities
    
    - Support #2038: `Environment`: add an enum class to determine more finely what to do when environment variable already exists.
    
    ## Core
    
    - Design #2045: Make classes of `GlobalMatrixWithCoefficient` and `GlobalVectorWithCoefficient`.
    
    ## Geometry
    
    - Feature #248: Enable support for P2/Q2 geometry.
    
    ## Operators
    
    - __Feature #2029__: Introduce optional shared memory parallelism.
    - __Design #2033__: Render the `Domain` argument in `Assemble()` calls mandatory.
    - Feature #2027: Create ParameterOperator/WeightedJacobian operator.
    - __Design #2037__: `GlobalVariationalOperator`: add a field in the model settings to specify the `Domain` upon which `Assemble` may be called.
    - __Performance #2035__: In `Assemble()`, replace multiple calls to `MatSetValue` by one call to `MatSetValues`.
    - Support #2061: Introduce a function to ease loops over threads.
    
    ## Parameters
    
    - Design #2048: Lift ambiguity around `GetDomain()` method for `ParameterAtQuadPt`
    
    ## Variational formulation
    
    - Design #2044: `VariationalFormulation`: introduce a concept to enable a variation in number of arguments used in `ComputeTangent()` method.
    
    ## Model
    
    - Documentation #2052: Update model tutorial.
    
    ## Tools
    
    - Support #2031: Extend configure script to enable release mode with debug info.
    - Support #2046: Add a macro to handle `noexcept` in functions and methods with assertions.
    - Support #2057: CI: provide two versions of the Documentation in gitlab pages: the monothreaded and the multithreaded ones..
    - Support #2055: Improve slightly new_file script so that includes are sort in `MoReFEM` and (if external model) _ProjectName_ blocks.
    - Support #2054: CI: handle properly the tests related to shared memory parallelism.
    - Documentation #2040: Doxygen: update Doxygen file and extend it so there are two generated documentations in CI: one for monothreaded and another for multithreaded.
    - Support #2036: Provide a mechanism to time profile the time spent in main sections of the code, using CTrack external library.
    
    ## Tests
    
    - Design #2049: Model instances in test suite: always check with 1 and 8 threads if `MOREFEM_WITH_TBB` is activated.
    - Design #2047: In `Model` and `ModelNoInputData` test fixtures, catch exceptions and assertions to avoid puzzling error messages.
    
    ## Miscellaneous
    
    - Bug #2051: Fix compilation with shared libraries.
    
    ## Ongoing
    
    - Performance #2032: When possible, replace `std::pow` by more efficient operations.
  • v25.34
    b7549a5d · Issue v25.34. ·
    ## Utilities
    
    - Support #2038: `Environment`: add an enum class to determine more finely what to do when environment variable already exists.
    
    ## Core
    
    - Design #2045: Make classes of `GlobalMatrixWithCoefficient` and `GlobalVectorWithCoefficient`.
    
    ## Geometry
    
    - Feature #248: Enable support for P2/Q2 geometry.
    
    ## Operators
    
    - __Feature #2029__: Introduce optional shared memory parallelism.
    - __Design #2033__: Render the `Domain` argument in `Assemble()` calls mandatory.
    - Feature #2027: Create ParameterOperator/WeightedJacobian operator.
    - __Design #2037__: `GlobalVariationalOperator`: add a field in the model settings to specify the `Domain` upon which `Assemble` may be called.
    - __Performance #2035__: In `Assemble()`, replace multiple calls to `MatSetValue` by one call to `MatSetValues`.
    - Support #2061: Introduce a function to ease loops over threads.
    
    ## Parameters
    
    - Design #2048: Lift ambiguity around `GetDomain()` method for `ParameterAtQuadPt`
    
    ## Variational formulation
    
    - Design #2044: `VariationalFormulation`: introduce a concept to enable a variation in number of arguments used in `ComputeTangent()` method.
    
    ## Model
    
    - Documentation #2052: Update model tutorial.
    
    ## Tools
    
    - Support #2031: Extend configure script to enable release mode with debug info.
    - Support #2046: Add a macro to handle `noexcept` in functions and methods with assertions.
    - Support #2057: CI: provide two versions of the Documentation in gitlab pages: the monothreaded and the multithreaded ones..
    - Support #2055: Improve slightly new_file script so that includes are sort in `MoReFEM` and (if external model) _ProjectName_ blocks.
    - Support #2054: CI: handle properly the tests related to shared memory parallelism.
    - Documentation #2040: Doxygen: update Doxygen file and extend it so there are two generated documentations in CI: one for monothreaded and another for multithreaded.
    - Support #2036: Provide a mechanism to time profile the time spent in main sections of the code, using CTrack external library.
    
    ## Tests
    
    - Design #2049: Model instances in test suite: always check with 1 and 8 threads if `MOREFEM_WITH_TBB` is activated.
    - Design #2047: In `Model` and `ModelNoInputData` test fixtures, catch exceptions and assertions to avoid puzzling error messages.
    
    ## Miscellaneous
    
    - Bug #2051: Fix compilation with shared libraries.
    
    ## Ongoing
    
    - Performance #2032: When possible, replace `std::pow` by more efficient operations.
  • l
    b7549a5d · Issue v25.34. ·
  • show
    9e56aebb · Issue tag v25.15. ·
    **Note:** there was something wrong with previous tag/release (reference to commit that no longer exists).
    I therefore re-issued it to fix this issue.
    
    ## Utilities
    
    - Support #2020: Provide a way to give a unique id available at compile-time.
    
    ## ThirdParty
    
    - Support #2004: Extend `MatrixInfo` so that it works as well for `GlobalMatrixOpResult`.
    - Support #2005: PETSc: add wrapper to extract nnz pattern from an existing matrix (which might be a `GlobalMatrixOpResult` for which pattern was never
    computed in the first place).
    - Support #2021: Update to latest versions of ThirdParty libraries and to std=c++23 (if gcc supports it).
    
    ## Core
    
    - Support #2017: Provide a facility `Advanced::NumberingSubsetNS::ComputeKey()` to compute a hash for two `NumberingSubset`.
    - Support #2011: Add a debug function to check a global matrix properly respects its `NumberingSubset`.
    
    ## Geometry
    
    - Feature #162: Provide a facility to enable union or intersection of existing `Domain`.
    - Documentation #2009: Write documentation for `Domain`.
    
    ## Finite element
    
    - Support #2013: `Dof`: keep information about the component to which it is related.
    - __Feature #2016__: Provide a new way to force connectivity between `Dof` encompassed by two pairs of (`Unknown`, `Domain`).
    (used in Cardiac model, where we want all displacement `Dof` of the cavity to be connected to the pressure at the closure point).
    - Feature #2008: Ensure newly introduced `AmalgamatedDomain` might be used to define a `FEltSpace` if it fulfills its prerequisite.
    
    ## Operators
    
    - __Support #2007__: Improve propagation of issue from `ExtractLocalDofValues()`.
    - Feature #2014: Introduce `NumberingSubsetInterpolator`.
    - Support #2012: `SubsetOrSuperset`: get rid of useless lines.
    
    ## FormulationSolver
    
    - __Design / bug #1997__: Contrary to what the interface implied, calling `Solve` methods upon different `NumberingSubset` didn't work previously.
    - Support #2001: `std::source_location` information is now better propagated in most methods of `VariationalFormulation`.
    - Support #2002: Add a `WriteVector` which generalizes slightly `WriteSolution` (which itself has been revamped).
    - Bug #2024: Fix a bug in the naming of output files (this was recently introduced...)
    
    ## Models
    
    - __Design #2019__: Replace the enum classes in models.
    - Bug #2022: Safeties were missing in models with restart mode when a non zero restart time index was given but the parallelism strategy was not `RunFromPreprocessed`, leading to possible jobs failure for restart job that provided the wrong policy. These models have been fixed and safeties have been set.
    - Documentation #2023: Update documentation to be up-to-date with modifications from upcoming v25.14.
    
    ## CI
    
    - Support #2003: Modify an option to work around the mpi issue that plagues too often the CI on macOS.
    - Support #2026: Add tag `v2025` to use new Inria shared runners.
    
    ## Tools
    
    - Support #2028: README for clang-tidy has been updated to provide a patch for some errors you may get on macOS.
    
    ## Maintainers
    
    - Support #2015: A private project has been created to check the project generated by following the model tutorial still works.
  • v25.15
    9e56aebb · Issue tag v25.15. ·
    Release: v25.15
    **Note:** there was something wrong with previous tag/release (reference to commit that no longer exists).
    I therefore re-issued it to fix this issue.
    
    ## Utilities
    
    - Support #2020: Provide a way to give a unique id available at compile-time.
    
    ## ThirdParty
    
    - Support #2004: Extend `MatrixInfo` so that it works as well for `GlobalMatrixOpResult`.
    - Support #2005: PETSc: add wrapper to extract nnz pattern from an existing matrix (which might be a `GlobalMatrixOpResult` for which pattern was never
    computed in the first place).
    - Support #2021: Update to latest versions of ThirdParty libraries and to std=c++23 (if gcc supports it).
    
    ## Core
    
    - Support #2017: Provide a facility `Advanced::NumberingSubsetNS::ComputeKey()` to compute a hash for two `NumberingSubset`.
    - Support #2011: Add a debug function to check a global matrix properly respects its `NumberingSubset`.
    
    ## Geometry
    
    - Feature #162: Provide a facility to enable union or intersection of existing `Domain`.
    - Documentation #2009: Write documentation for `Domain`.
    
    ## Finite element
    
    - Support #2013: `Dof`: keep information about the component to which it is related.
    - __Feature #2016__: Provide a new way to force connectivity between `Dof` encompassed by two pairs of (`Unknown`, `Domain`).
    (used in Cardiac model, where we want all displacement `Dof` of the cavity to be connected to the pressure at the closure point).
    - Feature #2008: Ensure newly introduced `AmalgamatedDomain` might be used to define a `FEltSpace` if it fulfills its prerequisite.
    
    ## Operators
    
    - __Support #2007__: Improve propagation of issue from `ExtractLocalDofValues()`.
    - Feature #2014: Introduce `NumberingSubsetInterpolator`.
    - Support #2012: `SubsetOrSuperset`: get rid of useless lines.
    
    ## FormulationSolver
    
    - __Design / bug #1997__: Contrary to what the interface implied, calling `Solve` methods upon different `NumberingSubset` didn't work previously.
    - Support #2001: `std::source_location` information is now better propagated in most methods of `VariationalFormulation`.
    - Support #2002: Add a `WriteVector` which generalizes slightly `WriteSolution` (which itself has been revamped).
    - Bug #2024: Fix a bug in the naming of output files (this was recently introduced...)
    
    ## Models
    
    - __Design #2019__: Replace the enum classes in models.
    - Bug #2022: Safeties were missing in models with restart mode when a non zero restart time index was given but the parallelism strategy was not `RunFromPreprocessed`, leading to possible jobs failure for restart job that provided the wrong policy. These models have been fixed and safeties have been set.
    - Documentation #2023: Update documentation to be up-to-date with modifications from upcoming v25.14.
    
    ## CI
    
    - Support #2003: Modify an option to work around the mpi issue that plagues too often the CI on macOS.
    - Support #2026: Add tag `v2025` to use new Inria shared runners.
    
    ## Tools
    
    - Support #2028: README for clang-tidy has been updated to provide a patch for some errors you may get on macOS.
    
    ## Maintainers
    
    - Support #2015: A private project has been created to check the project generated by following the model tutorial still works.
  • v24.51
    23a74eee · Issue tag v24.51. ·
    Release: v24.51
    ## Utilities
    
    - Support #1973: Add a facility to enable use of custom-made objects in `std::format`. Use it for `StrongType`.
    - Support #1983: Add a utilities function to generate a key for a `std::source_location`.
    
    ## Third Party
    
    - Support #1982: Provide a very thin wrapper over `Eigen::internal::set_is_malloc_allowed()` to help find where the issue happen and fix it more efficiently.
    - __Design #1990__: Replace several `PetscInt` by strong types; use `PetscInt` rather than `std::size_t` for strong types related to Petsc linear algebra.
    
    ## Core
    
    - Design #1993: Remove `Heart` from input data: its place is in cardiac mechanics model, not in core library.
    
    ## Finite element
    
    - Design / bug #1980: fix a bug with variants poorly used in `ForUnknownList::ComputeLocalFEltSpaceData`; redesign to avoid checking repeatedly conditions which yield always the same result.
    - Design / bug #1987: In `ForUnknownList`, `AllocateGradientFEltPhi` should be used only when mesh and geometric element are the same dimension
    
    ## Parameters
    
    - __Design #1989__: Remove time manager template parameter from the instances of `InitScalarParameterFromInputData`, `InitVectorialParameterFromInputData`, `InitMatricialParameterFromInputData` and `Init3DCompoundParameterFromInputData` that also provides `morefem_data` argument.
    
    ## Operators
    
    - Test #1936: Add test for visco-elasticity policy.
    - Bug #1975: A matrix was not properly initialized in visco-elasticity policy.
    - Support #1978: Remove stupid `return` in `void` methods.
    - Design #1977: Add PETSc wrappers for matrix initialisation with a matrix pattern and the associated values.
    - Support #1986: Ensure no Eigen memory allocation in the bulk of computation.
    
    ## Model
    
    - Documentation #1996: Fix the model tutorial to take into account newly introduced strong type.
    - Bug #1981: PETSc changed the API to deactivate the divergence check in its v3.22; this broke non linear shell model which counted on it.
    
    ## CI
    
    - CI #1995: remove Valgrind check on Stokes model as it gets stuck.
    
    ## Tools
    
    - Bug #1994: Fix errors in the `ModelSettings.cpp` file generated by `new_file.py` script.
  • v24.42
    ec9aaecf · Issue tag v24.42. ·
    Release: v24.42
    **WARNING:** You need the [v24.27](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/tags/v24.27) version of third party libraries - Eigen is now used instead of Xtensor. v24.41 is to be preferred if possible.
    
    ## Utilities
    
    - Design #1934: Broaden a bit `StrongType` generic class.
    - Support #1956: Use disabled-macro-expansion pragma wherever this warning is used.
    - Bug #1961: Fix an inaccurate exception message related to `ModelSettings::SetDescription()`.
    - Support #1968: Add a function to provide relative comparison of floating points.
    
    ## ThirdParty
    
    - Support #1946: Eigen: add a facility to tell whether an object is an instantiation of an `Eigen::Matrix`.
    - __Design #1941 - #1930__: Replace some functions that extract part of a matrix and put it in a smaller one by slicing operations.
    - __Design #1938__: Remove `LocalVector` and `LocalMatrix`: we leverage Eigen possibility to work on the stack when a matrix or
    a vector is not too big, and are therefore no longer using a unique type for local matrix or local vector.
    - __Support #1840__: Replace Xtensor by Eigen.
    
    ## Geometry
    
    - __Design #1933__: use a strong type for geometric element dimension.
    - Support #1948: Refactor slightly `SpatialPoint`.
    - Bug #1955: Fix `LocalCoords` operator== which could fail when both terms were close to but not quite 0.
    - Test #1957: Add test for `LocalCoords`.
    - Test #1947: Write tests related to `DistanceFromMesh`.
    
    ## FiniteElement
    
    - Support #1935: Propagate more `LocalNodeNS::index_type`.
    
    ## Parameter
    
    - Design #1942: `Parameter` must be expanded so that storage type of vector or matrix may be chosen.
    
    ## Operators
    
    - Support #1854: Remove the awkwardly named `CopyTimeDependency` utility class - `if constexpr` does it more expressively!
    - Support #1856: Remove dispatcher class for SecondPiolaKichhoff operator - use C++17/20 new features instead.
    - Design #1953: Remove `GradPhiTauOrthoTauGradPhi` and `GradPhiTauTauGradPhi` operators.
    - Design #1945: `GlobalParameterOperator` implementation was improved.
    - __Design #1937__: In `LocalOperator`: add `Eigen::internal::set_is_malloc_allowed(false);` in all computation sensitive areas..
    - Test #1931 - bug #1965 : Add test for three operators (`Bidomain`, `SurfacicBidomain` and `NonlinearSource`) which have been improved in the process.
    - Support/Bug #1954: actually not a bug: surfacic bidomain operator didn't yield the expected result with gcc, but the reason
    was just related to different hash function for unordered map. Test has been loosen to check content of the matrix is really the same
    but sort differently.
    - Test #1951: Improve the `SameCauchyGreenMixedSolidIncompressibility` test so that all contributions are present.
    - Performance #1929: Local linear algebra: review operations and see those that could be optimized.
    - Bug #1963: Add missing set to 0 for content of a local Eigen matrix.
    - Bug #1967: invariant 1 for 2D was wrong. 2D and 1D have been added in most hyperelatic laws.
    
    ## Tools
    
    - Support #1959: Run clang-tidy 19 (new version with new diagnostics).
    - Support #1943: Extend new_file script to provide creation of an isolated hpp file.
    - Support #1928: In build, provide a way to use `-march=native`.
    - Documentation #1964: update the documentation to set up CI for macOS.
    - Support #1969: activate magic number diagnostic in clang tidy.
    - Support #1971: add a step in integration manager script to automatically update Sonarqube tag.
    
    ## Miscellaneous
    
    - Support #1897: Replace `static_cast<void>` by `[[maybe_unused]]` - was closed as it's done step by step whenever one file containing some is modified.
    - Support #1958: Improve documentation and procedure about how to set up an external model - has been refined while updating AcousticWave, Bidomain(s) and ReactionDiffusion
    external models.
    - Support #1960: Update copyright notice to use the mailing list of maintainers instead of email addresses of Jérôme and me.
    - Support #1962: **On develop branch** label has been renamed **On integration manager branch**.
    - __Support #1966__: Rename `master` branch `main`; the branch which performs full tests is now named `release-candidate`.
  • v24.24
    a68b6866 · Issue tag v24.24. ·
    **WARNING:** You need the [v24.24](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/tags/v24.24) version of third party libraries - Scotch 7 compiled with CMake is now used and the interface is not exactly the same as Scotch 6 compiled with make.
    
    ## Utilities
    
    - Support #1921: Introduce an helper class to mimic `static_assert(false)` (until C++ 23 supports it natively)
    - Support #1927: Numeric: use concept to simplify expressions and fix `DefaultEpsilon`.
    
    ## ThirdParty
    
    - __Design #1847__: Introduce strong type for ranks / processors.
    - __Support #1920__: Update CMake to match the naming used by Scotch's CMake installation.
    - Support #1918: Add static checks to ensure `double` precision is used in third party libraries.
    - Support #1925: Add more suppressions in Valgrind configuration files (related to Openmpi 5).
    
    ## Geometry
    
    - Design #1913: modify some namespace choices - for instance all `RefGeomEltNS` namespace has been put in `Advanced` namespace.
    - Bug #1924: Reading of Ensight file was buggy: the mesh labels were not properly attributed. This was the case only for Ensight meshes generated by MoReFEM (typically for restart mode).
    - __Design #1922__: Strong types for `MeshLabel` index.
    
    ## Finite element
    
    - Design #1917: Make GodOfDof::CreateNodes(Internal::FEltSpaceNS::MatchInterfaceNodeBearer& match_interface_node_bearer) a free function.
    
    ## Operators
    
    - Bug #1908: Fix move bug found by clang-tidy in MITC::None policy.
    
    ## Models
    
    - Bug #1919: Lua files for heat model were incorrect and restart node was actually not checked properly.
    
    ## Tools
    
    - Support #1915: Extend Sonarqube script so that is uses up MoReFEM version, and make it possible to run another branch.
    - Support #1914: clang-format: fine tune the options pertaining to ordering of includes.
    - Bug #1910: Another clang-tidy finding: two branches yield exactly the same code.
    - __Support #1898__: Perform clang-tidy analysis on the whole codebase, and fix or neutralize its warnings. Many changes were done during this operation;
    such as the introduction of new strong types related to linear algebra.
    
    - Support #1909: Remove some content from .docker ignore.
    
    ## CI
    
    - Support #1911: Introduce clang-tidy analysis in CI.
    
    ## Ongoing issues:
    
    - Support #1926: Reactivate Verrou checks. The script has been refreshed but there are still refinements to do to enable the Verrou checks properly without adding a dependency for all builds (the way to neutralize Verrou on a given block requires a `verrou.h` include)
  • v24.20.1
    7a8be132 · Issue v24.20.1 ·
    Release: Tag v24.20.1
    ## ThirdParty
    
    - Bug #1892: `Wrappers::Petsc::Vector` and `Wrappers::Petsc::Matrix` move constructors were faulty (default ones weren't good enough and presented a risk of double deletion).
    - Support #1890: A name information has been added when a `GlobalVector` or a `GlobalMatrix` is created; this might be rather helpful while investigating some types of PETSc issues.
    - __Support #1896__: PETSc: add higher level functions to perform global linear algebra operations that performs `NumberingSubset` checks.
    - Design #1907: Remove `AbstractMatrix::GetGhosts()`.
    - __Design #1889__: PETSc: investigate the behaviour of some matrix operations and make it easier to use.
    
    ## Core
    
    - Design #1893: There is now a singleton that is used to store information extracted from command line flags (needed by #1890).
    - Design #1904: Make more explicit the very specific constructors used for `GlobalMatrix` and `GlobalVector` in `SnesInterface`
    - __Design #1906__: Linear algebra: minor renaming operation.
    
    ## Tests
    
    - Support #1891: A facility to create `NumberingSubset` more easily for simple tests has been added.
    - Support #1894: Test library: change the base dependency for the basic test tools library.
    
    ## Tools
    
    - Support #1902: Make clang-format style file appear explicitly in ExternalTools directory.
    - Documentation #1905: Doxygen: remove basic and advanced documentations.
    - Bug #1909: Remove some content from .docker ignore to accommodate some files that are required by `install` command.
    
    ## CI
    
    - Support #1900: CI: reactivate macOS.
    
    ## Scripts
    
    - Support #1899: Provide a script `Scripts/Tools/generate_automated_blocks_content_in_source_files.py` in charge of filling automatically pre-allocated blocks in source files.
    This may be used to fill copyright notice, Doxygen group information and header guards. The previous script in charge of header guards has been discontinued.
    - Bug #1903: Fix poorly located assert in `UpdateLuaFile` executables.
    - Support #1901: Provide a Python script to create new source files.
  • v24.20
    7669afed · Issue tag v24.20. ·
    ## ThirdParty
    
    - Bug #1892: `Wrappers::Petsc::Vector` and `Wrappers::Petsc::Matrix` move constructors were faulty (default ones weren't good enough and presented a risk of double deletion).
    - Support #1890: A name information has been added when a `GlobalVector` or a `GlobalMatrix` is created; this might be rather helpful while investigating some types of PETSc issues.
    - __Support #1896__: PETSc: add higher level functions to perform global linear algebra operations that performs `NumberingSubset` checks.
    - Design #1907: Remove `AbstractMatrix::GetGhosts()`.
    - __Design #1889__: PETSc: investigate the behaviour of some matrix operations and make it easier to use.
    
    ## Core
    
    - Design #1893: There is now a singleton that is used to store information extracted from command line flags (needed by #1890).
    - Design #1904: Make more explicit the very specific constructors used for `GlobalMatrix` and `GlobalVector` in `SnesInterface`
    - __Design #1906__: Linear algebra: minor renaming operation.
    
    ## Tests
    
    - Support #1891: A facility to create `NumberingSubset` more easily for simple tests has been added.
    - Support #1894: Test library: change the base dependency for the basic test tools library.
    
    ## Tools
    
    - Support #1902: Make clang-format style file appear explicitly in ExternalTools directory.
    - Documentation #1905: Doxygen: remove basic and advanced documentations.
    
    ## CI
    
    - Support #1900: CI: reactivate macOS.
    
    ## Scripts
    
    - Support #1899: Provide a script `Scripts/Tools/generate_automated_blocks_content_in_source_files.py` in charge of filling automatically pre-allocated blocks in source files.
    This may be used to fill copyright notice, Doxygen group information and header guards. The previous script in charge of header guards has been discontinued.
    - Bug #1903: Fix poorly located assert in `UpdateLuaFile` executables.
    - Support #1901: Provide a Python script to create new source files.
  • v24.06
    911c43a8 · Issue tag v24.06. ·
    Release: Tag v24.06
    ## Utilities/Core
    
    - Design #1886: `MoReFEMData`: refactor slightly by moving some content to the parent abstract class - thus enabling to share some functionalities with `MoReFEMDataTest` (that has been moved from Core to Test)
    - __Design #1885__: `InputData`: remove the facilities that are no longer in use now that `ModelSettings` is also present; `ExtractLeafFromInputDataOrModelSettings` have been renamed simply `ExtractLeaf`.
    - Design #1884: Alter the conditions that checks at compile time whether there is an item in `InputData` tuple.
    
    ## Operators
    
    - Bug #1883: Mishap in v24.03: fix for hyperelastic contribution to Second Piola Kirchhoff operator in #1857 was not properly integrated. Tests have been added for more hyperelastic laws.
    - Profiling #1882: Hyperelasticity policy: introduce a check upon (double) factors to avoid computing local matrices that are afterwards multiplied by zero.
    
    ## Tools
    
    - Bug #1881: Update Python scripts to heed new warning that appeared with Python 3.12 (and that will become a full-fledged error in 3.13).
    
    ## Miscellaneous
    
    - Documentation #1887: The licence should be referenced directly in the README.
    - Support #1881: Update Python scripts to heed new warning.
  • v24.04
    bef61912 · Issue tag v24.04. ·
    Release: Tag v24.04
    ## Utilities
    
    - Support #1875: Tuple: add a facility to deduce the type of concatenated tuples
    
    ## Core
    
    - __Design #1878__: `TimeManager` assumed that data such as the finishing time of a model was necessarily handled by the
    input data file. While it is a logical choice for models, in tests it is rather helpful not to have to define
    a Lua file at all; it has therefore been expanded to enable reading these values from `model_settings`. This
    changed implied to change few functions signatures as `model_settings` was not accessible in all cases the
    initialisation of a `TimeManager` may occur.
    - __Design #1864__: In input data, make `NumberingSubset::DoMoveMesh` an optional field. If not present the section
    might be empty; `static_assert` have been added to explain it when it happens.
    
    ## Operators
    
    - Test #1874: ReactionDiffusion: add tests for the three laws handled so far by the library (they were not working n v24.03 and it was not seen in CoreLibrary)
    
    ## VariationalFormulation
    
    - __Design #1877__: VariationalFormulation constructor arguments have been modified:
        * `time_manager`no longer appears, as it is covered by `morefem_data`.
        * `morefem_data` is no longer const, and following coding standards has therefore been moved at the end of the argument list.
    
    ## Miscellaneous
    
    - __Design #1879__: There were inconsistencies for the relative ordering of `ModelSettings` and `InputData`, both in
    template arguments and in functions / methods arguments. Now the choice is to always put `ModelSettings`
    first, except in the very specific case in which a template function may derive implicitly `ModelSettings`
    but not `InputData` from the function / method arguments.
  • list
    bef61912 · Issue tag v24.04. ·
  • v24.03
    e2ea1fc3 · Issue tag v24.03. ·
    Release: Tag v24.03
    ## Utilities
    
    - Bug #1846: Refactor slightly `OptionFile` so that keys with digits inside may be accepted.
    - Support #1865: Introduce dedicated exceptions for `Directory`, and add `source_location` argument in all constructors.
    - Support #1867: Introduce an `Assertion` class in debug mode when we want more information than the ones provided by an `assert`.
    - Documentation #1868: Add wiki note about error handling (that also explains `Assertion` class introduced in #1867).
    
    ## ThirdParty
    
    - Design #1871: A quick check on wrappers was performed after an avoidable memory allocation was spotted for `Vector::GetValue()`; no other such blunder were found. Unit tests related to `Petsc::Vector` have been added and documentation of some methods has been slightly improved.
    - Design #1872: `Petsc::Vector::UpdateGhosts()` behaviour has been modified: when applied on a non ghosted vector it just doesn nothing (prior to this issue the behaviour was up to PETSc and was not the same for sequential and mpi without ghost).
    
    ## Core
    
    - Design #1859 - #1866 - #1852: Make `TimeManager` leaner, with as much as possible work put at compile time. It is now part of `MoReFEMData` class.
    
    ## FiniteElement
    
    - Bug #1837: Take properly into account the `NumberingSubset` information in `NodeBearer` connectivity for a parallel run: for advanced models two `NodeBearer` may be connected for a given `NumberingSubset` but not for another.
    
    ## Operators
    
    - Bug #1857: There were bugs in `ComputeChainRule` for hyperelastic laws that have been solved by Jérôme. Tests have been expanded to cover them.
    
    ## Tests / CI
    
    - Bug #1870: Now when there are differences between obtained and expected values for global linear algebra enough digits are printed for these values.
    - Support #1869: Add `interruptible` for CI jobs.
    
    ## Tooling
    
    - Bug #1835: Script count_number_of_lines now yield properly a different output depending whether tests and embedded
    models are included or not.
    - Support #1844: Add two suppressions for Valgrind related to two PETSc functions. Lots of new ones appeared when in CI I upgraded the third party libraries to Openmpi 5 and have been tackled by a complete overhaul of Openmpi related suppression file.
    
    ## Miscellaneous
    
    - Bug #1862: Various small fixes found while updating `CardiacMechanics` model
    
    ## Onjoing issues.
    
    - Bug #1837: Investigate the initialization issue in parallel found in the CardiacMechanics model. Probably fully solved but the `CardiacMechanics` model must be updated to work with this MoReFEM release before closing it.
    - Design #1855: Script header guards: Stop deleting the headline comment with \file and Doxygen groups information. Fully done but the issue encompass other improvements for this script that are not yet tackled.
    - Support #1615: Fix code smells found by Sonarqube.
    
    ## In standby
    
    - Support #1858: gcc wrongfully doesn't support properly concepts in template template parameters. A macro has been introduced to circumvent this until gcc is working as expected.
  • v23.45
    58320968 · Issue tag v23.45 ·
    Release: v23.45
    **Warning:** Make sure to use very recent compilers (XCode 15 for Apple Clang for instance) - #1686 was a long standing issue that was a long time in standby waiting for support for a new C++ 20 feature that is at last here.
    
    ## Utilities
    
    - __Support #1686__: Use C++ 20 `std::source_location` rather than macros __FILE__ and __LINE__.
    - Support #1841: Introduce a macro to avoid repetition when using C++ 20 `requires`.
    
    ## Operators
    
    - __Support #1821__: Refactor Hyperelastic laws and invariant management.
    
    ## CI
    
    - Support #1843: CI - Update Doxygen-related jobs (more recent Doxygen used and few filters added).
    
    ## Tooling
    
    - Bug #1845: Fix issues found by Sonarqube for release v23.45. Also suppress two new memory leaks from third party.
  • v23.37
    a89f3fb2 · Issue tag v23.37. ·
    Release: v23.37
    ## Utilities
    
    - __Design #1796__: InputData: separate fields that are truly modifiable by the end user and those that should be set up by the model author.
    - Design #1826: Refine #1796 by putting `ModelSettings` in `MoReFEMData` rather than in `Model`.
    - Design #1811: Refactor slightly creation of default Lua file if none was found on root processor
    - Bug #1798: `TupleIteration::ActIfTaggedSection` wasn't working as expected in an edge case... but it has been removed entirely in the course of #1796.
    - Documentation #1804: Create a Wiki explaining the input data, reflecting state following #1796.
    - Test #1832: Add a test about IndexOf for a tuple; make it work for an empty tuple as well.
    
    ## ThirdParty
    
    - __Design #1800__: Fix API changes from third party libraries (mostly PETSc). One of the most annoying is that PETSc has "merged" two macros values - so most recent versions of PETSc with MoReFEM prior to this fix won't compile as a template specialization upon PETSc macro value will be found twice.
    - Support #1797: Add some error values checks in a Slepc test to please clang static analysis.
    
    ## Core
    
    - Design #1808: Define a specific `TimeManager` policy for static models.
    - __Design #1807__: TransientSource in Lua files has been renamed: VectorialTransientSource or ScalarTransientSource.
    - __Design #1806__: Remove `Name` leaf  in `BoundaryCondition` section.
    - Design #1805: InputData: replace the `Impl` namespaces used so far by the more usual `Internal` one.
    - __Design #1750__: Make `MoReFEMData` a concept to reduce the risk of mishap with `InputData` (which is a component of `MoReFEMData`)
    - Design #1822: Modify `MoReFEMData` slightly so that it might be defined without a `InputData` Lua file.
    
    ## Geometry
    
    - Design #1810: Move `CreateMeshDataDirectory()` from `Model` into `Geometry`.
    
    ## Parameter
    
    - Design #1831: Modify `Parameter` initialization facilities so that it works whatever the repartition of related input data leaves between `InputData` and `ModelSettings` objects.
    
    ## OperatorInstances
    
    - Support / Test #1819: Slight refactoring of hyperelastic laws, with writing of new tests for them. This ticket has been expanded in #1820 and #1821, to be handled in next release.
    
    ## FormulationSolver
    
    - Bug #1705 (fix forgotten case in previous release): Also neutralize parallel Mumps for gcc compiler on macOS.
    
    ## Model
    
    - Documentation #1827 - #1717: Update the model tutorial to be up-to-date with new code. Move it in the Wiki directory.
    
    ## Post-processing
    
    - __Support #1801__: `MainEnsightOutput` now takes the model as template argument, not just the `InputData`.
    
    ## Tooling
    
    - __Design #1809__: CMake: modify dependencies of post-processing or test libraries.
    - Design #1813: Use CMake WHOLE_ARCHIVE option instead of the manual one used so far to deal with proper symbol retention in static libraries.
    - Support #1814: Add some warnings exclusion options for third-party that appeared with g++ 13.
    - Support #1812: Deactivate entirely new clang warning `-Wunsafe-buffer-usage` (bajillions of false positives, included in innocuous lines).
    - Support #1834: Add a script to help the integration manager they didn't forget to mention a ticket somewhere (on Gitlab, in commits or in Changelog).
    
    ## Miscellaneous
    
    - __Support #1815__: Various slight refactorings throughout the code.
    - Support #1816: Inline all namespaces, this making the code more readable.
  • v23.11.2
    56a75c6e · Issue tag v23.11.2. ·
    Release: v23.11.2
    # v23.11.2
    
    - Bug #1795: One include directory was not properly propagated when using `configure_cmake_external_model.py`, the script to install external models.
    - Support #0: Update `HelpToUpgrade.md` file to reflect some evolutions that were forgotten in v23.11 and v23.11.1.
    
    # From v23.11.1
    
    ## ThirdParty
    
    - Bug #1794: Fix Valgrind issues (which were not related to the library itself).
    
    # From v23.11
    
    Tests for this version require an up-to-date [installation of third party libraries](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory) (v23.10): they introduce a solver that was not installed by previous releases.
    
    ## Utilities
    
    - __Design #1755__: Refactor `InputData` to make the code more straightforward (most of it was written before the niceties I used in the refactroring were introduced in the language).
    - __Design #1771__: Filesystem: substitute environment variables in the constructor directly
    - Bug #1773: Robustify the handling of trailing slash for `FilesystemNS::Directory` objects.
    - Support #1759: provide a `tuple_element_with_fallback` utility which is a bit more forgiving than `std::tuple_element` which provides directly a compilation error in case specified index is invalid. This is solely to help in some metaprogramming edge cases - most of the time keep you should keep using `std::tuple_element`!
    - Design #1760: C++20 Concepts were introduced with this release; some implementation choices were made in the context of this ticket (using `Concept` namespace for instance - we will reevaluate later if this is the most adapted way to mark them or not).
    - Support #1761: add a policy to add quotes to each element for `PrintContainer` utility.
    - Support #1770: Filesystem: add a function to check whether a directory is inside another or not.
    - Support #1779: Extend and rename `ReadSimpleBinaryFile` and add more safeties.
    - __Design #1780__: Extend `InputData` to offer the possibility to extract a subsection and to interact directly with a section. Also place this and `ExtractLeaf()` directly in MoReFEM namespace.
    - __Support #1784__: Rename `InputDataNS::Extract` `InputDataNS::ExtractLeaf`.
    
    ## ThirdParty
    
    - Support #1757: choose smallest eigenvalues first by default in Slepc wrapper.
    - Bug - Documentation #1758: Slepc was not properly taken into account when generating Doxygen documentation.
    - Bug #1769: Despite a comment warning not to forget it, a data attribute was added in `Wrappers::Petsc::Vector` some time ago but the copy operator and the `Swap` function were not updated accordingly.
    - Documentation #1778: Doxygen dox files have been slightly modified to enable inclusing of links to the documentation in the Documentation/Wiki directory.
    - Test #1767: Enrich PetscVectorIO test by adding some cases which weren't covered.
    - Design #1775: Slepc: extend the API to enable choice of underlying solver.
    - Design #730: Use a faactory th handle the different possible solvers for PETSc.
    - Bug #1790: Update `UpdateLua` facilities to make them work with recent changes.
    - Support #1786: Use include-what-you-use version 0.19 on the codebase.
    - Support #1785: Add optional support for external dependencies in PETSc (solvers Mumps, SuiteSparse and SuperLU_dist).
    - Support #1789 Solver: add an attribute to tell whether the solver supports parallel run or not.
    - Support #1793: Update Valgrind suppression files.
    
    ## Core
    
    - Design #1764: Move the interpreter of `TimeIterationFile` from `PostProcessing` to `Core`. The reason is that I needed it for restart (see #1745).
    - __Design #1762__: Modify the class so that we are absolutely sure no output may be overriden by mistake.
    - __Bug / Design #1763__: Modify the interface of `VariableTimeStep` policy; expand greatly the cases checked in the tests.
    
    ## Geometry
    
    - Design #1756: slight refactoring for topology and orientations.
    
    ## FiniteElement
    
    - Design #1788: Use same naming for boundary condition namespace everywhere.
    
    ## FormulationSolver
    
    - Design #1776: Refactor unreasonable `VariationalFormulation::InitializeVectorSystemSolution()` interface which two overloads didn't encompass the same functionalities.
    - Support #1781: In Snes class, remove `SNESConvergedReason Snes::GetSnesConvergenceReason()` which is already covered by much cleaner methods
    
    ## Model
    
    - Feature #1745 - #1746 - #1747: Implement restart mode.
    - Documentation #1774: Write a wiki entry for restart mode.
    - Feature #1791: Add an option to generate the Lua file without the comments explaining each field.
    
    ## Tests
    
    - Support #1564: Rationalize the output directories used by tests and model instances so that it is straightforward to track which directory is related to a given test.
    - Design #1765: Change the way tests are called in CMake to make it more concise, less error prone... and less puzzling for a newcomer!
    
    ## ModelInstances
    
    - Design #1777: Use the same naming convention everywhere (no prefix for `VariationalFormulation` and `Model` - namespaces already do the job).
    
    ## Still in progress
    
    - Feature #248: A warning now tells explicitly that P2/Q2 geometric elements aren't supported yet.
    - Design #1787: Better error handling when some data from the input file aren't correct.
    - Support #1783: Add support for more solvers from PETSc.
  • v23.11.1
    c0a248bc · Issue tag v23.11.1. ·
    # v23.11.1
    
    ## ThirdParty
    
    - Bug #1794: Fix Valgrind issues (which were not related to the library itself).
    
    # And from v23.11:
    
    Tests for this version require an up-to-date [installation of third party libraries](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory) (v23.10): they introduce a solver that was not installed by previous releases.
    
    ## Utilities
    
    - Design #1755: Refactor `InputData` to make the code more straightforward (most of it was written before the niceties I used in the refactroring were introduced in the language).
    - __Design #1771__: Filesystem: substitute environment variables in the constructor directly
    - Bug #1773: Robustify the handling of trailing slash for `FilesystemNS::Directory` objects.
    - Support #1759: provide a `tuple_element_with_fallback` utility which is a bit more forgiving than `std::tuple_element` which provides directly a compilation error in case specified index is invalid. This is solely to help in some metaprogramming edge cases - most of the time keep you should keep using `std::tuple_element`!
    - Design #1760: C++20 Concepts were introduced with this release; some implementation choices were made in the context of this ticket (using `Concept` namespace for instance - we will reevaluate later if this is the most adapted way to mark them or not).
    - Support #1761: add a policy to add quotes to each element for `PrintContainer` utility.
    - Support #1770: Filesystem: add a function to check whether a directory is inside another or not.
    - Support #1779: Extend and rename `ReadSimpleBinaryFile` and add more safeties.
    - __Design #1780__: Extend `InputData` to offer the possibility to extract a subsection and to interact directly with a section. Also place this and `ExtractLeaf()` directly in MoReFEM namespace.
    - __Support #1784__: Rename `InputDataNS::Extract` `InputDataNS::ExtractLeaf`.
    
    ## ThirdParty
    
    - Support #1757: choose smallest eigenvalues first by default in Slepc wrapper.
    - Bug - Documentation #1758: Slepc was not properly taken into account when generating Doxygen documentation.
    - Bug #1769: Despite a comment warning not to forget it, a data attribute was added in `Wrappers::Petsc::Vector` some time ago but the copy operator and the `Swap` function were not updated accordingly.
    - Documentation #1778: Doxygen dox files have been slightly modified to enable inclusing of links to the documentation in the Documentation/Wiki directory.
    - Test #1767: Enrich PetscVectorIO test by adding some cases which weren't covered.
    - Design #1775: Slepc: extend the API to enable choice of underlying solver.
    - Design #730: Use a faactory th handle the different possible solvers for PETSc.
    - Bug #1790: Update `UpdateLua` facilities to make them work with recent changes.
    - Support #1786: Use include-what-you-use version 0.19 on the codebase.
    - Support #1785: Add optional support for external dependencies in PETSc (solvers Mumps, SuiteSparse and SuperLU_dist).
    - Support #1789 Solver: add an attribute to tell whether the solver supports parallel run or not.
    - Support #1793: Update Valgrind suppression files.
    
    ## Core
    
    - Design #1764: Move the interpreter of `TimeIterationFile` from `PostProcessing` to `Core`. The reason is that I needed it for restart (see #1745).
    - __Design #1762__: Modify the class so that we are absolutely sure no output may be overriden by mistake.
    - __Bug / Design #1763__: Modify the interface of `VariableTimeStep` policy; expand greatly the cases checked in the tests.
    
    ## Geometry
    
    - Design #1756: slight refactoring for topology and orientations.
    
    ## FiniteElement
    
    - Design #1788: Use same naming for boundary condition namespace everywhere.
    
    ## FormulationSolver
    
    - Design #1776: Refactor unreasonable `VariationalFormulation::InitializeVectorSystemSolution()` interface which two overloads didn't encompass the same functionalities.
    - Support #1781: In Snes class, remove `SNESConvergedReason Snes::GetSnesConvergenceReason()` which is already covered by much cleaner methods
    
    ## Model
    
    - Feature #1745 - #1746 - #1747: Implement restart mode.
    - Documentation #1774: Write a wiki entry for restart mode.
    - Feature #1791: Add an option to generate the Lua file without the comments explaining each field.
    
    ## Tests
    
    - Support #1564: Rationalize the output directories used by tests and model instances so that it is straightforward to track which directory is related to a given test.
    - Design #1765: Change the way tests are called in CMake to make it more concise, less error prone... and less puzzling for a newcomer!
    
    ## ModelInstances
    
    - Design #1777: Use the same naming convention everywhere (no prefix for `VariationalFormulation` and `Model` - namespaces already do the job).
    
    ## Still in progress
    
    - Feature #248: A warning now tells explicitly that P2/Q2 geometric elements aren't supported yet.
    - Design #1787: Better error handling when some data from the input file aren't correct.
    - Support #1783: Add support for more solvers from PETSc.
  • v23.11
    984106ae · Issue tag v23.11. ·
    Tests for this version require an up-to-date [installation of third party libraries](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory) (v23.10): they introduce a solver that was not installed by previous releases.
    
    ## Utilities
    
    - Design #1755: Refactor `InputData` to make the code more straightforward (most of it was written before the niceties I used in the refactroring were introduced in the language).
    - __Design #1771__: Filesystem: substitute environment variables in the constructor directly
    - Bug #1773: Robustify the handling of trailing slash for `FilesystemNS::Directory` objects.
    - Support #1759: provide a `tuple_element_with_fallback` utility which is a bit more forgiving than `std::tuple_element` which provides directly a compilation error in case specified index is invalid. This is solely to help in some metaprogramming edge cases - most of the time keep you should keep using `std::tuple_element`!
    - Design #1760: C++20 Concepts were introduced with this release; some implementation choices were made in the context of this ticket (using `Concept` namespace for instance - we will reevaluate later if this is the most adapted way to mark them or not).
    - Support #1761: add a policy to add quotes to each element for `PrintContainer` utility.
    - Support #1770: Filesystem: add a function to check whether a directory is inside another or not.
    - Support #1779: Extend and rename `ReadSimpleBinaryFile` and add more safeties.
    - __Design #1780__: Extend `InputData` to offer the possibility to extract a subsection and to interact directly with a section. Also place this and `ExtractLeaf()` directly in MoReFEM namespace.
    - __Support #1784__: Rename `InputDataNS::Extract` `InputDataNS::ExtractLeaf`.
    
    ## ThirdParty
    
    - Support #1757: choose smallest eigenvalues first by default in Slepc wrapper.
    - Bug - Documentation #1758: Slepc was not properly taken into account when generating Doxygen documentation.
    - Bug #1769: Despite a comment warning not to forget it, a data attribute was added in `Wrappers::Petsc::Vector` some time ago but the copy operator and the `Swap` function were not updated accordingly.
    - Documentation #1778: Doxygen dox files have been slightly modified to enable inclusing of links to the documentation in the Documentation/Wiki directory.
    - Test #1767: Enrich PetscVectorIO test by adding some cases which weren't covered.
    - Design #1775: Slepc: extend the API to enable choice of underlying solver.
    - Design #730: Use a faactory th handle the different possible solvers for PETSc.
    - Bug #1790: Update `UpdateLua` facilities to make them work with recent changes.
    - Support #1786: Use include-what-you-use version 0.19 on the codebase.
    - Support #1785: Add optional support for external dependencies in PETSc (solvers Mumps, SuiteSparse and SuperLU_dist).
    - Support #1789 Solver: add an attribute to tell whether the solver supports parallel run or not.
    - Support #1793: Update Valgrind suppression files.
    
    ## Core
    
    - Design #1764: Move the interpreter of `TimeIterationFile` from `PostProcessing` to `Core`. The reason is that I needed it for restart (see #1745).
    - __Design #1762__: Modify the class so that we are absolutely sure no output may be overriden by mistake.
    - __Bug / Design #1763__: Modify the interface of `VariableTimeStep` policy; expand greatly the cases checked in the tests.
    
    ## Geometry
    
    - Design #1756: slight refactoring for topology and orientations.
    
    ## FiniteElement
    
    - Design #1788: Use same naming for boundary condition namespace everywhere.
    
    ## FormulationSolver
    
    - Design #1776: Refactor unreasonable `VariationalFormulation::InitializeVectorSystemSolution()` interface which two overloads didn't encompass the same functionalities.
    - Support #1781: In Snes class, remove `SNESConvergedReason Snes::GetSnesConvergenceReason()` which is already covered by much cleaner methods
    
    ## Model
    
    - Feature #1745 - #1746 - #1747: Implement restart mode.
    - Documentation #1774: Write a wiki entry for restart mode.
    - Feature #1791: Add an option to generate the Lua file without the comments explaining each field.
    
    ## Tests
    
    - Support #1564: Rationalize the output directories used by tests and model instances so that it is straightforward to track which directory is related to a given test.
    - Design #1765: Change the way tests are called in CMake to make it more concise, less error prone... and less puzzling for a newcomer!
    
    ## ModelInstances
    
    - Design #1777: Use the same naming convention everywhere (no prefix for `VariationalFormulation` and `Model` - namespaces already do the job).
    
    ## Still in progress
    
    - Feature #248: A warning now tells explicitly that P2/Q2 geometric elements aren't supported yet.
    - Design #1787: Better error handling when some data from the input file aren't correct.
    - Support #1783: Add support for more solvers from PETSc.
  • v22.47
    417d569c · Issue tag v22.47. ·
    Release: Release v22.47
    ## Operators
    
    - Design #1682: `GlobalVariationalOperator` class is now in Advanced namespace rather than in Internal.
    
    ## Geometry
    
    - Documenttion #1719: Clarify the GeometricElt::GetIndex() method.
    
    ## Utilities
    
    - Support #1514: introduce a syntactic sugar facility to create smart pointers in factory classes.
    - Support #1562: Remove HAS_MEMBER macro and use instead a concept requirement.
    - Support #1743: Remove `IsNumber()` utility which is already covered by `std::isfinite`.
    
    ## ThirdParty
    
    - Support #1749: Introduce support for Slepc library.
    - __Support #1751__: Modify in the CMake pre-cache script the path to PETSc and Slepc libraries to reflect the new way those are installed (more [here](https://gitlab.inria.fr/MoReFEM/ThirdPartyCompilationFactory/-/issues/18)).
    - Support #1752: PETSc: provide an initializer for matrices that do not require to set sizes, for the sake of LoadBinary(). This is mostly for tests - in the context of implementing the models the already existing methods are more adequate.
    
    ## Miscellaneous
    
    - Support #1740: run codespell over the codebase and the Markdown files.
    - Documentation #1741: fix Doxygen warnings.
    - Support #1748: fix new compilation warnings following libraries and compilers upgrades.
    - Support #1753: Remove cloc script - now user must install it locally.
    - Support #1754: Refresh the count_number_of_lines.py script to cover more files (not just most of the content of 'Sources' directory but also the scripts, CMake files, Markdown files and so forth...)