Diffusion kernel in 3D.
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) 3 x 3 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 3 x 3 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. grad_qpts = (w/det(J)) adj(J) adj(J)^t grad_qpts Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F Q - CoefficientEval<>::Type q - CoefficientEval<>::Type::result_t grad_qpts [M x SDim x NC x NE] - in/out data member in R.
|
|
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 Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F Q - CoefficientEval<>::Type q - CoefficientEval<>::Type::result_t A [M x Dim*(Dim+1)/2] - partially assembled Dim x Dim symm. matrices A [M x Dim x Dim] - partially assembled Dim x Dim matrices.
|
|
template<int qpts, typename S_data_t > |
static MFEM_ALWAYS_INLINE void | MultAssembled (const int k, const TMatrix< qpts, 6, complex_t > &A, S_data_t &R) |
| Method for partially assembled action. A [M x Dim*(Dim+1)/2] - partially assembled Dim x Dim symmetric matrices grad_qpts [M x SDim x NC x NE] - in/out data member in R grad_qpts = A grad_qpts.
|
|
template<typename complex_t>
struct mfem::TDiffusionKernel< 3, 3, complex_t >
Diffusion kernel in 3D.
Definition at line 428 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< 3, 3, 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. grad_qpts = (w/det(J)) adj(J) adj(J)^t grad_qpts Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F Q - CoefficientEval<>::Type q - CoefficientEval<>::Type::result_t grad_qpts [M x SDim x NC x NE] - in/out data member in R.
Definition at line 471 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< 3, 3, 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 Jt [M x Dim x SDim x NE] - Jacobian transposed, data member in F Q - CoefficientEval<>::Type q - CoefficientEval<>::Type::result_t A [M x Dim*(Dim+1)/2] - partially assembled Dim x Dim symm. matrices A [M x Dim x Dim] - partially assembled Dim x Dim matrices.
Definition at line 512 of file tbilininteg.hpp.
◆ MultAssembled()
template<typename complex_t >
template<int qpts, typename S_data_t >
static MFEM_ALWAYS_INLINE void mfem::TDiffusionKernel< 3, 3, complex_t >::MultAssembled |
( |
const int | k, |
|
|
const TMatrix< qpts, 6, complex_t > & | A, |
|
|
S_data_t & | R ) |
|
inlinestatic |
Method for partially assembled action. A [M x Dim*(Dim+1)/2] - partially assembled Dim x Dim symmetric matrices grad_qpts [M x SDim x NC x NE] - in/out data member in R grad_qpts = A grad_qpts.
Definition at line 548 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: