field_expr_variational.h File Reference

Go to the source code of this file.

## Classes

class | field_expr_v2_variational_unary< UnaryFunction, Expr >
struct | field_expr_v2_variational_unary< UnaryFunction, Expr >::evaluate_call_check< Result, Arg, Status >
struct | field_expr_v2_variational_unary< UnaryFunction, Expr >::evaluate_call_check< Result, Arg, std::true_type >
struct | field_expr_v2_variational_unary< UnaryFunction, Expr >::evaluate_switch< This, Result, Arg, Status >
struct | field_expr_v2_variational_unary< UnaryFunction, Expr >::evaluate_switch< This, Result, Arg, std::true_type >
struct | is_field_expr_v2_variational_arg< field_expr_v2_variational_unary< F, Expr > >
class | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_call_check< Result, Arg1, Arg2, Status >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_call_check< Result, Arg1, Arg2, std::true_type >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_switch< This, Result, Arg1, Arg2, Undet1, Undet2 >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_switch< This, Result, Arg1, Arg2, std::false_type, std::false_type >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_switch< This, Result, Arg1, Arg2, std::true_type, std::false_type >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_switch< This, Result, Arg1, Arg2, std::false_type, std::true_type >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::evaluate_switch< This, Result, Arg1, Arg2, std::true_type, std::true_type >
struct | field_expr_v2_variational_binary< BinaryFunction, Expr1, Expr2 >::hint< Result >
struct | is_field_expr_v2_variational_arg< field_expr_v2_variational_binary< F, Expr1, Expr2 > >
struct | is_field_expr_v2_variational_binary_plus_minus< Expr1, Expr2, Sfinae >
struct | is_field_expr_v2_variational_binary_plus_minus< Expr1, Expr2, typename std::enable_if< is_field_expr_v2_variational_arg< Expr1 >::value &&is_field_expr_v2_variational_arg< Expr2 >::value >::type >
struct | nl_switch< This, Arg1 >
struct | nl_switch< This, typename This::scalar_type >
struct | nl_switch< This, point_basic< typename This::scalar_type > >
struct | nl_switch< This, tensor_basic< typename This::scalar_type > >
struct | nl_switch< This, tensor3_basic< typename This::scalar_type > >
struct | nl_switch< This, tensor4_basic< typename This::scalar_type > >
class | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_call_check< Result, Arg1, Arg2, Status >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_call_check< Result, Arg1, Arg2, std::true_type >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_switch< This, Result, Arg1, Arg2, Undet1, Undet2 >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_switch< This, Result, Arg1, Arg2, std::false_type, std::false_type >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_switch< This, Result, Arg1, Arg2, std::true_type, std::false_type >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_switch< This, Result, Arg1, Arg2, std::false_type, std::true_type >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::evaluate_switch< This, Result, Arg1, Arg2, std::true_type, std::true_type >
struct | field_expr_v2_variational_binary_binded< BinaryFunction, NLExpr, VFExpr >::hint< Result >
struct | is_field_expr_v2_variational_arg< field_expr_v2_variational_binary_binded< F, Expr1, Expr2 > >
struct | is_field_expr_v2_variational_binary_multiplies_divides_left< Expr1, Expr2, Sfinae >
struct | is_field_expr_v2_variational_binary_multiplies_divides_left< Expr1, Expr2, typename std::enable_if< is_field_expr_v2_nonlinear_arg< Expr1 >::value &&! is_field_expr_v2_constant< Expr1 >::value &&is_field_expr_v2_variational_arg< Expr2 >::value >::type >
struct | is_field_expr_v2_variational_binary_multiplies_divides_right< Expr1, Expr2 >
struct | is_field_expr_v2_variational_binary_multiplies_divides_constant_left< Expr1, Expr2, Sfinae >
struct | is_field_expr_v2_variational_binary_multiplies_divides_constant_left< Expr1, Expr2, typename std::enable_if< is_field_expr_v2_constant< Expr1 >::value &&is_field_expr_v2_variational_arg< Expr2 >::value >::type >
struct | is_field_expr_v2_variational_binary_multiplies_divides_constant_right< Expr1, Expr2 >

## Namespaces

| rheolef
| This file is part of Rheolef.
| rheolef::details

## Macros

#define | _RHEOLEF_switch(VALUED, VALUE)
#define | _RHEOLEF_switch(VALUED, VALUE)
#define | _RHEOLEF_make_field_expr_v2_variational_unary_operator(FUNCTION, FUNCTOR)
#define | _RHEOLEF_switch1(VALUED1, VALUE1)
#define | _RHEOLEF_switch1(VALUED1, VALUE1)
#define | _RHEOLEF_switch2(VALUED2, VALUE2)
#define | _RHEOLEF_switch2(VALUED2, VALUE2)
#define | _RHEOLEF_switch2(VALUE1, VALUED2, VALUE2)
#define | _RHEOLEF_switch1(VALUED1, VALUE1)
#define | _RHEOLEF_switch2(VALUE1, VALUED2, VALUE2)
#define | _RHEOLEF_switch1(VALUED1, VALUE1)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_plus_minus(FUNCTION, FUNCTOR)
#define | _RHEOLEF_switch(A1_VALUED, A1_VALUE)
#define | _RHEOLEF_switch(A1_VALUED, A1_VALUE)
#define | _RHEOLEF_switch(A2_VALUED, A2_VALUE)
#define | _RHEOLEF_switch(A2_VALUED, A2_VALUE)
#define | _RHEOLEF_switch_A2(A1_VALUE, A2_VALUED, A2_VALUE)
#define | _RHEOLEF_switch(A1_VALUED, A1_VALUE)
#define | _RHEOLEF_switch_A2(A1_VALUE, A2_VALUED, A2_VALUE)
#define | _RHEOLEF_switch(A1_VALUED, A1_VALUE)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left(FUNCTION, FUNCTOR)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_right(FUNCTION, FUNCTOR)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides(FUNCTION, FUNCTOR)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left(FUNCTION, FUNCTOR)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_right(FUNCTION, FUNCTOR)
#define | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant(FUNCTION, FUNCTOR)

## Functions

| _RHEOLEF_make_field_expr_v2_variational_unary_operator (operator+, details::unary_plus) _RHEOLEF_make_field_expr_v2_variational_unary_operator(operator-
details::negate | _RHEOLEF_make_field_expr_v2_variational_unary_operator (tr, details::tr_) _RHEOLEF_make_field_expr_v2_variational_unary_operator(trans
| _RHEOLEF_make_field_expr_v2_variational_binary_operator_plus_minus (operator+, details::plus) _RHEOLEF_make_field_expr_v2_variational_binary_operator_plus_minus(operator-
| _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides (operator*, details::multiplies) _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_right(operator/
details::divides | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides (dot, details::dot_) _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides(ddot
| _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant (operator*, details::multiplies) _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_right(operator/
details::divides | _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant (dot, details::dot_) _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant(ddot

## Macro Definition Documentation

## _RHEOLEF_switch [1/8]

#define _RHEOLEF_switch | ( |  | VALUED,
|  |  | VALUE
| ) |  |

Value:
case space_constant::VALUED: \
obj.template evaluate_internal<Result, VALUE>(omega_K, K, value); break;

## _RHEOLEF_switch [2/8]

#define _RHEOLEF_switch | ( |  | VALUED,
|  |  | VALUE
| ) |  |

Value:
case space_constant::VALUED: \
obj.template evaluate_internal<Result, VALUE>(omega_K, K, sid,value, do_local_component_assembly); break;

## _RHEOLEF_make_field_expr_v2_variational_unary_operator

#define _RHEOLEF_make_field_expr_v2_variational_unary_operator | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_arg<Expr>::value \
,details::field_expr_v2_variational_unary< \
FUNCTOR \
,Expr \
> \
>::type \
FUNCTION (const Expr& expr) \
{ \
return details::field_expr_v2_variational_unary <FUNCTOR,Expr> (FUNCTOR(), expr); \
}
mkgeo_ball.expr
expr
Definition: mkgeo_ball.sh:361

Definition at line 300 of file field_expr_variational.h.

## _RHEOLEF_switch1 [1/4]

#define _RHEOLEF_switch1 | ( |  | VALUED1,
|  |  | VALUE1
| ) |  |

Value:
case space_constant::VALUED1: \
obj.template evaluate_internal<Result, VALUE1, Arg2>(omega_K, K, value); break;

## _RHEOLEF_switch1 [2/4]

#define _RHEOLEF_switch1 | ( |  | VALUED1,
|  |  | VALUE1
| ) |  |

Value:
case space_constant::VALUED1: \
obj.template evaluate_on_side_internal<Result, VALUE1, Arg2>(omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch2 [1/4]

#define _RHEOLEF_switch2 | ( |  | VALUED2,
|  |  | VALUE2
| ) |  |

Value:
case space_constant::VALUED2: \
obj.template evaluate_internal<Result, Arg1, VALUE2>(omega_K, K, value); break;

## _RHEOLEF_switch2 [2/4]

#define _RHEOLEF_switch2 | ( |  | VALUED2,
|  |  | VALUE2
| ) |  |

Value:
case space_constant::VALUED2: \
obj.template evaluate_on_side_internal<Result, Arg1, VALUE2>(omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch2 [3/4]

#define _RHEOLEF_switch2 | ( |  | VALUE1,
|  |  | VALUED2,
|  |  | VALUE2
| ) |  |

Value:
case space_constant::VALUED2: \
obj.template evaluate_internal<Result, VALUE1, VALUE2>(omega_K, K, value); break;

## _RHEOLEF_switch1 [3/4]

#define _RHEOLEF_switch1 | ( |  | VALUED1,
|  |  | VALUE1
| ) |  |

Value:
case space_constant::VALUED1: { \
switch (arg2_valued_tag) { \
_RHEOLEF_switch2(VALUE1,scalar,T2) \
_RHEOLEF_switch2(VALUE1,vector,point_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor,tensor_basic<T2>) \
_RHEOLEF_switch2(VALUE1,unsymmetric_tensor,tensor_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor3,tensor3_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor4,tensor4_basic<T2>) \
default: error_macro ("unexpected second argument valued tag="<<arg2_valued_tag); \
} \
break; \
}
tensor3
see the tensor3 page for the full documentation
tensor4
see the tensor4 page for the full documentation
tensor
see the tensor page for the full documentation
error_macro
#define error_macro(message)
Definition: dis_macros.h:49
rheolef::space_constant::scalar
@ scalar
Definition: space_constant.h:136
rheolef::space_constant::unsymmetric_tensor
@ unsymmetric_tensor
Definition: space_constant.h:139
rheolef::space_constant::vector
@ vector
Definition: space_constant.h:137

## _RHEOLEF_switch2 [4/4]

#define _RHEOLEF_switch2 | ( |  | VALUE1,
|  |  | VALUED2,
|  |  | VALUE2
| ) |  |

Value:
case space_constant::VALUED2: \
obj.template evaluate_on_side_internal<Result, VALUE1, VALUE2>(omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch1 [4/4]

#define _RHEOLEF_switch1 | ( |  | VALUED1,
|  |  | VALUE1
| ) |  |

Value:
case space_constant::VALUED1: { \
switch (arg2_valued_tag) { \
_RHEOLEF_switch2(VALUE1,scalar,T2) \
_RHEOLEF_switch2(VALUE1,vector,point_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor,tensor_basic<T2>) \
_RHEOLEF_switch2(VALUE1,unsymmetric_tensor,tensor_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor3,tensor3_basic<T2>) \
_RHEOLEF_switch2(VALUE1,tensor4,tensor4_basic<T2>) \
default: error_macro ("unexpected second argument valued tag="<<arg2_valued_tag); \
} \
break; \
}

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_plus_minus

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_plus_minus | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr1, class Expr2> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_binary_plus_minus <Expr1,Expr2>::value \
,details::field_expr_v2_variational_binary< \
FUNCTOR \
,Expr1 \
,Expr2 \
> \
>::type \
FUNCTION (const Expr1& expr1, const Expr2& expr2) \
{ \
return details::field_expr_v2_variational_binary <FUNCTOR, Expr1, Expr2> (FUNCTOR(), expr1, expr2); \
}

Definition at line 770 of file field_expr_variational.h.

## _RHEOLEF_switch [3/8]

#define _RHEOLEF_switch | ( |  | A1_VALUED,
|  |  | A1_VALUE
| ) |  |

Value:
case space_constant::A1_VALUED: \
obj.template evaluate_internal<Result, A1_VALUE, Arg2> (omega_K, K, value); break;

## _RHEOLEF_switch [4/8]

#define _RHEOLEF_switch | ( |  | A1_VALUED,
|  |  | A1_VALUE
| ) |  |

Value:
case space_constant::A1_VALUED: \
obj.template evaluate_on_side_internal<Result, A1_VALUE, Arg2> (omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch [5/8]

#define _RHEOLEF_switch | ( |  | A2_VALUED,
|  |  | A2_VALUE
| ) |  |

Value:
case space_constant::A2_VALUED: \
obj.template evaluate_internal<Result, Arg1, A2_VALUE> (omega_K, K, value); break;

## _RHEOLEF_switch [6/8]

#define _RHEOLEF_switch | ( |  | A2_VALUED,
|  |  | A2_VALUE
| ) |  |

Value:
case space_constant::A2_VALUED: \
obj.template evaluate_on_side_internal<Result, Arg1, A2_VALUE> (omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch_A2 [1/2]

#define _RHEOLEF_switch_A2 | ( |  | A1_VALUE,
|  |  | A2_VALUED,
|  |  | A2_VALUE
| ) |  |

Value:
case space_constant::A2_VALUED: \
obj.template evaluate_internal<Result, A1_VALUE, A2_VALUE> (omega_K, K, value); break;

## _RHEOLEF_switch [7/8]

#define _RHEOLEF_switch | ( |  | A1_VALUED,
|  |  | A1_VALUE
| ) |  |

Value:
case space_constant::A1_VALUED: { \
switch (arg2_valued_tag) { \
_RHEOLEF_switch_A2(A1_VALUE,scalar,T2) \
_RHEOLEF_switch_A2(A1_VALUE,vector,point_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor,tensor_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,unsymmetric_tensor,tensor_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor3,tensor3_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor4,tensor4_basic<T2>) \
default: error_macro ("unexpected second argument valued tag="<<arg2_valued_tag); \
} \
break; \
}

## _RHEOLEF_switch_A2 [2/2]

#define _RHEOLEF_switch_A2 | ( |  | A1_VALUE,
|  |  | A2_VALUED,
|  |  | A2_VALUE
| ) |  |

Value:
case space_constant::A2_VALUED: \
obj.template evaluate_on_side_internal<Result, A1_VALUE, A2_VALUE> (omega_K, K, sid, value, do_local_component_assembly); break;

## _RHEOLEF_switch [8/8]

#define _RHEOLEF_switch | ( |  | A1_VALUED,
|  |  | A1_VALUE
| ) |  |

Value:
case space_constant::A1_VALUED: { \
switch (arg2_valued_tag) { \
_RHEOLEF_switch_A2(A1_VALUE,scalar,T2) \
_RHEOLEF_switch_A2(A1_VALUE,vector,point_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor,tensor_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,unsymmetric_tensor,tensor_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor3,tensor3_basic<T2>) \
_RHEOLEF_switch_A2(A1_VALUE,tensor4,tensor4_basic<T2>) \
default: error_macro ("unexpected second argument valued tag="<<arg2_valued_tag); \
} \
break; \
}

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr1, class Expr2> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_binary_multiplies_divides_left <Expr1,Expr2>::value \
,details::field_expr_v2_variational_binary_binded< \
FUNCTOR \
,typename details::field_expr_v2_nonlinear_terminal_wrapper_traits<Expr1>::type \
,Expr2 /* vf */ \
> \
>::type \
FUNCTION (const Expr1& expr1, const Expr2& expr2) \
{ \
typedef typename details::field_expr_v2_nonlinear_terminal_wrapper_traits<Expr1>::type wrap1_t; \
return details::field_expr_v2_variational_binary_binded \
<FUNCTOR, wrap1_t, Expr2> \
(FUNCTOR(), wrap1_t(expr1), expr2); \
}

Definition at line 1400 of file field_expr_variational.h.

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_right

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_right | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr1, class Expr2> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_binary_multiplies_divides_right <Expr1,Expr2>::value \
,details::field_expr_v2_variational_binary_binded< \
details::swapper<FUNCTOR> \
, typename details::field_expr_v2_nonlinear_terminal_wrapper_traits<Expr2>::type \
,Expr1 /* vf */ \
> \
>::type \
FUNCTION (const Expr1& expr1, const Expr2& expr2) \
{ \
typedef typename details::field_expr_v2_nonlinear_terminal_wrapper_traits<Expr2>::type wrap2_t; \
return details::field_expr_v2_variational_binary_binded \
<details::swapper<FUNCTOR>, wrap2_t, Expr1> \
(details::swapper<FUNCTOR>(FUNCTOR()), wrap2_t(expr2), expr1); \
}

Definition at line 1420 of file field_expr_variational.h.

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left (FUNCTION,FUNCTOR) \
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_right (FUNCTION,FUNCTOR)
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left
#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_left(FUNCTION, FUNCTOR)
Definition: field_expr_variational.h:1400

Definition at line 1439 of file field_expr_variational.h.

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr1, class Expr2> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_binary_multiplies_divides_constant_left <Expr1,Expr2>::value \
,details::field_expr_v2_variational_unary< \
details::binder_first <FUNCTOR, Expr1> \
,Expr2 /* vf */ \
> \
>::type \
FUNCTION (const Expr1& expr1, const Expr2& expr2) \
{ \
return details::field_expr_v2_variational_unary \
<details::binder_first <FUNCTOR,Expr1>, Expr2> \
(details::binder_first <FUNCTOR,Expr1> (FUNCTOR(), expr1), expr2); \
}

Definition at line 1478 of file field_expr_variational.h.

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_right

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_right | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
template<class Expr1, class Expr2> \
inline \
typename \
std::enable_if< \
details::is_field_expr_v2_variational_binary_multiplies_divides_constant_right <Expr1,Expr2>::value \
,details::field_expr_v2_variational_unary< \
details::binder_second <FUNCTOR, Expr2> \
,Expr1 /* vf */ \
> \
>::type \
FUNCTION (const Expr1& expr1, const Expr2& expr2) \
{ \
return details::field_expr_v2_variational_unary \
<details::binder_second <FUNCTOR,Expr2>, Expr1> \
(details::binder_second <FUNCTOR,Expr2> (FUNCTOR(), expr2), expr1); \
}

Definition at line 1496 of file field_expr_variational.h.

## _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant

#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant | ( |  | FUNCTION,
|  |  | FUNCTOR
| ) |  |

Value:
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left (FUNCTION,FUNCTOR) \
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_right (FUNCTION,FUNCTOR)
_RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left
#define _RHEOLEF_make_field_expr_v2_variational_binary_operator_multiplies_divides_constant_left(FUNCTION, FUNCTOR)
Definition: field_expr_variational.h:1478

Definition at line 1514 of file field_expr_variational.h.