Tags give the ability to mark specific points in history as being important
-
v26.39
Release: v26.39234a0581 · ·## Utilities - Bug #2180: Fix minor bug in `ThrowBeforeMain`. ## ThirdParty - __Design #2170__: Modify `VectorReadOnly` constructor from existing `GlobalVector` so that its argument match those of `GlobalVector`. ## Geometry - Support #1547: Remove unused and untested format `VTK_PolygonalData`. - __Design #2174__: `MeshLabel`: use in all case a default description, even if another is supplied in the Ensight mesh file. - Bug #2171: When prepartitioned data regarding mesh are loaded, space unit was erroneously reapplied. Now the space unit field is entirely ignored in such a run. ## Finite element - __Design #2179__: Rename `ExtendedUnknown` `UnknownInFEltSpace`. - __Design #1146__: Refactor the `RefFEltFactory` and the shape function labels. Now it's possible to call `Assemble()` on an hybrid mesh. ## Models - Bug #2168: Model `CardiacElastoDynamics` in the test suite was not set up to work with shared memory parallelism. - Feature #2018: Make `ForcedConnectivity` work with load from prepartitioned data. - Design #2173: Remove unused data for prepartitioning. ## Tools - __Support #2177__: Update clang tidy settings to reflect new versions. - __Support #2175__: CMake: Introduce `MOREFEM_IGNORE_MODEL_INSTANCES`, which is mostly intended to library developers. - Support #2169: Switch to new Inria CI infrasrtucture based on okd. - Documentation #2178: Add a Sphinx documentation.
-
v26.33
5dab768d · ·## Utilities - Support #2167: Add free functions to serialize / deserialize to binary for POD data. - Support #2162: Write `ToCamelCase` function. ## ThirdParty - Support #2166: Eigen: add free functions to serialize or deserialize vectors in binary. ## Parameter - Feature #2160: Add serialization/deserialization for `ParameterAtQuadPt` so that it may be used in restart mode. ## Miscellaneous - Design #2163: Change the default value of `MOREFEM_RESULT_DIR`. ## Tests - Documentation / Design #1876: Simplify the classes to use for tests, and document the changes in the wiki. - Support #2164: Tests: write a fixture which provides a different default value for `Nmax_threads`.
-
v26.28
Release: v26.28d88763aa · ·## Utilities - Support #2157: Add a facility for developer to add quickly a leaf for Lua files. - Design #2158: Provide a simple implementation of `FixedString`. ## Core - Support #2156: `VectorReadOnly`: add source_location information in constructor. ## Models - Feature #2095: Implement a new model instance to conduct the cardiac elastodynamics simulations performed in the paper: *A software benchmark for cardiac elastodynamics*. ## Tools - Support #2153: Several improvements in CMake to be more robust - more resilience to libmeshb version change, removal of TBB dependency when TBB is not activated (this was due to CTrack dependency which has been patched) - Feature #2154: Use git lfs to serialize relevant data files. - Support #2155: CI - modify one asan job which took too much space even on a custom VM. ## Tests - __Support #2159__: In tests, replace `OutputDirWrapper` by more elegant `FixedString`.
-
v26.23
Release: v26.23de52bb98 · ·## Utilities - Support #2144: Introduce a free function to ease print debug. ## ThirdParty - Support #2150: Minor changes to reflect recent PETSc changes. ## Core - __Support #1858__: Replace `TIME_MANAGER_TEMPLATE_KEYWORD` directly by the concept `TimeManager` as all configurations now accept concepts in template template parameters. ## Parameters - __Design #2133 / #1714__: Remove entirely `FiberList`: it is now handled directly as a `ParameterAtQuadraturePoint`. - __Design #2134__: Enable choose of fiber file type (at note or at quadrature point) in `InputData` / `ModelSettings` instead of at model implementation (thus enabling end user to use a different type if they want). - Design #2143: `Parameter`: add more detailed concepts. - Test #2137: Add test for conversion from `ParameterAtDof` to `ParameterAtQuadPt` - Support #2141: Write utility function to put content of a Ensight file at coords into a `GlobalVector`. ## Operators - __Design #2129__: Refactor slightly `SecondPiolaKirchhoffStressTensor` so that it's clearer at construction which arguments are related to the policies (hyperelastic, viscoelastic and internal variable). - Feature #2101: Add a purely incompressible version of the `QuasiIncompressibleSecondPiolaKirchhoff` operator. - Design #2136: Introduce concepts for `GlobalVariationalOperator` and `LocalVariationalOperator`. - Feature #2085: Implement a mass operator along the normal of the reference element. ## Tests - Bug #2146: Solve an issue for hyperelastic law tests that might fail due to the sharing of the same unneeded result directory. # Tools - CI #2128: don't run pipeline for a tag (that is issued after a thorough `release-candidate` pipeline succeeds). - CI #2151: remove clang-tidy from standard analysis - keep it only for `release-candidate` (and few branches with proper names, e.g. any branch with `tidy` in its name). # Miscellaneous - Support #2130: Neutralize link-time warning for gcc 15 in release mode. - Bug #2131: Minor bugs found when updating `CardiacMechanics` external model.
-
v26.13
be998010 · ·## ThirdParty - Design #2117: Add `Swap` for `TargetAssembleMatrix` and `TargetAssembleVector`. - Support #2127: Eigen: add RAII class to enable memory allocation locally in a function or method ## Geometry - Design #2121: `GeometricElt`: extend the existing `index_type` into two distinct ones for processor / program wise. ## Finite element - Support #2120: Reactivate some `static_assert` in `Spectral` class. ## Parameters - Bug #2110: `ThreeDimensionalCoumpoundParameter` was not properly updated for use with shared memory parallelism. ## Post processing - Bug #2112: There was a link error in the macOS / shared library compilation for post processing library ## Tests - Bug/Support #2114: Ensure TBB is compiled with the same STL as MoReFEM to avoid ABI issues in one test. ## Tools - Support #2025: CI - use new runners with more storage for the jobs that require the extra space. - Bug #2112: Fix macOS compilation with shared library. - Bug #2113: Add s static_assert checking PETSc in debug mode is not used with MOREFEM_WITH_TBB. - Bug #2116: Fix the issue found with address sanitizer. - Support #2118: Fix the **many** new diagnostics found by `clang-tidy` (and filter more of them out - some were not terribly relevant for us). The `ExternalTools/ClangTidy/clang-tidy file explains the rationale for each diagnostic removed. - Support #2125: CMake: Use Claude code to produce a more readable `TestCustomCommands-RunModel.cmake`. - Support #2123: CMake: introduce an option to avoid mpi tests. - CI #2058: CI: use new runners with more storage for the jobs that require the extra space. - Feature #2115: Set up completely address sanitizer - CI #2126: Add size tags for all jobs. ## Still in progress - Design #1714: few modifications done related to `FiberList`; more to come in next release.
-
v26.06
Release: v26.0663e95e17 · ·## Utilities - Support #2102: [internal] `InputData`: Change the way the `.` is handled for sections. - Support #2099: Input data: add the possibility to add a description for a section which is inside another section. - Design #2098: Input data: improve naming of methods for leaves and sections to make the code more expressive. - Design #1974: `EnumUnderlyingType` is replaced in new STL's `std::to_underlying`. ## ThirdParty - Bug #2093: Fix find/replace error in Eigen wrappers. - Support #2050: Add shared memory parallelism support for `LuaFunction`. ## Parameter - Design #2096: Refactor slightly `Solid` to make it more maintainable and expressive. - Design #2097: Change namespace of helper structs related to `Parameter`. - Design #1803: Extend `Solid` and `Fluid` parameters so that there might be several in a same model. ## Operator - Feature #2070: Hyperelasticity: Implement the Nearly Incompressible Holzapfel-Ogden constitutive law. ## Tools - CI #2107: Replace macOS CI with the new experimental macOS virtualization. - CI #2108: Provide a job which runs models to display in upcoming documentation. - CMake #2100: make the `CMAKE_OSX_DEPLOYMENT_TARGET` option a customizable one to be able to remove spurious warnings at configuration. - Guix #2094: Document how to substitute gcc with clang in Guix. - Support #1553: Close this ticket tracking C++ 20 and 23 features to add in the library. - Support #2109: Move the morefem channel from `channels.scm` to the manifests.
-
v25.53
Release: v25.53dc1e9caa · ·## Third party - Support #2090: Upgrade to Eigen 5. ## Tools - Support #2088: Python scripts for CMake: add a flag to facilitate use of CCache. - Support #2087: Provide a clean procedure to install external models. - #1923: Introduce CMake test dependencies so that `ctest` may now be run in parallel. - Documentation #2092: Document installation through Guix. - Support #2091: Handle new clang warning `Wnrvo`. - ## Miscellaneous - Support #2086: Modifications related to Guix packaging.
-
v25.45
Release: v25.45da2f7d1d · ·## Operators - Bug #1851: Fix the local QuasiIncompressibleSecondPiolaKirchhoff operator. - __Bug #2080__: Fix the global QuasiIncompressibleSecondPiolaKirchhoff operator - all `Assemble` calls didn't follow new ordering of arguments. - __Design #1853__: Remove default template parameters for local operators, and fix some unwarranted default time dependency in several global operators. - __Design #2082__: Remove time dependency parameter for `Fiber` and `FiberList`. __Design #2077__: Add an optional TimeDependencyT parameter for the AnalyticalPress InternalVariable policy. - Feature #2066: Add invariant I8. - __Design #2078__: Deal with Fiber normalization at their construction. - ## Tools - Support #2074: Add an utility script to help decipher the compilation error messages related to bad `InputData` and/or `ModelSettings` in models. - Design #2083: Move some CMake operations into `MoReFEMSettings.cmake` file so that they are propagated directly into external models. ## Miscellaneous - Support #2081: Update team name in copyright notice and other files.
-
v25.42
b675240d · ·## Operators - __Design #2075__: Refine the choice for `GlobalOperator::Assemble()` regarding `domain` argument - it is now optional and the default is to take the same as the `FEltSpace`. ## VariationalFormulation - __Design #2000__: Refactor so that a `VariationalFormulation` is defined solely for a pair or `NumberingSubset`. This simplifies considerably for the internal implementation and the calls in external models as we no longer need to fetch explicitly `NumberingSubset` for many operations (call to `Solve()`, applying boundary condition, accessing system linear algebra, etc...) ## Tools - CI #1509: Push the Docker images generated by CD of a dedicated project directly into the project registry. - Profile #2071: CTrack is now deactivated by default unless `MOREFEM_PROFILE_WITH_CTRACK` macro is set. - Support #2073: Update MoReFEM to work with ThirdPartyCompilationLibrary v25.42.
-
v25.38
Release: v25.3830e1444e · ·## ThirdParty - Design #2068: Change the default value in main constructor of `AbstractMatrix` to ensure `VecDestroy` is called in most cases. ## Operators - Design / Bug #2065: fix some inadequacies for some data structures that prevent their use with shared memory parallelism. Add an opt out mechanism for a given `GlobalVariationalOperator` / `GlobalParameterOperator` that may now not use the parallel for loop if it is not deemed thread-safe. ## Tools - Test #2063: Sonarqube: replace `sonar.login` by `sonar.token`. - Test #2062: CI: remove Valgrind test for Laplacian. - CI #2064: Fix the generated documentation Doxygen which was failing due to lack of space - multithreaded documentation is now generated for GitlabPages without the GraphViz UML graphs.
-
v25.34.1
Release: v25.34.12a80ae86 · ·**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 · ·## 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.15
Release: v25.159e56aebb · ·**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
Release: v24.5123a74eee · ·## 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
Release: v24.42ec9aaecf · ·**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 · ·**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
Release: Tag v24.20.17a8be132 · ·## 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 · ·## 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
Release: Tag v24.06911c43a8 · ·## 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.