Commit Graph
66 Commits
Author SHA1 Message Date
Veselin Dobrev 03da9d7789 Small simplification in SubMeshUtils::AddBoundaryElements 2025-07-05 13:46:56 -07:00
Jan van Dijk a0cbf383a3 Fix indentation. 2025-03-02 00:26:57 +01:00
Jan van Dijk 1acaa6af3e Use GetSubMeshEdgeFromParent for 2D meshes.
In AddBoundaryElements, use GetSubMeshEdgeFromParent(parentFaceIdx), not
GetSubMeshFaceFromParent(parentFaceIdx) for 2D meshes. This fixes an assert
failure/segfault when constructing a submesh with internal boundaries in 2D.

Fixes #4729
2025-03-02 00:14:18 +01:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Will Pazner 6ddea3ff47 Merge remote-tracking branch 'origin/master' into pa-empty-partitions 2025-01-03 09:36:06 -08:00
Will Pazner 2ac825abe8 Merge remote-tracking branch 'origin/master' into pa-empty-partitions
# Conflicts:
#	fem/bilininteg.cpp
#	fem/quadinterpolator.cpp
2024-11-22 11:05:49 -08:00
adam-sim-dev cba0739740 Code style edit 2024-11-18 10:29:35 +08:00
adam-sim-dev 75f0ed1b67 static_cast size_t to int 2024-11-18 09:40:58 +08:00
Veselin Dobrev 564e2ff58e Re-write a statement to work around an issue with gcc 8.3.1 2024-11-08 17:32:59 -08:00
Hugh Carson 9f708051da Address PR feedback
- Rename RemoveBoundaryElementToEdge to DeleteBoundaryElementToEdge
- Remove unneeded member variables `from` and `attributes` from NCSubMesh and ParNCSubMesh
2024-10-30 14:09:09 -04:00
Hugh Carson 14e5114039 Address PR feedback
- Fix doc typos: long line, extra spaces, apostrophes.
- Make FindFaceNodes protected again.
- Add doxygen descriptors to IntegerSet default constructors.
2024-10-25 10:36:23 -04:00
Hugh Carson de70ec68cf Add MFEM_DEPRECATED to some backwards compatible methods 2024-10-22 12:03:22 -04:00
Hugh Carson bb1f48cc06 make style 2024-10-11 13:48:14 -04:00
Hugh Carson b42f27fe48 Move another debug only variables inside of assert 2024-10-11 13:25:40 -04:00
Hugh Carson ee59eb5cc0 Move debug only variable inside of assert 2024-10-11 11:31:38 -04:00
Hugh Carson 6672424982 Unused variable warnings 2024-10-11 11:06:33 -04:00
Hugh Carson 449ae5e8c3 Fix bug where ncmesh would not discover new boundary attribute group 2024-10-11 10:56:28 -04:00
Hugh Carson 445e41bb77 Tidy up and style fix 2024-10-10 17:24:51 -04:00
Hugh Carson 6c17447045 Fix triangle ambiguity by only labeling children after tree is finished. 2024-10-10 17:19:22 -04:00
Hugh Carson ada0e37801 Fix by only labeling non-ambiguous or central children 2024-10-09 17:00:52 -04:00
Hugh Carson 4cf617347f Handle the nodes in the case of center -> corner -> root. Non ambiguous paths now have the ability to reorganize all faces discovered. Not handling child reallocation correctly yet 2024-10-09 15:38:23 -04:00
Hugh Carson f3add08ae3 Address MR feedback:
- Rewrapping to 80
- Forward some base methods to public access
- Restore some old implementation methods in terms of new versions
- Doyxgen and comment fixes
2024-09-12 14:14:07 -04:00
Hugh Carson 2f6871e449 CI Fixes:
- Unused variables
- Memory leak
- Initialization order
- Remove std::vector usage
- Fix char index into arrays
- Early exit if an empty ncsubmesh is constructed
- Array list initalizer was hardcoded to int
- Remove anonynmous namespace from ncmesh_tables.hpp, use static and
  constexpr instead
- Remove unneeded table includes in ncsubmesh.cpp and pncsubmesh.cpp
- Move trivial type assertion of Array to class body from constructor
- Fix warning about use of abs over std::abs in batched linalg
- Add parent hashtable accessors to bypass access controls in parent
  classes.
- Change loop condition to avoid need for ncmesh_tables.hpp include
- Change [ParSubMesh] to [SubMesh] for Catch2 category, the parallel
  is implicit in [Parallel] label
- Missing include in mesh_test_utils.cpp
- Fix bug for array access with empty ncmesh
2024-09-09 15:10:25 -04:00
Hugh Carson 8a2ef8aa36 Refactor volume ncsubmesh to use same code on serial and parallel paths. Also fix documentation issues 2024-09-09 15:10:25 -04:00
Hugh Carson f052af3d6b Make style 2024-09-09 15:10:25 -04:00
Hugh Carson a3be873907 Make serial unit test copies of the parallel versions 2024-09-09 15:10:25 -04:00
Hugh Carson d0c358ab48 Refactor serial to use the same code branches as parallel for surface 2024-09-09 15:10:25 -04:00
Hugh Carson 982f7a1729 Refactor the surface submesh into a templated utils method. 2024-09-09 15:10:24 -04:00
Hugh Carson 96ef25817c Convenience addElement method 2024-09-09 15:10:24 -04:00
Hugh Carson 4edd730ce7 ghost boundary attributes mean volume tests are passsing 2024-09-09 15:10:24 -04:00
Hugh Carson 06955c17d9 Fix the boundary attributes of subvolume issue without using an RT space 2024-09-09 15:10:24 -04:00
Hugh Carson 06a8b35570 Comment out a lot of printing, will need to delete properly. Fix up VolumeSubMesh test to be more succinct 2024-09-09 15:10:24 -04:00
Hugh Carson cc70734bc0 Add initializer_list constructor to Array, and fix some more edge cases from testing 2024-09-09 15:10:24 -04:00
Hugh Carson 8237b9212d Abandoning interior surfaces, the resulting spaces are too ambiguous and the results don't warrant the extra effort 2024-09-09 15:10:24 -04:00
Hugh Carson 009837f4c8 Collection of bug fixes:
- Fix to permute children if a grandchild discovers a different face node ordering. Running out of tests
- Fix bug for triangle faces where central face parent nodes were not being identified correctly.
- Fix bug in ParentFaceNodes where a central triangle face would discover parent nodes with a different orientation to the surrounding faces.
- Fix bug where check was on parent_nodes rather than face_nodes for a second node hit
2024-09-09 15:10:24 -04:00
Hugh Carson b991cb755e Rewrite of the parallel data structure, complete ncmesh is now built doing a leaf to root tree traversal. The ordering is inherited from the parent ncmesh, ensuring all ranks build the correct ncmesh structure. Can handle external nc boundaries, can't handle internal yet due to face instability. 2024-09-09 15:10:24 -04:00
Hugh Carson 5e3359a805 Preliminary work on developing NCSubMesh
Many small features and a lot of really quite dirty code, print statements etc. This comes from squashing a large number of commits together.
A few different strategies were tried and failed (partially building the NC structure, having ranks have different NC etc.) before arriving at
the final reverse tree traversal algorithm.
2024-09-09 15:10:24 -04:00
Hugh Carson 469096892f Address bug where transfer map failed for transfering between surface and a volume root mesh 2024-06-04 10:24:29 -04:00
Will Pazner d86613219c Fix bug in SubMeshUtils::BuildVdofToVdofMap 2024-05-01 10:51:34 -07:00
Dylan Copeland d2e89166f9 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-05 10:23:02 -08:00
Will Pazner a67d9f9158 Replace all calls to Mesh::GetBdrElementBaseGeometry with Mesh::GetBdrElementGeometry 2024-02-07 10:38:41 -08:00
Will Pazner 76006e9b14 Fix typo 2024-02-07 09:32:45 -08:00
Will Pazner b553219eb9 Merge remote-tracking branch 'origin/master' into getbdrelementadjacentelement2-rename
# Conflicts:
#	mesh/mesh.cpp
2024-02-06 16:10:43 -08:00
Will Pazner 231b0970e1 Wrap long lines 2024-02-06 16:06:49 -08:00
Dylan Copeland 046a874cfb Merge branch 'master' of github.com:mfem/mfem into float 2024-02-06 10:56:41 -08:00
Tzanio Kolev 87290fbf56 Update Copyright to 2010-2024 2024-01-27 13:06:49 -08:00
Will Pazner 81d1a2fc1f Refactor Mesh::GetBdrElementAdjacentElement2 2023-12-28 14:29:41 -08:00
Will Pazner 311be95810 Rename GetBdrElementAdjacentElement2 to GetBdrElementAdjacentElementWithInverseOrientation 2023-12-15 09:17:10 -08:00
Tzanio Kolev d983b34924 Renamed ftype -> real_t 2023-12-13 12:51:43 -08:00
Dylan Copeland f106c03dd1 Generalized floating point type. So far, ex1 works for a serial build without lapack. 2023-10-09 14:19:25 -07:00