Rheolef  7.2
an efficient C++ finite element environment
Loading...
Searching...
No Matches
field_expr_v2_nonlinear_node_unary< UnaryFunction, Expr >

Detailed Description

template<class UnaryFunction, class Expr>
class rheolef::details::field_expr_v2_nonlinear_node_unary< UnaryFunction, Expr >

Definition at line 59 of file field_expr_recursive.h.

Classes

struct  const_iterator
struct  evaluate_call_check
struct  evaluate_call_check< Result, Arg, std::true_type >
struct  evaluate_switch
struct  evaluate_switch< This, Result, Arg, space_constant::last_valued >

Public Types

using size_type = geo_element::size_type
using memory_type = typename Expr::memory_type
using result_type = typename details::generic_unary_traits<UnaryFunction>::template result_hint<typename Expr::result_type>::type
using value_type = result_type
using scalar_type = typename scalar_traits<value_type>::type
using float_type = typename float_traits<scalar_type>::type
using geo_type = geo_basic<float_type,memory_type>
using band_type = band_basic<float_type,memory_type>
using space_type = space_basic<float_type,memory_type>
using self_type = field_expr_v2_nonlinear_node_unary<UnaryFunction,Expr>
using is_affine_homogeneous

Public Member Functions

 field_expr_v2_nonlinear_node_unary (const UnaryFunction &f, const Expr &expr)
bool have_homogeneous_space (space_basic< scalar_type, memory_type > &Vh) const
const_iterator begin_dof () const
const Expr & expr () const
space_constant::valued_type valued_tag () const
void initialize (const piola_on_pointset< float_type > &pops, const integrate_option &iopt)
void initialize (const space_basic< float_type, memory_type > &Xh, const piola_on_pointset< float_type > &pops, const integrate_option &iopt)
template<class Result, class Arg, class M>
void evaluate_call (const geo_basic< float_type, M > &omega_K, const geo_element &K, Eigen::Matrix< Result, Eigen::Dynamic, 1 > &value) const
template<class Result, class Arg, class M>
void evaluate_call (const geo_basic< float_type, M > &omega_K, const geo_element &K, const side_information_type &sid, Eigen::Matrix< Result, Eigen::Dynamic, 1 > &value) const

Public Attributes

_RHEOLEF_evaluate_switch_specialization(space_constant::scalar, T) _RHEOLEF_evaluate_switch_specialization(space_constant Expr _expr
std::array< Eigen::Matrix< scalar_type, Eigen::Dynamic, 1 >,reference_element::max_variant_scalar_val
std::array< Eigen::Matrix< point_basic< scalar_type >, Eigen::Dynamic, 1 >,reference_element::max_variant_vector_val
std::array< Eigen::Matrix< tensor_basic< scalar_type >, Eigen::Dynamic, 1 >,reference_element::max_variant_tensor_val
std::array< Eigen::Matrix< tensor3_basic< scalar_type >, Eigen::Dynamic, 1 >,reference_element::max_variant_tensor3_val
std::array< Eigen::Matrix< tensor4_basic< scalar_type >, Eigen::Dynamic, 1 >,reference_element::max_variant_tensor4_val

Static Public Attributes

static const space_constant::valued_type valued_hint = space_constant::valued_tag_traits<result_type>::value

Member Typedef Documentation

◆ size_type

template<class UnaryFunction, class Expr>
using size_type = geo_element::size_type

Definition at line 63 of file field_expr_recursive.h.

◆ memory_type

template<class UnaryFunction, class Expr>
using memory_type = typename Expr::memory_type

Definition at line 64 of file field_expr_recursive.h.

◆ result_type

template<class UnaryFunction, class Expr>
using result_type = typename details::generic_unary_traits<UnaryFunction>::template result_hint<typename Expr::result_type>::type

Definition at line 65 of file field_expr_recursive.h.

◆ value_type

template<class UnaryFunction, class Expr>
using value_type = result_type

Definition at line 66 of file field_expr_recursive.h.

◆ scalar_type

template<class UnaryFunction, class Expr>
using scalar_type = typename scalar_traits<value_type>::type

Definition at line 67 of file field_expr_recursive.h.

◆ float_type

template<class UnaryFunction, class Expr>
using float_type = typename float_traits<scalar_type>::type

Definition at line 68 of file field_expr_recursive.h.

◆ geo_type

template<class UnaryFunction, class Expr>
using geo_type = geo_basic<float_type,memory_type>

Definition at line 69 of file field_expr_recursive.h.

◆ band_type

template<class UnaryFunction, class Expr>
using band_type = band_basic<float_type,memory_type>

Definition at line 70 of file field_expr_recursive.h.

◆ space_type

template<class UnaryFunction, class Expr>
using space_type = space_basic<float_type,memory_type>

Definition at line 71 of file field_expr_recursive.h.

◆ self_type

template<class UnaryFunction, class Expr>
using self_type = field_expr_v2_nonlinear_node_unary<UnaryFunction,Expr>

Definition at line 72 of file field_expr_recursive.h.

◆ is_affine_homogeneous

template<class UnaryFunction, class Expr>
using is_affine_homogeneous
Initial value:
and_type<
or_type<
std::is_same<UnaryFunction,details::unary_plus>
,std::is_same<UnaryFunction,details::negate>
,std::is_same<UnaryFunction,details::binder_first <details::plus, scalar_type>>
,std::is_same<UnaryFunction,details::binder_second<details::plus, scalar_type>>
,std::is_same<UnaryFunction,details::binder_first <details::minus, scalar_type>>
,std::is_same<UnaryFunction,details::binder_second<details::minus, scalar_type>>
,std::is_same<UnaryFunction,details::binder_first <details::multiplies,scalar_type>>
,std::is_same<UnaryFunction,details::binder_second<details::multiplies,scalar_type>>
,std::is_same<UnaryFunction,details::binder_second<details::divides, scalar_type>>
>
>

Definition at line 82 of file field_expr_recursive.h.

Constructor & Destructor Documentation

◆ field_expr_v2_nonlinear_node_unary()

template<class UnaryFunction, class Expr>
field_expr_v2_nonlinear_node_unary ( const UnaryFunction & f,
const Expr & expr )

Definition at line 403 of file field_expr_recursive.h.

Member Function Documentation

◆ have_homogeneous_space()

template<class UnaryFunction, class Expr>
bool have_homogeneous_space ( space_basic< scalar_type, memory_type > & Vh) const

Definition at line 97 of file field_expr_recursive.h.

◆ begin_dof()

template<class UnaryFunction, class Expr>
const_iterator begin_dof ( ) const

Definition at line 116 of file field_expr_recursive.h.

◆ expr()

template<class UnaryFunction, class Expr>
const Expr & expr ( ) const

Definition at line 124 of file field_expr_recursive.h.

◆ valued_tag()

template<class UnaryFunction, class Expr>
space_constant::valued_type valued_tag ( ) const

Definition at line 126 of file field_expr_recursive.h.

◆ initialize() [1/2]

template<class UnaryFunction, class Expr>
void initialize ( const piola_on_pointset< float_type > & pops,
const integrate_option & iopt )

Definition at line 144 of file field_expr_recursive.h.

◆ initialize() [2/2]

template<class UnaryFunction, class Expr>
void initialize ( const space_basic< float_type, memory_type > & Xh,
const piola_on_pointset< float_type > & pops,
const integrate_option & iopt )

Definition at line 149 of file field_expr_recursive.h.

◆ evaluate_call() [1/2]

template<class UnaryFunction, class Expr>
template<class Result, class Arg, class M>
void evaluate_call ( const geo_basic< float_type, M > & omega_K,
const geo_element & K,
Eigen::Matrix< Result, Eigen::Dynamic, 1 > & value ) const

Definition at line 222 of file field_expr_recursive.h.

◆ evaluate_call() [2/2]

template<class UnaryFunction, class Expr>
template<class Result, class Arg, class M>
void evaluate_call ( const geo_basic< float_type, M > & omega_K,
const geo_element & K,
const side_information_type & sid,
Eigen::Matrix< Result, Eigen::Dynamic, 1 > & value ) const

Definition at line 240 of file field_expr_recursive.h.

Member Data Documentation

◆ valued_hint

template<class UnaryFunction, class Expr>
const space_constant::valued_type valued_hint = space_constant::valued_tag_traits<result_type>::value
static

Definition at line 123 of file field_expr_recursive.h.

◆ _expr

◆ _scalar_val

template<class UnaryFunction, class Expr>
std::array< Eigen::Matrix<scalar_type,Eigen::Dynamic,1> ,reference_element::max_variant> _scalar_val
mutable

Definition at line 386 of file field_expr_recursive.h.

◆ _vector_val

template<class UnaryFunction, class Expr>
std::array< Eigen::Matrix<point_basic<scalar_type>,Eigen::Dynamic,1> ,reference_element::max_variant> _vector_val
mutable

Definition at line 389 of file field_expr_recursive.h.

◆ _tensor_val

template<class UnaryFunction, class Expr>
std::array< Eigen::Matrix<tensor_basic<scalar_type>,Eigen::Dynamic,1> ,reference_element::max_variant> _tensor_val
mutable

Definition at line 392 of file field_expr_recursive.h.

◆ _tensor3_val

template<class UnaryFunction, class Expr>
std::array< Eigen::Matrix<tensor3_basic<scalar_type>,Eigen::Dynamic,1> ,reference_element::max_variant> _tensor3_val
mutable

Definition at line 395 of file field_expr_recursive.h.

◆ _tensor4_val

template<class UnaryFunction, class Expr>
std::array< Eigen::Matrix<tensor4_basic<scalar_type>,Eigen::Dynamic,1> ,reference_element::max_variant> _tensor4_val
mutable

Definition at line 398 of file field_expr_recursive.h.


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