-
v23.37a89f3fb2 · ·
## 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.256a75c6e · ·
# 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.1c0a248bc · ·
# 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.11984106ae · ·
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.47417d569c · ·
## 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...)
-
v22.37ed942ed1 · ·
## 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
-
v21.3179e9d184 · ·
## 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.27bb7ddd1f · ·
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.2293ab7604 · ·
## 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.16def99555 · ·
## 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.
-
-
-
-
v20.27c2fad6a7 · ·
_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.1842124f27 · ·
_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.1742fccab6 · ·
## 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.12aa8db159 · ·
## 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.104b33a69a · ·
## 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.527fdfa9c4 · ·
- 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.48eb27a2cc · ·
- 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.