Mentions légales du service

Skip to content
# 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.