Commit Graph
437 Commits
Author SHA1 Message Date
Dylan Copeland 696ce1e8ed Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-08-17 11:28:40 -07:00
Andrew Ho 267082d6f2 Merge remote-tracking branch 'base/master' into qspace-device 2025-07-12 23:07:56 -07:00
Dylan Copeland a1179d6489 Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-07-07 11:15:19 -07:00
Andrew Ho 4b27589abf missing hostread 2025-06-26 11:38:50 -07:00
Dylan Copeland 1339b6b99a Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-06-20 11:46:01 -07:00
Hugh Carson 4ba8a2e148 Move Nodes construction into separate helper method, to allow building communication pattern first in ParMesh
- Silence unused variable warning in non-debug builds
2025-05-20 12:11:31 -04:00
Andrew Ho 52eaf0deb7 Merge branch 'master' into qspace-device 2025-04-23 13:16:59 -07:00
Dylan Copeland 969ba74440 Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-04-22 12:32:29 -07:00
Will Pazner 1909fcc489 Update VTU file format to version 2.2, update hex node ordering 2025-04-11 10:22:03 -07:00
Dylan Copeland f84d5d1bfa More documentation. Removed allow_bad_orientation option in Mesh. 2025-04-10 11:32:26 -07:00
Dylan Copeland 8578bf4918 Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-04-08 12:35:39 -07:00
Andrew Ho 1ea8e59f69 Merge branch 'master' into qspace-device 2025-04-04 16:02:17 -07:00
Tzanio Kolev d43343b629 Merge branch 'master' into ppr 2025-03-25 19:03:59 -07:00
Dylan Copeland 0f0d70dad1 Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-03-24 17:35:14 -07:00
Dylan Copeland 622985d8da Interface improvements and refactoring. 2025-03-22 20:39:15 -07:00
Andrew Ho f3360ac118 switch to MFEM_MPI_CXX_BOOL
This is an internal macro which switches between MPI_CXX_BOOL and
MPI_C_BOOL if MPI_CXX_BOOL happens to not be defined (ex.: in Windows).
2025-03-14 14:19:17 -07:00
Andrew Ho 940943268b replace MPI_C_BOOL with MPI_CXX_BOOL 2025-03-14 10:06:57 -07:00
Andrew Ho a02f7165d8 Cache bdr_attributes in mesh (used by linearform_ext and bilinearform_ext) 2025-02-25 19:41:36 -08:00
Dylan Copeland 12896cd9ed Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2025-02-12 12:29:48 -08:00
Dylan Copeland b5ed99e1cd Added the capability to specify a refinement factor for each knotvector. Piecewise knotvectors can have multiple refinement factors. 2025-02-11 21:24:07 -08:00
Dylan Copeland 4c62788e60 Merge branch 'master' of github.com:mfem/mfem into ppr 2025-02-04 16:18:17 -08:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Stowell, Mark L. 7bb9027c82 Changes suggested by v-dobrev 2025-01-23 15:46:20 -08:00
Dylan Copeland 2a035e92d2 Merge branch 'master' of github.com:mfem/mfem into ppr 2025-01-22 15:12:49 -08:00
Stowell, Mark L. 61d4d6bbc2 Renaming "Remove" -> "Unmark" 2025-01-21 20:26:41 -08:00
Stowell, Mark L. f65afa6f7b Modifying behavior of MarkExternalBoundaries and adding named set versions (un)mark methods 2025-01-21 15:46:47 -08:00
Stowell, Mark L. 7d7ec1fa6a Bug fixes 2025-01-16 15:52:18 -08:00
Stowell, Mark L. 7e1884ca65 Merge remote-tracking branch 'origin/master' into mark-external-faces-dev
# Conflicts:
#	mesh/mesh.cpp
2025-01-16 11:04:22 -08:00
Stowell, Mark L. e09decae30 Adding suggested functions to ParMesh class 2025-01-15 16:55:58 -08:00
Dylan Copeland b62aa1491f Merge branch 'master' of github.com:mfem/mfem into nurbs-nc 2024-12-30 17:54:54 -08:00
Mark L. Stowell 7db0a9a8d3 Use spaceDim to ensure all necessary components of new vertices are computed 2024-12-18 11:03:10 -08:00
Mark L. Stowell 66c3474eb3 Adding support for AMR meshes 2024-12-13 14:03:22 -08:00
Mark L. Stowell 3e69daedf7 Adding (Par)Mesh::GetExteriorFaceMarker to identify exterior faces of a mesh 2024-12-12 14:51:07 -08:00
Dylan Copeland 4af5e6a758 Added a flag to Mesh loader, allowing for bad orientation. Debugged the case of a patch only 1 element wide. 2024-10-03 16:05:44 -07:00
Dylan Copeland a4c097f47c Merge branch 'master' of github.com:mfem/mfem into ppr 2024-08-16 18:15:41 -07:00
Dylan Copeland 232642b5d3 Merge branch 'master' of github.com:mfem/mfem into ppr 2024-05-22 19:32:22 -07:00
Sebastian Grimberg aab273b303 Address PR feedback and borrow partitioning improvement from #2669 2024-05-13 10:20:37 -07:00
Sebastian Grimberg 6a48f8e165 Const correctness for mesh partition 2024-05-06 12:21:37 -07:00
Veselin Dobrev 50a37df908 In ParMesh, remove repeated lines that set 'meshgen' and 'mesh_geoms' 2024-04-22 20:35:11 -07:00
Veselin Dobrev 39ad4e3921 In mfem mesh format output, consistently print a newline before
section delimiters like "mfem_mesh_end".

Fix some calls to Mesh::Printer where the optional comments were
passed as second argument instead of third.
2024-04-22 14:55:38 -07:00
Veselin Dobrev 4943545f5c Address reviewer feedback: typos, explanations 2024-04-22 09:21:09 -07:00
Veselin Dobrev 15c85e2b32 Merge branch 'master' into mesh-partitioner-dev
Resolved conflict:
   mesh/mesh.cpp
2024-04-19 13:29:31 -07:00
Dylan Copeland e6c48e3987 Merge branch 'master' of github.com:mfem/mfem into ppr 2024-04-18 17:00:47 -07:00
Veselin DobrevandSebastian Grimberg d7f1759a41 Post-rebase fixes, similar to c7dd4f9b
Co-authored-by: Sebastian Grimberg <sjg@amazon.com>
2024-03-31 13:35:43 -07:00
Veselin Dobrev 055e87caa5 Fix a bug in Mesh::FinalizeTopology() when used in parallel:
make GenerateBoundaryElements() vitual and call it only when
there are no boundary elements on any rank.

For now, ParMesh::GenerateBoundaryElements() does not do
anything -- it has a TODO comment.
2024-03-31 13:06:59 -07:00
Veselin Dobrev cba47bc4cd Initial draft of mesh partitioning capability that allows big
serial meshes to be partitioned and saved in parallel format
using one processor. This capability allows MFEM to work around
the current bottleneck which requires every MPI rank to load
the big serial mesh before it can be partitioned.

This new capability is added to the `mesh-explorer` miniapp with
the new menu option `D` and is based on two new classes:
* `MeshPartitioner`, constructed from a serial mesh and any
  partitioning array. Once constructed, it can extract any part
  of the mesh consisting of the elements with ids `elem_id` such
  that `partitioning[elem_id] == part_id`. The extracted mesh
  part is given in the form of a `MeshPart` object.
* `MeshPart`, which is currently construced by a `MeshPartitioner`.
  In the future, it can be created by other methods to facilitate
  other capabilities such as parallel mesh re-partitioing. Once
  constructed, the `MeshPart` can be saved to a file using the
  text-based parallel MFEM format. Support for other formats can
  be added as well. Another capability that can be added is the
  MPI communication of `MeshPart` objects between different ranks
  which can be used, for example, for implementing a `ParMesh`
  constructor that needs the serial mesh only on one processor.

Current limitations:
* Non-conforming and NURBS meshes are not supported.
* Meshes with nodes (e.g. high-order or periodic meshes) are
  not supported.

Small extension: if `Mesh::SetCurvature` is called with `order = 0`
then the method will remove the nodal `GridFunction` and use the
vertices array instead. This "curvature removal" capability can be
used from the `mesh-explorer` miniapp with the `c` menu option,
by specifying 0 when prompted to enter order.

Temporary change: `ex1p.cpp` is modified to disregard the (serial)
mesh specified with the option `-m`/`--mesh`. Instead, it loads
the parallel mesh `../miniapps/meshing/mesh-explorer.mesh.<rank>`
produced by the `D` menu option of the `mesh-explorer` miniapp.
2024-03-31 12:57:13 -07:00
Stowell, Mark L 386fa30275 Merge remote-tracking branch 'origin/master' into named-attr-sets
# Conflicts:
#	CHANGELOG
#	mesh/mesh.hpp
2024-03-27 13:52:45 -07:00
Dylan Copeland c009fb9bde Merge branch 'master' of github.com:mfem/mfem into float 2024-03-15 11:31:39 -07:00
Dylan Copeland d2e89166f9 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-05 10:23:02 -08:00
Dylan Copeland cd2d93e822 Fix partially overriden NURBSUniformRefinement function. 2024-03-03 19:57:15 -08:00