Rheolef
7.2
an efficient C++ finite element environment
|
Go to the source code of this file.
Classes | |
class | std |
Namespaces | |
namespace | rheolef |
This file is part of Rheolef. | |
Macros | |
#define | _RHEOLEF_field_expr_v2_op_assign_field(OP, FUNCTOR) |
#define | _RHEOLEF_field_expr_v2_op_assign_auxil(OP, FUNCTOR, NAME, IDX) |
#define | _RHEOLEF_field_expr_v2_op_assign(OP, FUNCTOR) |
#define | _RHEOLEF_field_expr_v2_op_assign_constant_field(OP, FUNCTOR) |
#define | _RHEOLEF_field_expr_v2_op_assign_constant_auxil(OP, FUNCTOR, NAME, IDX) |
#define | _RHEOLEF_field_expr_v2_op_assign_constant(OP, FUNCTOR) |
Typedefs | |
typedef Expr1::float_type | T |
typedef Expr1::memory_type | M |
Functions | |
_RHEOLEF_field_expr_v2_op_assign (+=, details::plus_assign) _RHEOLEF_field_expr_v2_op_assign(- | |
_RHEOLEF_field_expr_v2_op_assign_constant (+=, details::plus_assign) _RHEOLEF_field_expr_v2_op_assign_constant(- | |
details::minus_assign _RHEOLEF_field_expr_v2_op_assign_constant details::multiplies_assign | _RHEOLEF_field_expr_v2_op_assign_constant (/=, details::divides_assign) template< class Expr1 |
rheolef::std enable_if ::type dual const Expr1 expr1, const Expr2 expr2 | dual (const Expr1 &expr1, const Expr2 &expr2) |
check_macro (expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)") | |
check_macro (expr2.have_homogeneous_space(Xh2), "dual(expr1,expr2); expr2 should have homogeneous space. HINT: use dual(expr1,interpolate(Xh, expr2))") | |
check_macro (Xh1.name()==Xh2.name(), "dual(expr1,expr2); incompatible \""<< Xh1.name()<<"\" and \""<< Xh2.name()<<" spaces for expr1 and expr2") | |
return | dis_inner_product (expr1.begin_dof(), expr2.begin_dof(), Xh1.ndof(), Xh1.ownership().comm(), M()) |
template<class Expr1 , class Expr2 > | |
std::enable_if< details::is_field_expr_affine_homogeneous< Expr1 >::value &&details::is_field_expr_v2_constant< Expr2 >::value, typenameExpr1::float_type >::type | dual (const Expr1 &expr1, const Expr2 &expr2) |
template<class Expr > | |
std::enable_if< details::has_field_rdof_interface< Expr >::value &&!details::is_field< Expr >::value, form_basic< typenameExpr::value_type, typenameExpr::memory_type > >::type | diag (const Expr &expr) |
Variables | |
space_basic< T, M > | Xh1 |
space_basic< T, M > | Xh2 |
#define _RHEOLEF_field_expr_v2_op_assign_field | ( | OP, | |
FUNCTOR | |||
) |
Definition at line 98 of file field_expr.h.
#define _RHEOLEF_field_expr_v2_op_assign_auxil | ( | OP, | |
FUNCTOR, | |||
NAME, | |||
IDX | |||
) |
Definition at line 117 of file field_expr.h.
#define _RHEOLEF_field_expr_v2_op_assign | ( | OP, | |
FUNCTOR | |||
) |
Definition at line 137 of file field_expr.h.
#define _RHEOLEF_field_expr_v2_op_assign_constant_field | ( | OP, | |
FUNCTOR | |||
) |
Definition at line 151 of file field_expr.h.
#define _RHEOLEF_field_expr_v2_op_assign_constant_auxil | ( | OP, | |
FUNCTOR, | |||
NAME, | |||
IDX | |||
) |
Definition at line 164 of file field_expr.h.
#define _RHEOLEF_field_expr_v2_op_assign_constant | ( | OP, | |
FUNCTOR | |||
) |
Definition at line 177 of file field_expr.h.
typedef Expr1::float_type T |
Definition at line 230 of file field_expr.h.
typedef Expr1::memory_type M |
Definition at line 231 of file field_expr.h.
check_macro | ( | expr1. | have_homogeneous_spaceXh1, |
"dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)" | |||
) |
check_macro | ( | expr2. | have_homogeneous_spaceXh2, |
"dual(expr1,expr2); expr2 should have homogeneous space. HINT: use dual(expr1,interpolate(Xh, expr2))" | |||
) |
check_macro | ( | Xh1. | name() = =Xh2.name() , |
"dual(expr1,expr2); incompatible \""<< Xh1.name()<<"\" and \""<< Xh2.name()<<" spaces for expr1 and expr2" | |||
) |
return dis_inner_product | ( | expr1. | begin_dof(), |
expr2. | begin_dof(), | ||
Xh1. | ndof(), | ||
Xh1. | ownership).comm(, | ||
M() | |||
) |
Definition at line 232 of file field_expr.h.
Definition at line 232 of file field_expr.h.