Commit Graph
100 Commits
Author SHA1 Message Date
Andrew Ho e7f5996bdf fix warnings with some compilers 2026-02-13 09:28:16 -08:00
camierjs 1ceef4f786 Add few missing Kernel() constexpr 2026-02-11 11:11:35 -08:00
Eric B. Chin cb2d4bde47 update an assert 2026-01-14 16:10:59 -08:00
Will Pazner 4d042959e8 Add convenience function Mesh::IsMixedMesh 2025-11-08 14:03:37 -08:00
Will Pazner 6602df4fd2 In QuadratureInterpolator::SupportsFESpace, return false for mixed meshes or variable orders
In QuadratureFunction::ProjectGridFunction unit test, test (element) QuadratureSpace also.
2025-10-17 14:58:46 -07:00
Jan Nikl 440d552e85 Merge branch 'master' into qf-project-gf-fallback 2025-10-15 10:04:34 -07:00
Veselin Dobrev 3514c0f0d4 Merge branch 'master' into dev/abs-diag-smoothers
Resolved conflicts:
   CHANGELOG
   makefile
   miniapps/CMakeLists.txt
2025-06-16 22:14:00 -07:00
ce5fd63d0a dfem phase 1 changes
Co-authored-by: camierjs <camierjs@gmail.com>
Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>
2025-05-29 13:02:23 -07:00
Gabriel Pinochet-Soto 4da2ea6f08 Remove abs elasticity integrators from source code 2025-05-24 18:41:43 -07:00
Tzanio Kolev 1206e9c575 Merge branch 'master' into qf-project-gf-fallback 2025-05-03 13:27:56 -07:00
Tzanio Kolev a631ab7e77 Merge branch 'master' into dev/abs-diag-smoothers 2025-05-01 09:46:00 -07:00
Will Pazner 86b16c8989 Add fallback for QuadratureFunction::ProjectGridFunction
The (slower) fallback will be used when QuadratureInterpolator is not supported
for the finite element space.
2025-04-29 10:35:44 -07:00
Will Pazner a5e62babfd Change name to QuadratureInterpolator::PhysValues 2025-04-24 13:14:01 -07:00
Will Pazner a05fce3e00 Evaluate values in non-H(div) QuadratureInterpolator with PHYSICAL_VALUES 2025-04-24 13:08:08 -07:00
Will Pazner 0270187325 Use physical values in QuadratureFunction::ProjectGridFunction
This ensures correct evaluation of H(div) grid functions
2025-04-24 12:27:36 -07:00
Veselin Dobrev 8d705f4230 Various formatting edits and other small tweaks 2025-04-16 22:21:33 -07:00
Gabriel Pinochet-Soto b9f146b46f Add AbsMult to QuadInterp 2025-03-28 22:13:22 -07:00
Veselin Dobrev a183be3ca0 Merge branch 'master' into hdiv-quad-interp 2025-02-19 18:40:48 -08:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Veselin Dobrev e04f56db3f Add a unit test for H(div) evaluations with QuadratureInterpolator.
Add triangle and tet meshes in the unit test for H1 evaluations with
QuadratureInterpolator; also, switch to checking relative norms of the
errors.
2025-01-19 16:10:26 -08:00
Veselin Dobrev d6beffe42e In class QuadratureInterpolator, add a new EvalFlags option for
vector fields: PHYSICAL_MAGNITUDES. The option is implemented only
for H(div) spaces.
2025-01-17 18:08:00 -08:00
Veselin Dobrev 811a498fe5 Add support for H(div) spaces in class QuadratureInterpolator.
For now, only evaluation of vector values (reference or physical)
on quad and hex elements is supported.

The code still needs to be tested.
2025-01-17 13:39:57 -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
Will Pazner 8007b5073f MFEM_EXPORT static member variables
Move QuadratureInterpolator::Kernels to static local variable
2024-11-09 07:31:08 -08:00
Will Pazner 780eaeda5a Don't inline Kernels::EnsureInitialized()
Prevent the compiler from optimizing out the calls
2024-11-08 14:15:48 -08:00
Will Pazner 8a4bb61a2a Ensure kernel dispatch tables are initialized
The kernel dispatch tables are initialized in the constructor of a static member
variable.

If this variable is not odr-used, then it may be optimized away, and the
initialization code is never called. This commit ensures the initialization occurs
by adding a no-op EnsureInitialized member function to the Kernels class that can
be called from the integrator constructor.
2024-11-08 12:05:33 -08:00
Will Pazner 82b0b3c9e5 Merge remote-tracking branch 'origin/master' into col-der-kernel
# Conflicts:
#	fem/qinterp/dispatch.hpp
#	fem/qinterp/grad_by_nodes.cpp
#	fem/qinterp/grad_by_vdim.cpp
#	fem/qinterp/grad_phys_by_nodes.cpp
#	fem/qinterp/grad_phys_by_vdim.cpp
2024-10-10 17:02:26 -07:00
Will Pazner ffce41001e Suppress Doxygen warnings 2024-06-27 09:27:58 -07:00
Will Pazner 5724e4f274 Improve kernel dispatch mechanism and workaround MSVC issues
Introduce some workarounds for MSVC:

- Need to expand variadic macros explicitly
- Adjacent parameter packs in function templates not supported; use nested
  structs instead
- Can't use default parameters in template definition if not present in
  declaration

Some improvements to the kernel dispatch:

- Run is now a static member function (don't need to call Get)
- DIM is not treated differently from the other parameters
2024-06-27 09:27:58 -07:00
Will Pazner e189b0b0f0 Fix deprecated implicit cast warning 2024-06-26 16:12:42 -07:00
Will Pazner 11badb5d2f Workaround for gcc bug with variadic template parameter packs 2024-06-26 16:09:07 -07:00
Will Pazner 185b2bba58 Kernel dispatch for non-tensor eval kernels 2024-06-25 22:12:54 -07:00
Will Pazner 7a4ab004c2 Add Det kernel specializations 2024-06-25 15:11:11 -07:00
Will Pazner 5a5d9cfe77 Split QuadratureInterpolator kernel instantiations into multiple translation units 2024-06-25 15:05:48 -07:00
Will Pazner 998b531fe5 Rework NBZ kernel dispatch, add Det QuadratureInterpolator kernels 2024-06-25 14:39:00 -07:00
Will Pazner e60145110d QuadratureInterpolator kernel specializations 2024-06-25 13:03:04 -07:00
Will Pazner 2e0df87cd6 Use dispatch mechanism in QuadratureInterpolator 2024-06-24 21:57:07 -07:00
Will Pazner 842c68b0b5 Proof of concept for dispatch with QuadratureInterpolator 2024-06-24 16:38:43 -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
Dylan Copeland d2e89166f9 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-05 10:23:02 -08:00
Tzanio Kolev b32b9f0517 Merge pull request #4089 from mfem/det-surface
Make GeometricFactors::DETERMINANTS work with surface meshes
2024-02-13 12:13:31 -08:00
Will Pazner 74e31a4216 Check for compatible dimensions in QuadratureInterpolator determinant computation 2024-02-06 16:03:51 -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 7a8294dd42 Make GeometricFactors::DETERMINANTS work with surface meshes 2024-01-25 23:38:33 -08:00
Tzanio Kolev d983b34924 Renamed ftype -> real_t 2023-12-13 12:51:43 -08:00
Dylan Copeland 9017b9700d Finished generalizing type in fem directory. 2023-11-01 15:54:41 -07:00
Will Pazner f87e570329 Fully support 1D in QuadratureInterpolator 2023-04-28 10:14:34 -07:00
camierjs dce372389b Merge master in forall 2023-03-24 07:52:56 -07:00
Tzanio Kolev 96e00dc815 Updated COPYRIGHT to 2010-2023 2023-03-11 16:58:18 -08:00