Diffusion kernel in 2D.
More...
#include <tbilininteg.hpp>
|
struct | CoefficientEval |
|
struct | f_asm_data |
| Partially assembled data type for one element with the given number of quadrature points. This type is used in full element matrix assembly. Stores one general (non-symmetric) 2 x 2 matrix per point. More...
|
|
struct | p_asm_data |
| Partially assembled data type for one element with the given number of quadrature points. This type is used in partial assembly, and partially assembled action. Stores one symmetric 2 x 2 matrix per point. More...
|
|
|
template<typename T_result_t , typename Q_t , typename q_t , typename S_data_t > |
static MFEM_ALWAYS_INLINE void | Action (const int k, const T_result_t &F, const Q_t &Q, const q_t &q, S_data_t &R) |
| Method used for un-assembled (matrix free) action.
|
|
template<typename T_result_t , typename Q_t , typename q_t , typename asm_type > |
static MFEM_ALWAYS_INLINE void | Assemble (const int k, const T_result_t &F, const Q_t &Q, const q_t &q, asm_type &A) |
| Method defining partial assembly. The pointwise Dim x Dim matrices are stored as symmetric (when asm_type == p_asm_data, i.e. A.layout.rank == 2) or non-symmetric (when asm_type == f_asm_data, i.e. A.layout.rank == 3) matrices. A = (w/det(J)) adj(J) adj(J)^t.
|
|
template<int qpts, typename S_data_t > |
static MFEM_ALWAYS_INLINE void | MultAssembled (const int k, const TMatrix< qpts, 3, complex_t > &A, S_data_t &R) |
| Method for partially assembled action.
|
|
template<typename complex_t>
struct mfem::TDiffusionKernel< 2, 2, complex_t >
Diffusion kernel in 2D.
Definition at line 282 of file tbilininteg.hpp.
◆ complex_type
template<typename complex_t >
◆ Action()
template<typename complex_t >
template<typename T_result_t , typename Q_t , typename q_t , typename S_data_t >
static MFEM_ALWAYS_INLINE void mfem::TDiffusionKernel< 2, 2, complex_t >::Action |
( |
const int | k, |
|
|
const T_result_t & | F, |
|
|
const Q_t & | Q, |
|
|
const q_t & | q, |
|
|
S_data_t & | R ) |
|
inlinestatic |
Method used for un-assembled (matrix free) action.
- Parameters
-
k | the element number |
F | Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F |
Q | CoefficientEval<>::Type |
q | CoefficientEval<>::Type::result_t |
R | grad_qpts [M x SDim x NC x NE] - in/out data member in R grad_qpts = (w/det(J)) adj(J) adj(J)^t grad_qpts |
Definition at line 326 of file tbilininteg.hpp.
◆ Assemble()
template<typename complex_t >
template<typename T_result_t , typename Q_t , typename q_t , typename asm_type >
static MFEM_ALWAYS_INLINE void mfem::TDiffusionKernel< 2, 2, complex_t >::Assemble |
( |
const int | k, |
|
|
const T_result_t & | F, |
|
|
const Q_t & | Q, |
|
|
const q_t & | q, |
|
|
asm_type & | A ) |
|
inlinestatic |
Method defining partial assembly. The pointwise Dim x Dim matrices are stored as symmetric (when asm_type == p_asm_data, i.e. A.layout.rank == 2) or non-symmetric (when asm_type == f_asm_data, i.e. A.layout.rank == 3) matrices. A = (w/det(J)) adj(J) adj(J)^t.
- Parameters
-
k | the element number |
F | Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F |
Q | CoefficientEval<>::Type |
q | CoefficientEval<>::Type::result_t |
A | either [M x Dim*(Dim+1)/2] partially assembled Dim x Dim symm. matrices, or [M x Dim x Dim] partially assembled Dim x Dim matrices. |
Definition at line 369 of file tbilininteg.hpp.
◆ MultAssembled()
template<typename complex_t >
template<int qpts, typename S_data_t >
static MFEM_ALWAYS_INLINE void mfem::TDiffusionKernel< 2, 2, complex_t >::MultAssembled |
( |
const int | k, |
|
|
const TMatrix< qpts, 3, complex_t > & | A, |
|
|
S_data_t & | R ) |
|
inlinestatic |
Method for partially assembled action.
- Parameters
-
k | the element number |
A | [M x Dim*(Dim+1)/2] - partially assembled Dim x Dim symmetric matrices |
R | grad_qpts [M x SDim x NC x NE] - in/out data member in R grad_qpts = A grad_qpts |
Definition at line 403 of file tbilininteg.hpp.
◆ in_gradients
template<typename complex_t >
◆ in_values
template<typename complex_t >
◆ out_gradients
template<typename complex_t >
◆ out_values
template<typename complex_t >
◆ uses_Jacobians
template<typename complex_t >
The documentation for this struct was generated from the following file: