Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::vf::Pow< ExprT1, ExprT2, DomainAssumption > Class Template Reference
+ Collaboration diagram for Feel::vf::Pow< ExprT1, ExprT2, DomainAssumption >:

Classes

struct  HasTestFunction
 
struct  HasTrialFunction
 
struct  tensor
 

Public Types

using evaluate_type = evaluate_expression_t< this_type >
 
typedef ExprT1 expression_1_type
 
typedef ExprT2 expression_2_type
 
using test_basis = std::nullptr_t
 
typedef Pow< ExprT1, ExprT2, DomainAssumption > this_type
 
using trial_basis = std::nullptr_t
 
typedef expression_1_type::value_type value_1_type
 
typedef expression_2_type::value_type value_2_type
 
using value_type = decltype(std::pow(value_1_type{}, value_2_type{}))
 

Public Member Functions

template<typename SymbolsExprType >
auto applySymbolsExpr (SymbolsExprType const &se) const
 
template<typename TheSymbolExprType >
void dependentSymbols (std::string const &symb, std::map< std::string, std::set< std::string > > &res, TheSymbolExprType const &se) const
 
template<int diffOrder, typename TheSymbolExprType >
auto diff (std::string const &diffVariable, WorldComm const &world, std::string const &dirLibExpr, TheSymbolExprType const &se) const
 
size_type dynamicContext () const
 dynamic context More...
 
evaluate_type evaluate (bool p) const
 evaluate the expression without context
 
template<typename TheSymbolExprType >
bool hasSymbolDependency (std::string const &symb, TheSymbolExprType const &se) const
 
bool isPolynomial () const
 expression is polynomial?
 
bool isSymetric () const
 
expression_1_type const & left () const
 
uint16_type polynomialOrder () const
 polynomial order
 
 Pow (Pow &&)=default
 
 Pow (Pow const &)=default
 
template<typename TheExprT1 , typename TheExprT2 >
 Pow (TheExprT1 &&__expr1, TheExprT2 &&__expr2)
 
expression_2_type const & right () const
 
void setParameterValues (std::map< std::string, value_type > const &mp)
 
void updateParameterValues (std::map< std::string, double > &pv) const
 

Static Public Attributes

static const size_type context = ExprT1::context|ExprT2::context
 
template<typename Func >
static const bool has_test_basis = false
 
template<typename Func >
static const bool has_trial_basis = false
 
static const bool is_terminal = false
 

Protected Attributes

expression_1_type M_expr_1
 
expression_2_type M_expr_2
 

Member Function Documentation

◆ dynamicContext()

template<typename ExprT1 , typename ExprT2 , PowerDomainAssumption DomainAssumption = PowerDomainAssumption::SymbolIndependentExponent>
size_type Feel::vf::Pow< ExprT1, ExprT2, DomainAssumption >::dynamicContext ( ) const

dynamic context

Warning
the Pow order computation is wrong here, we actually need the ExprT2 value (and not imorder) to multiply by ExprT1::imorder.

References Feel::vf::dynamicContext().