hyper.deal
Loading...
Searching...
No Matches
hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType > Class Template Reference

#include <fe_evaluation_cell_inverse.h>

Inheritance diagram for hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >:
hyperdeal::FEEvaluation< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType > hyperdeal::FEEvaluationBase< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >

Public Types

using PARENT
 
- Public Types inherited from hyperdeal::FEEvaluation< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
using PARENT
 
- Public Types inherited from hyperdeal::FEEvaluationBase< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
using NUMBER_ = Number
 
using VEC_NUMBER_ = VectorizedArrayType
 
using MF = MatrixFree<dim_x, dim_v, Number, VectorizedArrayType>
 
using VectorizedArrayTypeX = typename MF::VectorizedArrayTypeX
 
using VectorizedArrayTypeV = typename MF::VectorizedArrayTypeV
 

Public Member Functions

 FEEvaluationInverse (const MatrixFree< dim_x, dim_v, Number, VectorizedArrayType > &matrix_free, const unsigned int dof_no_x, const unsigned int dof_no_v, const unsigned int quad_no_x, const unsigned int quad_no_v)
 
const dealii::AlignedVector< Number > * get_inverse_shape () const
 
DEAL_II_ALWAYS_INLINE void submit_inv (VectorizedArrayType *__restrict data_ptr, const unsigned int q, const unsigned int q1, const unsigned int q2)
 
- Public Member Functions inherited from hyperdeal::FEEvaluation< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
 FEEvaluation (const MatrixFree< dim_x, dim_v, Number, VectorizedArrayType > &matrix_free, const unsigned int dof_no_x, const unsigned int dof_no_v, const unsigned int quad_no_x, const unsigned int quad_no_v)
 
void reinit (typename MatrixFree< dim_x, dim_v, Number, VectorizedArrayType >::ID cell_index) override
 
void read_dof_values (const dealii::LinearAlgebra::distributed::Vector< Number > &src, VectorizedArrayType *data) const
 
void read_dof_values (const dealii::LinearAlgebra::distributed::Vector< Number > &src)
 
void set_dof_values (dealii::LinearAlgebra::distributed::Vector< Number > &dst) const
 
unsigned int n_vectorization_lanes_filled () const
 
VectorizedArrayType submit_inplace (const VectorizedArrayType data, const unsigned int q) const
 
VectorizedArrayType submit_inplace (const VectorizedArrayType data, unsigned int, unsigned int qx, unsigned int qv) const
 
DEAL_II_ALWAYS_INLINE VectorizedArrayType JxW (unsigned int qx, unsigned int qv) const
 
DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim_x, VectorizedArrayType > get_gradient_x (const VectorizedArrayType *__restrict grad_in, const unsigned int q, const unsigned int qx, const unsigned int qv) const
 
DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim_v, VectorizedArrayType > get_gradient_v (const VectorizedArrayType *__restrict grad_in, const unsigned int q, const unsigned int qx, const unsigned int qv) const
 
template<bool do_add>
DEAL_II_ALWAYS_INLINE void submit_value (VectorizedArrayType *__restrict data_ptr_out, const VectorizedArrayType values_in, const unsigned int q, const unsigned int qx, const unsigned int qv) const
 
DEAL_II_ALWAYS_INLINE void submit_gradient_x (VectorizedArrayType *__restrict data_ptr_out, const VectorizedArrayType *__restrict grad_in, const unsigned int q, const unsigned int qx, const unsigned int qv) const
 
DEAL_II_ALWAYS_INLINE void submit_gradient_v (VectorizedArrayType *__restrict data_ptr_out, const VectorizedArrayType *__restrict grad_in, const unsigned int q, const unsigned int qx, const unsigned int qv) const
 
dealii::Point< dim, VectorizedArrayType > get_quadrature_point (const unsigned int q) const
 
dealii::Point< dim, VectorizedArrayType > get_quadrature_point (const unsigned int qx, const unsigned int qv) const
 
dealii::Point< dim_v, VectorizedArrayType > get_quadrature_point_v (const unsigned int qv) const
 
- Public Member Functions inherited from hyperdeal::FEEvaluationBase< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
 FEEvaluationBase (const MatrixFree< dim_x, dim_v, Number, VectorizedArrayType > &matrix_free)
 
virtual ~FEEvaluationBase ()=default
 
VectorizedArrayType * get_data_ptr ()
 
const dealii::AlignedVector< Number > * get_shape_values () const
 
const dealii::AlignedVector< Number > * get_shape_gradients () const
 

Additional Inherited Members

- Static Public Attributes inherited from hyperdeal::FEEvaluation< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
static const unsigned int dim = dim_x + dim_v
 
static const unsigned int static_dofs_per_cell_x = dealii::Utilities::pow(degree + 1, dim_x)
 
static const unsigned int static_dofs_per_cell_v = dealii::Utilities::pow(degree + 1, dim_v)
 
static const unsigned int static_dofs_per_cell = static_dofs_per_cell_x * static_dofs_per_cell_v
 
static const unsigned int n_q_points_x = dealii::Utilities::pow(n_points, dim_x)
 
static const unsigned int n_q_points_v = dealii::Utilities::pow(n_points, dim_v)
 
static const unsigned int n_q_points = n_q_points_x * n_q_points_v
 
static const unsigned int n_vectors = PARENT::n_vectors
 
static const unsigned int n_vectors_v = PARENT::n_vectors_v
 
- Static Public Attributes inherited from hyperdeal::FEEvaluationBase< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
static const int dim = dim_x + dim_v
 
static const unsigned int n_vectors = MF::VectorizedArrayTypeX::size()
 
static const unsigned int n_vectors_v = MF::VectorizedArrayTypeV::size()
 
static const int static_dofs
 
- Protected Attributes inherited from hyperdeal::FEEvaluation< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
dealii::FEEvaluation< dim_x, degree, n_points, 1, Number, typename PARENT::VectorizedArrayTypeX > phi_x
 
dealii::FEEvaluation< dim_v, degree, n_points, 1, Number, typename PARENT::VectorizedArrayTypeV > phi_v
 
- Protected Attributes inherited from hyperdeal::FEEvaluationBase< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >
dealii::AlignedVector< VectorizedArrayType > data
 
const MFmatrix_free
 
const dealii::MatrixFree< dim_x, Number, VectorizedArrayTypeX > & matrix_free_x
 
const dealii::MatrixFree< dim_v, Number, VectorizedArrayTypeV > & matrix_free_v
 
unsigned int macro_cell_x
 
unsigned int macro_cell_v
 
unsigned int lane_y
 
unsigned int macro
 
const dealii::AlignedVector< Number > * shape_values
 
const dealii::AlignedVector< Number > * shape_gradients
 

Detailed Description

template<int dim_x, int dim_v, int degree, int n_points, typename Number, typename VectorizedArrayType>
class hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >

The same as FEEvaluation but specialized for inverse mass matrix.

TODO: rename?

Member Typedef Documentation

◆ PARENT

template<int dim_x, int dim_v, int degree, int n_points, typename Number , typename VectorizedArrayType >
using hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VectorizedArrayType >::PARENT
Initial value:
FEEvaluation(const MatrixFree< dim_x, dim_v, Number, VectorizedArrayType > &matrix_free, const unsigned int dof_no_x, const unsigned int dof_no_v, const unsigned int quad_no_x, const unsigned int quad_no_v)
Definition fe_evaluation_cell.h:83

Constructor & Destructor Documentation

◆ FEEvaluationInverse()

template<int dim_x, int dim_v, int degree, int n_points, typename Number , typename VectorizedArrayType >
hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VNumber >::FEEvaluationInverse ( const MatrixFree< dim_x, dim_v, Number, VectorizedArrayType > & matrix_free,
const unsigned int dof_no_x,
const unsigned int dof_no_v,
const unsigned int quad_no_x,
const unsigned int quad_no_v )

Constructor.

Member Function Documentation

◆ get_inverse_shape()

template<int dim_x, int dim_v, int degree, int n_points, typename Number , typename VNumber >
const dealii::AlignedVector< Number > * hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VNumber >::get_inverse_shape ( ) const

Return inverse shape function.

◆ submit_inv()

template<int dim_x, int dim_v, int degree, int n_points, typename Number , typename VectorizedArrayType >
DEAL_II_ALWAYS_INLINE void hyperdeal::FEEvaluationInverse< dim_x, dim_v, degree, n_points, Number, VNumber >::submit_inv ( VectorizedArrayType *__restrict data_ptr,
const unsigned int q,
const unsigned int q1,
const unsigned int q2 )
inline

Return product of data and 1/(|J|xw).


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