Commit Graph
371 Commits
Author SHA1 Message Date
Dylan Copeland afded067a7 Replace absdof. 2026-02-24 11:17:54 -08:00
Will Pazner 16f1935531 Fix alias memory bug in GetLVectorFaceNbrData
gf.ExchangeFaceNbrData() may change the pointer validity of the underlying
(aliased) vector, and so the base vector's flags need to be synced.
2025-08-08 10:37:24 -07:00
Will Pazner 3474158bf6 Consistent naming of gather and scatter in L2InterfaceFaceRestriction 2025-08-08 10:37:24 -07:00
Will Pazner 4a5ae97be5 Support nonconforming meshes in L2InterfaceFaceRestriction 2025-08-08 10:37:24 -07:00
Will Pazner c0fe8c599b Handle AMR faces in L2InterfaceFaceRestriction 2025-08-08 10:37:24 -07:00
Will Pazner 7cda1566e2 Support AMR meshes in NormalTraceJumpIntegrator::AssembleEAInteriorFaces
Handle map type INTEGRAL in InterpolationManager.

For point matrices corresponding to non-conforming faces, the Jacobian may be
inverted.
2025-08-08 10:37:24 -07:00
Will Pazner e83191f54e In InterpolationManager::GetCoarseToFineInterpolation, don't flip point matrix
Flipping the point matrix causes negative Jacobians. Instead, reverse row
indices of the interpolation matrix.
2025-08-08 10:37:24 -07:00
Will Pazner 985dfe2749 Cache InterpolationManager in FiniteElementSpace
The InterpolationManager used in ParNCH1FaceRestriction is still a bit
different.
2025-08-08 10:37:24 -07:00
Will Pazner 34addd59c5 Fix shadowed variables 2025-08-08 07:01:54 -07:00
Will Pazner 0e22b182a6 Rename MultUnsigned to AbsMult in restriction classes
Deprecate 'MultUnsigned' and related functions
2025-05-22 10:49:28 -07:00
Veselin Dobrev 214313291b Merge branch 'master' into dev/abs-diag-smoothers
Fixed conflicts:
  CHANGELOG
  fem/bilinearform_ext.cpp
  fem/bilinearform_ext.hpp
2025-04-14 13:56:38 -07:00
Vladimir Z Tomov 48a270679c Merge branch 'master' into tmop-periodic 2025-04-01 16:18:06 -07:00
Gabriel Pinochet-Soto 328c914481 Add AbsMult for restriction operators; address code duplication comment 2025-03-28 22:13:22 -07:00
Vladimir Z Tomov 94d7d2fd0a Merge branch 'master' into tmop-periodic 2025-03-27 09:08:04 -07:00
Tzanio Kolev 6558b84cb2 Merge branch 'master' into hybridization-gpu 2025-03-26 13:44:31 -07:00
Vladimir Z Tomov ae400812cf style 2025-03-24 12:39:38 -07:00
Vladimir Z Tomov 6bef88f661 Allow NodalFiniteElements in ElementRestriction. 2025-03-24 11:14:16 -07:00
Dylan Copeland 8bb331cefa Check for variable-order space in ElementRestriction. 2025-02-26 16:11:16 -08:00
Will Pazner 53365490b7 Merge remote-tracking branch 'origin/master' into hybridization-gpu
# Conflicts:
#	tests/unit/fem/test_assembly_levels.cpp
2025-02-20 09:12:41 -08:00
Will Pazner e797278779 Merge remote-tracking branch 'origin/master' into hybridization-gpu
# Conflicts:
#	fem/integ/bilininteg_mass_pa.cpp
#	tests/unit/fem/test_assembly_levels.cpp
2025-02-07 14:24:06 -08:00
Tzanio Kolev bd48e8e4b9 Merge branch 'master' into fa-mesh-connectivity 2025-02-04 14:54:52 -08:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Will Pazner 350c2c1281 Reduce memory usage in ElementRestriction FillI and FillJAndData
Use offsets array to handle mesh connectivity; computing maximum mesh
connectivity is not required.
2025-01-16 12:21:56 -08:00
Will Pazner 7e59798592 Merge remote-tracking branch 'origin/master' into fa-mesh-connectivity 2025-01-16 12:20:36 -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 761be16003 Support full assembly on highly connected meshes
Instead of using a constant estimate for the maximum mesh valence (16 by
default), compute the maximum mesh connectivity, and use global memory in
ElementRestriction::FillI and ElementRestriction::FillJAndData to store the
arrays needed to deduplicate assembly.

Adds a unit test with highly connected meshes.
2024-12-26 11:17:00 -08:00
Arturo Vargas dba53a19a2 Merge branch 'master' into hybridization-gpu 2024-12-12 14:58:03 -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 b4dfb8660d static_cast size_t to int 2024-10-31 18:07:45 +08:00
Will Pazner 9a6048658b Merge remote-tracking branch 'origin/master' into hybridization-gpu
# Conflicts:
#	fem/hybridization.cpp
#	fem/hybridization.hpp
#	linalg/CMakeLists.txt
#	linalg/densemat.cpp
#	linalg/densemat.hpp
2024-08-16 12:29:07 -07:00
samuelpmishLLNLandWill Pazner 36d28c6e3e Update fem/restriction.cpp
Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>
2024-06-28 12:03:56 -07:00
Sam Mish b5b4b5da7d improve error message when encountering unsupported element types, and update doxygen entry 2024-06-28 11:29:03 -07:00
Will Pazner 1241960dc4 Merge remote-tracking branch 'origin/master' into pa-empty-partitions
# Conflicts:
#	fem/gridfunc.cpp
2024-06-24 10:16:56 -07:00
Will Pazner 5218b40945 Call HostRead in ElementRestriction::ElementRestriction
Avoid issues with debug device if device pointer is valid
2024-06-11 17:11:08 -04:00
Will Pazner 67e3b289b6 Provide access to gather map in L2InterfaceFaceRestriction 2024-06-11 17:11:07 -04:00
Will Pazner c07e081832 Implement L2InterfaceFaceRestriction::AddMultTranspose 2024-06-11 17:11:07 -04:00
Will Pazner 0c10a41589 Add L2InterfaceFaceRestriction 2024-06-11 17:11:07 -04:00
Julian Andrej 086f6c9847 assert -> verify 2024-06-10 10:30:58 -07:00
Julian Andrej 480e90b41b actually throw an error when using native ordering in FaceRestriction 2024-06-10 08:11:07 -07:00
Will Pazner 63f977d03f Use FiniteElementSpace::GetTypicalTraceElement throughout the PA code 2024-05-01 09:50:23 -07:00
Will Pazner a7eed94562 Replace many instances of GetFaceGeometry(0) with GetTypicalFaceGeometry() 2024-04-23 14:45:30 -07:00
Will Pazner ef9043a122 Replace many instances of GetFE(0) with GetTypicalFE()
Also replace many instances of GetElementTransformation(0) with
GetTypicalElementTransformation() and instances of GetElementGeometry(0) with
GetTypicalElementGeometry().

Remove some "early returns" in PA code with empty partitions. The reasoning is
that the early returns create divergent code paths among different MPI ranks,
which can cause deadlocks if e.g. collectives are used in code paths on not all
ranks.
2024-04-23 14:45:30 -07:00
Veselin Dobrev 966143b0ce Some additions and tweaks to get ex14p to work with empty partitions 2024-04-22 17:35:14 -07:00
Will Pazner 94906f661d In GetLVectorFaceNbrData, read base vector before creating alias 2024-04-12 20:07:49 -07:00
Will Pazner 936d128833 Avoid repeated calls to ExchangeFaceNbrData in PA mult 2024-04-12 11:02:28 -07:00
Will Pazner 36f5782404 Merge remote-tracking branch 'origin/master' into dg-diffusion
# Conflicts:
#	examples/ex14.cpp
#	examples/ex14p.cpp
2024-04-08 14:39:51 -07:00
Tzanio Kolev 687ef84488 Merge pull request #4056 from mfem/yohann/fa-dg-amr
Add support for `AssemblyLevel::FULL` for DG on `NCMesh`.
2024-04-03 08:34:29 -07:00
Yohann 61cf6735db Update fem/restriction.cpp
Omitted `double`
2024-04-02 09:32:30 -07:00
Yohann c0924ad9e6 Apply suggestions from code review
Replace `double` with `real_t`.
2024-04-02 09:31:51 -07:00
Dylan Copeland 046a874cfb Merge branch 'master' of github.com:mfem/mfem into float 2024-02-06 10:56:41 -08:00