deal.II version GIT relicensing-1936-ge55124254b 2024-10-04 21:10:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable > Struct Template Reference

#include <deal.II/matrix_free/fe_point_evaluation.h>

Public Types

using ScalarNumber = typename internal::VectorizedArrayTrait< Number >::value_type
 
using VectorizedArrayType = typename ::internal::VectorizedArrayTrait< Number >::vectorized_value_type
 
using value_type = Tensor< 1, n_components, Number >
 
using scalar_value_type = Tensor< 1, n_components, ScalarNumber >
 
using vectorized_value_type = Tensor< 1, n_components, VectorizedArrayType >
 
using unit_gradient_type = Tensor< 1, n_components, Tensor< 1, dim, Number > >
 
using real_gradient_type = std::conditional_t< n_components==spacedim, Tensor< 2, spacedim, Number >, Tensor< 1, n_components, Tensor< 1, spacedim, Number > > >
 
using scalar_unit_gradient_type = Tensor< 1, n_components, Tensor< 1, dim, ScalarNumber > >
 
using vectorized_unit_gradient_type = Tensor< 1, n_components, Tensor< 1, dim, VectorizedArrayType > >
 
using interface_vectorized_unit_gradient_type = Tensor< 1, dim, Tensor< 1, n_components, VectorizedArrayType > >
 

Static Public Member Functions

static void read_value (const ScalarNumber vector_entry, const unsigned int component, scalar_value_type &result)
 
static scalar_value_type sum_value (const scalar_value_type &result)
 
static scalar_value_type sum_value (const vectorized_value_type &result)
 
static ScalarNumber sum_value (const unsigned int component, const vectorized_value_type &result)
 
static void set_gradient (const interface_vectorized_unit_gradient_type &value, const unsigned int vector_lane, unit_gradient_type &result)
 
static void get_gradient (interface_vectorized_unit_gradient_type &value, const unsigned int vector_lane, const unit_gradient_type &result)
 
static void get_gradient (interface_vectorized_unit_gradient_type &value, const unsigned int vector_lane, const DerivativeForm< 1, dim, n_components, Number > &result)
 
static void set_zero_gradient (real_gradient_type &value, const unsigned int vector_lane)
 
static void set_value (const vectorized_value_type &value, const unsigned int vector_lane, scalar_value_type &result)
 
static void set_value (const vectorized_value_type &value, const unsigned int, vectorized_value_type &result)
 
static void get_value (vectorized_value_type &value, const unsigned int vector_lane, const scalar_value_type &result)
 
static void get_value (vectorized_value_type &value, const unsigned int, const vectorized_value_type &result)
 
static void set_zero_value (value_type &value, const unsigned int vector_lane)
 
static void access (value_type &value, const unsigned int vector_lane, const unsigned int component, const ScalarNumber &shape_value)
 
static ScalarNumber access (const value_type &value, const unsigned int vector_lane, const unsigned int component)
 
static void access (real_gradient_type &value, const unsigned int vector_lane, const unsigned int component, const Tensor< 1, spacedim, ScalarNumber > &shape_gradient)
 
static Tensor< 1, spacedim, ScalarNumberaccess (const real_gradient_type &value, const unsigned int vector_lane, const unsigned int component)
 

Detailed Description

template<int dim, int spacedim, int n_components, typename Number, typename Enable = void>
struct internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >

Struct to distinguish between the value and gradient types of different numbers of components used by the FlexibleEvaluator class.

Definition at line 64 of file fe_point_evaluation.h.

Member Typedef Documentation

◆ ScalarNumber

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::ScalarNumber = typename internal::VectorizedArrayTrait<Number>::value_type

Definition at line 66 of file fe_point_evaluation.h.

◆ VectorizedArrayType

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::VectorizedArrayType = typename ::internal::VectorizedArrayTrait< Number>::vectorized_value_type

Definition at line 68 of file fe_point_evaluation.h.

◆ value_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::value_type = Tensor<1, n_components, Number>

Definition at line 71 of file fe_point_evaluation.h.

◆ scalar_value_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::scalar_value_type = Tensor<1, n_components, ScalarNumber>

Definition at line 72 of file fe_point_evaluation.h.

◆ vectorized_value_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::vectorized_value_type = Tensor<1, n_components, VectorizedArrayType>

Definition at line 73 of file fe_point_evaluation.h.

◆ unit_gradient_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::unit_gradient_type = Tensor<1, n_components, Tensor<1, dim, Number> >

Definition at line 75 of file fe_point_evaluation.h.

◆ real_gradient_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::real_gradient_type = std::conditional_t< n_components == spacedim, Tensor<2, spacedim, Number>, Tensor<1, n_components, Tensor<1, spacedim, Number> >>

Definition at line 77 of file fe_point_evaluation.h.

◆ scalar_unit_gradient_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::scalar_unit_gradient_type = Tensor<1, n_components, Tensor<1, dim, ScalarNumber> >

Definition at line 81 of file fe_point_evaluation.h.

◆ vectorized_unit_gradient_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::vectorized_unit_gradient_type = Tensor<1, n_components, Tensor<1, dim, VectorizedArrayType> >

Definition at line 83 of file fe_point_evaluation.h.

◆ interface_vectorized_unit_gradient_type

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
using internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::interface_vectorized_unit_gradient_type = Tensor<1, dim, Tensor<1, n_components, VectorizedArrayType> >

Definition at line 85 of file fe_point_evaluation.h.

Member Function Documentation

◆ read_value()

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::read_value ( const ScalarNumber  vector_entry,
const unsigned int  component,
scalar_value_type result 
)
inlinestatic

Definition at line 89 of file fe_point_evaluation.h.

◆ sum_value() [1/3]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static scalar_value_type internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::sum_value ( const scalar_value_type result)
inlinestatic

Definition at line 98 of file fe_point_evaluation.h.

◆ sum_value() [2/3]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static scalar_value_type internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::sum_value ( const vectorized_value_type result)
inlinestatic

Definition at line 104 of file fe_point_evaluation.h.

◆ sum_value() [3/3]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static ScalarNumber internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::sum_value ( const unsigned int  component,
const vectorized_value_type result 
)
inlinestatic

Definition at line 115 of file fe_point_evaluation.h.

◆ set_gradient()

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::set_gradient ( const interface_vectorized_unit_gradient_type value,
const unsigned int  vector_lane,
unit_gradient_type result 
)
inlinestatic

Definition at line 123 of file fe_point_evaluation.h.

◆ get_gradient() [1/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::get_gradient ( interface_vectorized_unit_gradient_type value,
const unsigned int  vector_lane,
const unit_gradient_type result 
)
inlinestatic

Definition at line 135 of file fe_point_evaluation.h.

◆ get_gradient() [2/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::get_gradient ( interface_vectorized_unit_gradient_type value,
const unsigned int  vector_lane,
const DerivativeForm< 1, dim, n_components, Number > &  result 
)
inlinestatic

Definition at line 146 of file fe_point_evaluation.h.

◆ set_zero_gradient()

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::set_zero_gradient ( real_gradient_type value,
const unsigned int  vector_lane 
)
inlinestatic

Definition at line 157 of file fe_point_evaluation.h.

◆ set_value() [1/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::set_value ( const vectorized_value_type value,
const unsigned int  vector_lane,
scalar_value_type result 
)
inlinestatic

Definition at line 167 of file fe_point_evaluation.h.

◆ set_value() [2/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::set_value ( const vectorized_value_type value,
const unsigned int  ,
vectorized_value_type result 
)
inlinestatic

Definition at line 176 of file fe_point_evaluation.h.

◆ get_value() [1/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::get_value ( vectorized_value_type value,
const unsigned int  vector_lane,
const scalar_value_type result 
)
inlinestatic

Definition at line 184 of file fe_point_evaluation.h.

◆ get_value() [2/2]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::get_value ( vectorized_value_type value,
const unsigned int  ,
const vectorized_value_type result 
)
inlinestatic

Definition at line 193 of file fe_point_evaluation.h.

◆ set_zero_value()

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::set_zero_value ( value_type value,
const unsigned int  vector_lane 
)
inlinestatic

Definition at line 201 of file fe_point_evaluation.h.

◆ access() [1/4]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::access ( value_type value,
const unsigned int  vector_lane,
const unsigned int  component,
const ScalarNumber shape_value 
)
inlinestatic

Definition at line 209 of file fe_point_evaluation.h.

◆ access() [2/4]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static ScalarNumber internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::access ( const value_type value,
const unsigned int  vector_lane,
const unsigned int  component 
)
inlinestatic

Definition at line 219 of file fe_point_evaluation.h.

◆ access() [3/4]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static void internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::access ( real_gradient_type value,
const unsigned int  vector_lane,
const unsigned int  component,
const Tensor< 1, spacedim, ScalarNumber > &  shape_gradient 
)
inlinestatic

Definition at line 228 of file fe_point_evaluation.h.

◆ access() [4/4]

template<int dim, int spacedim, int n_components, typename Number , typename Enable = void>
static Tensor< 1, spacedim, ScalarNumber > internal::FEPointEvaluation::EvaluatorTypeTraits< dim, spacedim, n_components, Number, Enable >::access ( const real_gradient_type value,
const unsigned int  vector_lane,
const unsigned int  component 
)
inlinestatic

Definition at line 240 of file fe_point_evaluation.h.


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