MFEM
v4.10.0
Finite element discretization library
Loading...
Searching...
No Matches
fem
qinterp
grad_by_vdim.cpp
Go to the documentation of this file.
1
// Copyright (c) 2010-2026, Lawrence Livermore National Security, LLC. Produced
2
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3
// LICENSE and NOTICE for details. LLNL-CODE-806117.
4
//
5
// This file is part of the MFEM library. For more information and source code
6
// availability visit https://mfem.org.
7
//
8
// MFEM is free software; you can redistribute it and/or modify it under the
9
// terms of the BSD-3 license. We welcome feedback and contributions, see file
10
// CONTRIBUTING.md for details.
11
12
#include "
../quadinterpolator.hpp
"
13
#include "
grad.hpp
"
14
15
namespace
mfem
16
{
17
namespace
internal
18
{
19
namespace
quadrature_interpolator
20
{
21
22
template
<
bool
P>
23
void
InitGradByVDimKernels()
24
{
25
constexpr
auto
L =
QVectorLayout::byVDIM
;
26
// 2D
27
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,3,4,8>
();
28
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,4,6,4>
();
29
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,5,8,2>
();
30
31
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,3,3,8>
();
32
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,3,4,8>
();
33
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,6,4>
();
34
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,5,8,2>
();
35
// 3D
36
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,3,4>
();
37
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,4,6>
();
38
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,5,8>
();
39
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,3,4>
();
40
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,4,6>
();
41
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,5,8>
();
42
43
// 2D
44
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,2,16>
();
45
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,3,16>
();
46
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,4,16>
();
47
48
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,2,16>
();
49
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,3,4>
();
50
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,4,2>
();
51
52
// 3D
53
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,2>
();
54
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,3>
();
55
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,4>
();
56
57
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,2>
();
58
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,3>
();
59
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,4>
();
60
61
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,2>
();
62
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,3>
();
63
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,4>
();
64
}
65
66
template
void
InitGradByVDimKernels<true>();
67
template
void
InitGradByVDimKernels<false>();
68
69
}
// namespace quadrature_interpolator
70
}
// namespace internal
71
}
// namespace mfem
mfem::QuadratureInterpolator::AddCollocatedGradSpecializations
static void AddCollocatedGradSpecializations()
Adds specializations for CollocatedGradKernels.
Definition
quadinterpolator.hpp:275
mfem::QuadratureInterpolator::AddGradSpecializations
static void AddGradSpecializations()
Adds specializations for GradKernels.
Definition
quadinterpolator.hpp:258
grad.hpp
mfem
Definition
CodeDocumentation.dox:1
mfem::QVectorLayout::byVDIM
@ byVDIM
quadinterpolator.hpp
Generated on Tue Sep 1 2026 16:39:58 for MFEM by
1.11.0