MFEM  v4.5.2
Finite element discretization library
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
mfem::TDiffusionKernel< 1, 1, complex_t > Struct Template Reference

Diffusion kernel in 1D. More...

#include <tbilininteg.hpp>

Classes

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. 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. More...
 

Public Types

typedef complex_t complex_type
 

Static Public Member Functions

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. More...
 
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. More...
 
template<int qpts, typename S_data_t >
static MFEM_ALWAYS_INLINE void MultAssembled (const int k, const TMatrix< qpts, 1, complex_t > &A, S_data_t &R)
 Method for partially assembled action. More...
 

Static Public Attributes

static const bool uses_Jacobians = true
 Needed for the TElementTransformation::Result class. More...
 
static const bool in_values = false
 
static const bool in_gradients = true
 
static const bool out_values = false
 
static const bool out_gradients = true
 

Detailed Description

template<typename complex_t>
struct mfem::TDiffusionKernel< 1, 1, complex_t >

Diffusion kernel in 1D.

Definition at line 164 of file tbilininteg.hpp.

Member Typedef Documentation

◆ complex_type

template<typename complex_t >
typedef complex_t mfem::TDiffusionKernel< 1, 1, complex_t >::complex_type

Definition at line 166 of file tbilininteg.hpp.

Member Function Documentation

◆ 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< 1, 1, 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
kthe element number
FJt [M x Dim x SDim x NE] - Jacobian transposed, data member in F
Q- CoefficientEval<>::Type
q- CoefficientEval<>::Type::result_t
Rgrad_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 207 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< 1, 1, 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.

Parameters
kthe element number
FJt [M x Dim x SDim x NE] - Jacobian transposed, data member in F
QCoefficientEval<>::Type
qCoefficientEval<>::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 A = (w/det(J)) adj(J) adj(J)^t

Definition at line 241 of file tbilininteg.hpp.

◆ MultAssembled()

template<typename complex_t >
template<int qpts, typename S_data_t >
static MFEM_ALWAYS_INLINE void mfem::TDiffusionKernel< 1, 1, complex_t >::MultAssembled ( const int  k,
const TMatrix< qpts, 1, complex_t > &  A,
S_data_t &  R 
)
inlinestatic

Method for partially assembled action.

Parameters
kthe element number
A[M x Dim*(Dim+1)/2] partially assembled Dim x Dim symmetric matrices
Rgrad_qpts [M x SDim x NC x NE] - in/out data member in R grad_qpts = A grad_qpts

Definition at line 263 of file tbilininteg.hpp.

Member Data Documentation

◆ in_gradients

template<typename complex_t >
const bool mfem::TDiffusionKernel< 1, 1, complex_t >::in_gradients = true
static

Definition at line 174 of file tbilininteg.hpp.

◆ in_values

template<typename complex_t >
const bool mfem::TDiffusionKernel< 1, 1, complex_t >::in_values = false
static

Needed for the FieldEvaluator::Data class

Definition at line 173 of file tbilininteg.hpp.

◆ out_gradients

template<typename complex_t >
const bool mfem::TDiffusionKernel< 1, 1, complex_t >::out_gradients = true
static

Definition at line 176 of file tbilininteg.hpp.

◆ out_values

template<typename complex_t >
const bool mfem::TDiffusionKernel< 1, 1, complex_t >::out_values = false
static

Definition at line 175 of file tbilininteg.hpp.

◆ uses_Jacobians

template<typename complex_t >
const bool mfem::TDiffusionKernel< 1, 1, complex_t >::uses_Jacobians = true
static

Needed for the TElementTransformation::Result class.

Definition at line 169 of file tbilininteg.hpp.


The documentation for this struct was generated from the following file: