Skip to content

Conversation

prudhomm
Copy link
Member

@prudhomm prudhomm commented Oct 22, 2023

  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes?
  • Have you successfully run the Feel++ testsuite with your changes locally?
  • Have you written Doxygen comments in your contribution ?

prudhomm added 17 commits April 24, 2022 06:57
[ci skip]
Update commobject.hpp, meshcontiguousnumberingmapping.hpp, and filters.hpp

The commit message is as follows:

"Inline function worldComm updated in commobject.hpp, range_element_type updated in meshcontiguousnumberingmapping.hpp, and is_tuple struct updated in filters.hpp".
no need for worldcomm anymore, use the one from the range
define Range and RangeBase
provide is_range_v and is_filter_v to know whether we manipulate a range
port feelpp to new Range
Enrich range object #1489

Enriched the range object by modifying the `nelements` function template in multiple files. Made changes to improve readability and removed unnecessary code.
@prudhomm prudhomm linked an issue Oct 22, 2023 that may be closed by this pull request
@prudhomm prudhomm self-assigned this Oct 22, 2023
@prudhomm prudhomm added this to the v111 milestone Oct 22, 2023
disambiguate type(fix compilation)
Enrich range object #1489

The commit enriches the range object by adding support for a new template parameter and additional constructors. This allows the range object to work with a MeshStructured class, as well as support different types for the template parameter.
Enrich range object

This commit adds the inclusion of the <variant> header in functionspace.hpp file. It also updates the typedefs local_interpolant_type and local_interpolants_type to use std::monostate instead of boost::none_t in functionspace.hpp and orthonormalpolynomialset.hpp files.
Enrich range object #1489

- Refactor code to use the `Range` object instead of `ext_elements_t` in the `buildGhostDofMapExtended` and `generateDofPoints` functions.
- Update type aliases in the `FunctionSpace` class to use the new `Range` object.
- Remove redundant functions `project` from `projectors.hpp`.
- Update the `test_submesh.cpp` file to use the new `Range` object in the `test_submesh_view` test case.
use Range in toolboxes

- Declare range_elements_type using Range template for mesh_type and MESH_ELEMENTS
- Update rangeMeshElements() function to return Range<mesh_type, MESH_ELEMENTS> instead of elements_reference_wrapper_t<mesh_type>
- Update the variable M_rangeMeshElements to be of type Range<mesh_type, MESH_ELEMENTS> instead of elements_reference_wrapper_t<mesh_type>

Refactor Range objects for better functionality
Add utility classes and templates to get the element type contained in certain classes:
- Added `element_type_helper` class to get the element type of `ObjectType`
- Added `element_t` and `element_ptr_t` aliases to get the element type and element shared pointer type of `ObjectType`
- Added specializations of `element_type_helper` for `FunctionSpaces` and `Meshes`
- Added `elements_mesh`, `faces_mesh`, `facets_mesh`, `edges_mesh`, `parent_mesh`, and `trace_mesh` classes and their corresponding aliases and specializations to get the mesh type and mesh shared pointer type of different topological dimensions
prudhomm and others added 22 commits March 21, 2024 22:36
test integrals on submeshes including normal

Enrich range object #1489
improve cmake preset #2082

[ci skip]
fix MeshStructured issue
fix some python tests

Enrich range object #1489
collision is skipped for now

skip feelpp skip testsuite skip toolboxes skip mor
Enrich range object #1489

skip feelpp skip testsuite skip toolboxes skip mor
/cc @VLCeline /cc @vincentchabannes

skip feelpp skip testsuite skip toolboxes skip mor
Enrich range object #1489
@prudhomm
Copy link
Member Author

@vincentchabannes the PR is ready to be merged

@@ -287,6 +287,7 @@ BOOST_AUTO_TEST_CASE( test_grad )
//--------------------------------------
// case 0 : same support
executeTestGrad( "case0_elt", spacePch1, "Pch1", spaceNed1h, "Ned1h", rangeElements, e, e );
#if 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@prudhomm why comment? These tests are important.

@vincentchabannes vincentchabannes merged commit ab4e235 into develop Apr 10, 2024
@vincentchabannes vincentchabannes deleted the 1489-enrich-range-object branch April 10, 2024 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

add range partitioning do not use boost::parameter for template classes support ensemble simulations in parallel Enrich range object
2 participants