MFEM
v4.10.0
Finite element discretization library
Loading...
Searching...
No Matches
fem
qinterp
grad_by_nodes.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
InitGradByNodesKernels()
24
{
25
constexpr
auto
L =
QVectorLayout::byNODES
;
26
// 2D
27
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,3,3,16>
();
28
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,3,4,16>
();
29
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,4,3,16>
();
30
QuadratureInterpolator::AddGradSpecializations<2,L,P,1,4,4,16>
();
31
32
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,2,2,16>
();
33
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,2,3,8>
();
34
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,2,4,4>
();
35
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,2,5,4>
();
36
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,2,6,2>
();
37
38
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,3,3,2>
();
39
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,3,4,4>
();
40
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,3,4>
();
41
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,3,6,2>
();
42
43
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,4,2>
();
44
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,5,2>
();
45
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,6,2>
();
46
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,4,7,2>
();
47
48
QuadratureInterpolator::AddGradSpecializations<2,L,P,2,5,6,2>
();
49
// 3D
50
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,2,4>
();
51
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,3,3>
();
52
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,3,4>
();
53
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,3,6>
();
54
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,4,4>
();
55
QuadratureInterpolator::AddGradSpecializations<3,L,P,1,4,8>
();
56
57
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,2,3>
();
58
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,2,4>
();
59
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,2,5>
();
60
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,2,6>
();
61
62
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,3,3>
();
63
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,3,4>
();
64
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,3,5>
();
65
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,3,6>
();
66
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,4,4>
();
67
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,4,6>
();
68
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,4,7>
();
69
QuadratureInterpolator::AddGradSpecializations<3,L,P,3,4,8>
();
70
71
// 2D
72
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,2,16>
();
73
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,3,16>
();
74
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,1,4,16>
();
75
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,2,16>
();
76
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,3,4>
();
77
QuadratureInterpolator::AddCollocatedGradSpecializations<2,L,P,2,4,2>
();
78
79
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,2>
();
80
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,3>
();
81
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,1,4>
();
82
83
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,2>
();
84
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,3>
();
85
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,2,4>
();
86
87
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,2>
();
88
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,3>
();
89
QuadratureInterpolator::AddCollocatedGradSpecializations<3,L,P,3,4>
();
90
}
91
92
template
void
InitGradByNodesKernels<true>();
93
template
void
InitGradByNodesKernels<false>();
94
95
}
// namespace quadrature_interpolator
96
}
// namespace internal
97
}
// 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::byNODES
@ byNODES
quadinterpolator.hpp
Generated on Tue Sep 1 2026 16:39:58 for MFEM by
1.11.0