fem merge requestshttps://gitlab.onelab.info/gmsh/fem/-/merge_requests2023-09-22T13:31:03Zhttps://gitlab.onelab.info/gmsh/fem/-/merge_requests/68added option to remvoe a term given it's tag2023-09-22T13:31:03ZBoris Martinadded option to remvoe a term given it's taghttps://gitlab.onelab.info/gmsh/fem/-/merge_requests/60Code modernization: unique_ptrs in objects owned by a Formulation2023-09-22T13:31:17ZBoris MartinCode modernization: unique_ptrs in objects owned by a FormulationSimplified memory management: for objects owned by a formulation (`_solver, _A, _b`), the C-style pointer is replaced by `unique_ptr`, which removes the need for manual deletion.
When possible, some functions reading pointers were change...Simplified memory management: for objects owned by a formulation (`_solver, _A, _b`), the C-style pointer is replaced by `unique_ptr`, which removes the need for manual deletion.
When possible, some functions reading pointers were changed to use references instead. Otherwise, backwards compatibility is kept through `unique_ptr::get()`.
A tricky case is the one concerning a Solver's pointers to _A and _b. Currently they use direct pointers, which makes ownership ambiguous. An option would to use shared/weak pointers. Otherwise we could also have the solver keep a reference to its "parent" formulation and ask directly for the formulation's A/b. But it could be less generic if at some point a Solver becomes less coupled to a Formulation.
Poke @geuzaine since you're interested in modern C++Boris MartinBoris Martinhttps://gitlab.onelab.info/gmsh/fem/-/merge_requests/44Draft: use PATH_SUFFIXES instead of HINT for finding system Eigen2022-06-24T07:59:22ZNicolas MarsicDraft: use PATH_SUFFIXES instead of HINT for finding system EigenHi everyone,
On my system (linux + CMake v3.22) the `ENABLE_SYSTEM_CONTRIB=1` option does not lead to the desired effect (i.e. it uses `contrib/Eigen` instead of system `Eigen`).
If I understand the manual of CMake [1] correctly, subdi...Hi everyone,
On my system (linux + CMake v3.22) the `ENABLE_SYSTEM_CONTRIB=1` option does not lead to the desired effect (i.e. it uses `contrib/Eigen` instead of system `Eigen`).
If I understand the manual of CMake [1] correctly, subdirectories are specified with `PATH_SUFFIXES` and not `HINTS` (in this case `HINT` would be `/usr/include`, if I got it right).
It works with this patch, at least on my system and for `Eigen` ;-).
I guess the same should apply to `robin_hood`... That said, I haven't installed it system wide, so I cannot check.
Cheers,
Nicolas.
[1] https://cmake.org/cmake/help/latest/command/find_path.htmlNicolas MarsicNicolas Marsichttps://gitlab.onelab.info/gmsh/fem/-/merge_requests/1move nodeTags and elementTags to std::size_t2019-02-20T13:00:09ZChristophe Geuzainemove nodeTags and elementTags to std::size_tAnthony RoyerAnthony Royer