## Utilities - Test #1683: Add tests for numeric utilities. - Support #1685: Introduce a facility to use around `std::pow`. - Support #1687: Add `Wreserved-identifier` in clang warnings. - Support #1690: Add `Wdiv-by-zero` in warnings. - Support #1691: Create a script to ease the use of IWYU. - __Support #1692__: Improve the use of `std::filesystem`, which should help to use MoReFEM on Windows environments. - Test #1693: Rewrite NowAsString test. - Design #1699: Modify the way unique ids are stored. - Support #1722: Generalize NumericNS::AreEqual to also handle `LocalVector` and `LocalMatrix`. - Support #1732: Create a facility to create vectors of StrongTypes. - __Design #1731__: Extend UniqueId Crtp to enable using strong types instead of `std::size_t`, and apply it in the case of `Domain`. ## ThirdParty - Feature #1704: Add support to SuperLU_dist solver. - Bug #1709: Petsc: SetUniformValue() and few other Set methods for `Vector` class didn't properly call UpdateGhosts(). - Support #1725: Few modifications due to update of third party libraries and compilers ## Geometry - Design #1651: Change the ordering convention for the Q2 geometric nodes. - Bug #1678: `FromCoordsMatching` test for P2 was buggy: there was a typo and we were comparing an object to itself. Fixing that made the test fail; but this test was in fact assuming something incorrect (namely that the `Coords` constituting an `Interface` were sort the same way for all ranks). - Bug #1700: Identify clearly when there is an issue with registration within `GeometricEltFactory`. ## Operators - __Feature #1660__: Add a policy to chose the interpolation rule for the tying points in the Shell operator. - Feature #1664 - #1586: Implement shell operator. - Test #1680: Add tests for MITC4 and MITC9. - Support #1681: Add a facility to easily access a local operator. - Feature #1586: Implement SecondPiolaKirchhoff operator in local coordinates. ## Parameters - __Design / Bug #1708__: Change the convention of Parameter::TimeDependency NtimesModified. - Documentation #1721: Improve documentation for the 'domain' argument in Parameter constructor. - __Design #1724 - #1718__: Refactor Parameter and add tests to ensure all intended features (noticeably vectorial and matricial 'Parameter'). - __Design #1723__: `LuaFunction` policy was messy to use and has been overhauled and better documented. - Design #1726: Value sub structure for input data file now relies more on its underlying Nature. - Test #1727: Remove TestMoReFEMDataParameter, which is much better covered with new tests introduced in #1724. ## Model - Support #1695 / Bug #1697: add a safety in debug mode to ensure Model::Initialize() is called at most once per Model. - __Test #1705__: Replace Mumps by SuperLU_dist in test models. - Bug #1706: Fix small issues that prevented proper use of MainUpdateLuaFile executables. - Support #1698: Enable the possibility not to define a TimeManager in a Model. ## Build / IDE - __Design #1566__: XCode project is now to be generated by CMake if you want to use that IDE. The former hand-made project has been removed (was too painful to handle properly in Git, and was not necessarily up-to-date due to some MoReFEM devs using others IDEs). - __Bug #1713__: Fix the XCode templates that were no longer recognized properly with XCode 13. This ticket impacts even non XCode users: the minimum CMake version required has been updated as I needed very recent CMake features. ## CI / Tests - __Support #1696__: streamline more code in the Test/Tools subdirectory. - Support #1701: Remove linter stage in CI/CD. - Support #1707: Transform old tests into ones handled in the test suite. Some were completely overhauled. - Support #1710: Add tags to match the new shared runners in Inria Gitlab - Support #1735: Update Sonarqube settings in scripts to reflect changes in the new version deployed on sonarqube.inria.fr ## Tools - Design #1688: Switch to C++ 20 in compilation version. - Support #1689: Fix gcc compilation warnings. - Support #1694: Update IWYU configuration file. - Support #1711: Update Doxygen script to filter out false positives yielded by latest version - Documentation #1715: Overhaul the README in the project (some informations there were outdated). Also clarify the conventions to activate or deactivate some of the jobs in CI. - Support #1712: Deactivate deprecated clang warning. - Support #1734: Fix compilation issues with gcc 12. - Documentation #1730: Document how to use include-what-you-use facility (Wwich is expected to be done mostly by the integration manager so you shouldn't bother). - Support #1736: Scripts: make header guards installation independant - Documentation #1737: Introduce a file "HelpToUpgrade.md" which lists the changes from one version of MoReFEM to another - Bug #1739: Fix the wrong behaviour when the policy about overwriting output directory is 'ask'. ## Still in progress - Feature #248: Enable P2/Q2 geometry. - Feature #1664: Implement shell operator. Lots of work has already been done but the feature is not entirely reliable yet. - Support #1679: Update SetMovemeshData() for P2 Geometry. - Documentation #1717: Update the ModelTutorial. The work is done but I don't want to close it until someone unfamiliar with MoReFEM hasn't used it and provided feedback. - Support #1738: Set up again Sonarqube - some parts of the configuration was lost during major upgrade of Sonarqube server
Utilities
- Test #1683: Add tests for numeric utilities.
- Support #1685: Introduce a facility to use around
std::pow
. - Support #1687: Add
Wreserved-identifier
in clang warnings. - Support #1690: Add
Wdiv-by-zero
in warnings. - Support #1691: Create a script to ease the use of IWYU.
-
Support #1692: Improve the use of
std::filesystem
, which should help to use MoReFEM on Windows environments. - Test #1693: Rewrite NowAsString test.
- Design #1699: Modify the way unique ids are stored.
- Support #1722: Generalize NumericNS::AreEqual to also handle
LocalVector
andLocalMatrix
. - Support #1732: Create a facility to create vectors of StrongTypes.
-
Design #1731: Extend UniqueId Crtp to enable using strong types instead of
std::size_t
, and apply it in the case ofDomain
.
ThirdParty
- Feature #1704: Add support to SuperLU_dist solver.
- Bug #1709: Petsc: SetUniformValue() and few other Set methods for
Vector
class didn't properly call UpdateGhosts(). - Support #1725: Few modifications due to update of third party libraries and compilers
Geometry
- Design #1651: Change the ordering convention for the Q2 geometric nodes.
- Bug #1678:
FromCoordsMatching
test for P2 was buggy: there was a typo and we were comparing an object to itself. Fixing that made the test fail; but this test was in fact assuming something incorrect (namely that theCoords
constituting anInterface
were sort the same way for all ranks). - Bug #1700: Identify clearly when there is an issue with registration within
GeometricEltFactory
.
Operators
- Feature #1660: Add a policy to chose the interpolation rule for the tying points in the Shell operator.
- Feature #1664 - #1586: Implement shell operator.
- Test #1680: Add tests for MITC4 and MITC9.
- Support #1681: Add a facility to easily access a local operator.
- Feature #1586: Implement SecondPiolaKirchhoff operator in local coordinates.
Parameters
- Design / Bug #1708: Change the convention of Parameter::TimeDependency NtimesModified.
- Documentation #1721: Improve documentation for the 'domain' argument in Parameter constructor.
- Design #1724 - #1718: Refactor Parameter and add tests to ensure all intended features (noticeably vectorial and matricial 'Parameter').
-
Design #1723:
LuaFunction
policy was messy to use and has been overhauled and better documented. - Design #1726: Value sub structure for input data file now relies more on its underlying Nature.
- Test #1727: Remove TestMoReFEMDataParameter, which is much better covered with new tests introduced in #1724.
Model
- Support #1695 / Bug #1697: add a safety in debug mode to ensure Model::Initialize() is called at most once per Model.
- Test #1705: Replace Mumps by SuperLU_dist in test models.
- Bug #1706: Fix small issues that prevented proper use of MainUpdateLuaFile executables.
- Support #1698: Enable the possibility not to define a TimeManager in a Model.
Build / IDE
- Design #1566: XCode project is now to be generated by CMake if you want to use that IDE. The former hand-made project has been removed (was too painful to handle properly in Git, and was not necessarily up-to-date due to some MoReFEM devs using others IDEs).
- Bug #1713: Fix the XCode templates that were no longer recognized properly with XCode 13. This ticket impacts even non XCode users: the minimum CMake version required has been updated as I needed very recent CMake features.
CI / Tests
- Support #1696: streamline more code in the Test/Tools subdirectory.
- Support #1701: Remove linter stage in CI/CD.
- Support #1707: Transform old tests into ones handled in the test suite. Some were completely overhauled.
- Support #1710: Add tags to match the new shared runners in Inria Gitlab
- Support #1735: Update Sonarqube settings in scripts to reflect changes in the new version deployed on sonarqube.inria.fr
Tools
- Design #1688: Switch to C++ 20 in compilation version.
- Support #1689: Fix gcc compilation warnings.
- Support #1694: Update IWYU configuration file.
- Support #1711: Update Doxygen script to filter out false positives yielded by latest version
- Documentation #1715: Overhaul the README in the project (some informations there were outdated). Also clarify the conventions to activate or deactivate some of the jobs in CI.
- Support #1712: Deactivate deprecated clang warning.
- Support #1734: Fix compilation issues with gcc 12.
- Documentation #1730: Document how to use include-what-you-use facility (Wwich is expected to be done mostly by the integration manager so you shouldn't bother).
- Support #1736: Scripts: make header guards installation independant
- Documentation #1737: Introduce a file "HelpToUpgrade.md" which lists the changes from one version of MoReFEM to another
- Bug #1739: Fix the wrong behaviour when the policy about overwriting output directory is 'ask'.
Still in progress
- Feature #248: Enable P2/Q2 geometry.
- Feature #1664: Implement shell operator. Lots of work has already been done but the feature is not entirely reliable yet.
- Support #1679: Update SetMovemeshData() for P2 Geometry.
- Documentation #1717: Update the ModelTutorial. The work is done but I don't want to close it until someone unfamiliar with MoReFEM hasn't used it and provided feedback.
- Support #1738: Set up again Sonarqube - some parts of the configuration was lost during major upgrade of Sonarqube server.