Commit Graph
419 Commits
Author SHA1 Message Date
Will Pazner 1909fcc489 Update VTU file format to version 2.2, update hex node ordering 2025-04-11 10:22:03 -07:00
Tzanio Kolev d43343b629 Merge branch 'master' into ppr 2025-03-25 19:03:59 -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
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
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 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
Stowell, Mark L 91bcdd1ab2 Mostly documentation and style fixes 2024-02-29 14:17:22 -08:00
Stowell, Mark L c521b4b8d6 Changing AttributeSets into a simple wrapper class around ArraysByName 2024-02-27 20:18:07 -08:00
Mark L. Stowell c87a46f4b3 Merge branch 'master' into named-attr-sets 2024-02-27 19:12:58 -08:00
Stowell, Mark L 1c95d630ba Creating Print* methods on the AttributeSets class so that the output width can be defined in one location 2024-02-26 16:41:00 -08:00
dylan-copeland c866fefed1 Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2024-02-26 10:03:47 -08:00
Dylan Copeland 046a874cfb Merge branch 'master' of github.com:mfem/mfem into float 2024-02-06 10:56:41 -08:00
Justin Laughlin 7e7f1df500 Merge branch 'master' into mesh-geom-comment 2024-02-05 10:40:02 -08:00
Dylan Copeland 6c07599447 Replace mesh/geom.hpp with fem/geom.hpp in mesh file comments. 2024-01-30 21:01:34 -08:00
Tzanio Kolev 87290fbf56 Update Copyright to 2010-2024 2024-01-27 13:06:49 -08:00
dylan-copeland f054912423 Merge branch 'master' of github.com:mfem/mfem into ppr 2024-01-19 21:35:33 -08:00
Dylan Copeland 9c5d160ebc Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2024-01-16 21:00:07 -08:00
Stowell, Mark L f6dfb11945 Merge remote-tracking branch 'origin/master' into named-attr-sets
# Conflicts:
#	mesh/mesh.hpp
2024-01-14 11:40:43 -08:00
Stowell, Mark L 3b4ea628f0 Altering Mesh and the new examples to use the new AttributeSets container class 2024-01-14 11:06:45 -08:00
Dylan Copeland 47e042245e Merge branch 'master' of github.com:mfem/mfem into float 2024-01-11 14:26:05 -08:00
Will Pazner 2b27d4815f Merge pull request #4019 from mfem/sjg/mesh-const-fix
Const correctness fixes for `Mesh` and `ParMesh`
2024-01-11 13:24:42 -08:00
Stowell, Mark L d90a567378 Removing unneeded scopes 2024-01-09 10:28:42 -08:00
dylan-copeland 4e25b1ba6b Merge branch 'master' of github.com:mfem/mfem into float 2024-01-05 11:37:18 -08:00
Sebastian Grimberg e26f72da36 Address PR feedback: Change pointers to references and add notes for consistency with other Mesh methods 2024-01-04 17:40:58 -08:00