MFEM  v4.4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t > Class Template Reference

ShapeEvaluator with 3D tensor-product structure. More...

#include <tevaluator.hpp>

Collaboration diagram for mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >:
[legend]

Public Member Functions

 TProductShapeEvaluator ()
 
template<bool Dx, bool Dy, bool Dz, typename dof_layout_t , typename dof_data_t , typename qpt_layout_t , typename qpt_data_t >
MFEM_ALWAYS_INLINE void Calc (const dof_layout_t &dof_layout, const dof_data_t &dof_data, const qpt_layout_t &qpt_layout, qpt_data_t &qpt_data) const
 
template<typename dof_layout_t , typename dof_data_t , typename qpt_layout_t , typename qpt_data_t >
MFEM_ALWAYS_INLINE void Calc (const dof_layout_t &dof_layout, const dof_data_t &dof_data, const qpt_layout_t &qpt_layout, qpt_data_t &qpt_data) const
 Multi-component shape evaluation from DOFs to quadrature points. dof_layout is (TDOF x NumComp) and qpt_layout is (TNIP x NumComp). More...
 
template<bool Dx, bool Dy, bool Dz, bool Add, typename qpt_layout_t , typename qpt_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void CalcT (const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const dof_layout_t &dof_layout, dof_data_t &dof_data) const
 
template<bool Add, typename qpt_layout_t , typename qpt_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void CalcT (const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const dof_layout_t &dof_layout, dof_data_t &dof_data) const
 Multi-component shape evaluation transpose from quadrature points to DOFs. qpt_layout is (TNIP x NumComp) and dof_layout is (TDOF x NumComp). More...
 
template<typename dof_layout_t , typename dof_data_t , typename grad_layout_t , typename grad_data_t >
MFEM_ALWAYS_INLINE void CalcGrad (const dof_layout_t &dof_layout, const dof_data_t &dof_data, const grad_layout_t &grad_layout, grad_data_t &grad_data) const
 Multi-component gradient evaluation from DOFs to quadrature points. dof_layout is (TDOF x NumComp) and grad_layout is (TNIP x DIM x NumComp). More...
 
template<bool Add, typename grad_layout_t , typename grad_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void CalcGradT (const grad_layout_t &grad_layout, const grad_data_t &grad_data, const dof_layout_t &dof_layout, dof_data_t &dof_data) const
 Multi-component gradient evaluation transpose from quadrature points to DOFs. grad_layout is (TNIP x DIM x NumComp), dof_layout is (TDOF x NumComp). More...
 
template<typename qpt_layout_t , typename qpt_data_t , typename M_layout_t , typename M_data_t >
MFEM_ALWAYS_INLINE void Assemble (const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const M_layout_t &M_layout, M_data_t &M_data) const
 Multi-component assemble. qpt_layout is (TNIP x NumComp), M_layout is (TDOF x TDOF x NumComp) More...
 
template<int D1, int D2, bool Add, typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void Assemble (const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const D_layout_t &D_layout, D_data_t &D_data) const
 
template<typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void Assemble (int D1, int D2, const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const D_layout_t &D_layout, D_data_t &D_data) const
 
template<typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void AssembleGradGrad (const qpt_layout_t &qpt_layout, const qpt_data_t &qpt_data, const D_layout_t &D_layout, D_data_t &D_data) const
 Multi-component assemble of grad-grad element matrices. qpt_layout is (TNIP x DIM x DIM x NumComp), and D_layout is (TDOF x TDOF x NumComp). More...
 

Static Public Attributes

static const int TDOF = DOF*DOF*DOF
 
static const int TNIP = NIP*NIP*NIP
 

Protected Attributes

TMatrix< NIP, DOF, real_t, true > B_1d
 
TMatrix< NIP, DOF, real_t, true > G_1d
 
TMatrix< DOF, NIP, real_t, true > Bt_1d
 
TMatrix< DOF, NIP, real_t, true > Gt_1d
 

Detailed Description

template<int DOF, int NIP, typename real_t>
class mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >

ShapeEvaluator with 3D tensor-product structure.

Definition at line 622 of file tevaluator.hpp.

Constructor & Destructor Documentation

template<int DOF, int NIP, typename real_t >
mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::TProductShapeEvaluator ( )
inline

Definition at line 632 of file tevaluator.hpp.

Member Function Documentation

template<int DOF, int NIP, typename real_t >
template<typename qpt_layout_t , typename qpt_data_t , typename M_layout_t , typename M_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Assemble ( const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const M_layout_t &  M_layout,
M_data_t &  M_data 
) const
inline

Multi-component assemble. qpt_layout is (TNIP x NumComp), M_layout is (TDOF x TDOF x NumComp)

Definition at line 754 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<int D1, int D2, bool Add, typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Assemble ( const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const D_layout_t &  D_layout,
D_data_t &  D_data 
) const
inline

Definition at line 805 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Assemble ( int  D1,
int  D2,
const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const D_layout_t &  D_layout,
D_data_t &  D_data 
) const
inline

Definition at line 842 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<typename qpt_layout_t , typename qpt_data_t , typename D_layout_t , typename D_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::AssembleGradGrad ( const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const D_layout_t &  D_layout,
D_data_t &  D_data 
) const
inline

Multi-component assemble of grad-grad element matrices. qpt_layout is (TNIP x DIM x DIM x NumComp), and D_layout is (TDOF x TDOF x NumComp).

Definition at line 882 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<bool Dx, bool Dy, bool Dz, typename dof_layout_t , typename dof_data_t , typename qpt_layout_t , typename qpt_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Calc ( const dof_layout_t &  dof_layout,
const dof_data_t &  dof_data,
const qpt_layout_t &  qpt_layout,
qpt_data_t &  qpt_data 
) const
inline

Definition at line 638 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<typename dof_layout_t , typename dof_data_t , typename qpt_layout_t , typename qpt_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Calc ( const dof_layout_t &  dof_layout,
const dof_data_t &  dof_data,
const qpt_layout_t &  qpt_layout,
qpt_data_t &  qpt_data 
) const
inline

Multi-component shape evaluation from DOFs to quadrature points. dof_layout is (TDOF x NumComp) and qpt_layout is (TNIP x NumComp).

Definition at line 665 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<typename dof_layout_t , typename dof_data_t , typename grad_layout_t , typename grad_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::CalcGrad ( const dof_layout_t &  dof_layout,
const dof_data_t &  dof_data,
const grad_layout_t &  grad_layout,
grad_data_t &  grad_data 
) const
inline

Multi-component gradient evaluation from DOFs to quadrature points. dof_layout is (TDOF x NumComp) and grad_layout is (TNIP x DIM x NumComp).

Definition at line 714 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<bool Add, typename grad_layout_t , typename grad_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::CalcGradT ( const grad_layout_t &  grad_layout,
const grad_data_t &  grad_data,
const dof_layout_t &  dof_layout,
dof_data_t &  dof_data 
) const
inline

Multi-component gradient evaluation transpose from quadrature points to DOFs. grad_layout is (TNIP x DIM x NumComp), dof_layout is (TDOF x NumComp).

Definition at line 736 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<bool Dx, bool Dy, bool Dz, bool Add, typename qpt_layout_t , typename qpt_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::CalcT ( const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const dof_layout_t &  dof_layout,
dof_data_t &  dof_data 
) const
inline

Definition at line 675 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
template<bool Add, typename qpt_layout_t , typename qpt_data_t , typename dof_layout_t , typename dof_data_t >
MFEM_ALWAYS_INLINE void mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::CalcT ( const qpt_layout_t &  qpt_layout,
const qpt_data_t &  qpt_data,
const dof_layout_t &  dof_layout,
dof_data_t &  dof_data 
) const
inline

Multi-component shape evaluation transpose from quadrature points to DOFs. qpt_layout is (TNIP x NumComp) and dof_layout is (TDOF x NumComp).

Definition at line 703 of file tevaluator.hpp.

Member Data Documentation

template<int DOF, int NIP, typename real_t >
TMatrix<NIP,DOF,real_t,true> mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::B_1d
protected

Definition at line 625 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
TMatrix<DOF,NIP,real_t,true> mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Bt_1d
protected

Definition at line 626 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
TMatrix<NIP,DOF,real_t,true> mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::G_1d
protected

Definition at line 625 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
TMatrix<DOF,NIP,real_t,true> mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::Gt_1d
protected

Definition at line 626 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
const int mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::TDOF = DOF*DOF*DOF
static

Definition at line 629 of file tevaluator.hpp.

template<int DOF, int NIP, typename real_t >
const int mfem::TProductShapeEvaluator< 3, DOF, NIP, real_t >::TNIP = NIP*NIP*NIP
static

Definition at line 630 of file tevaluator.hpp.


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