It model an expression expr1 * expr2. More...
It model an expression expr1 * expr2.
expr1 | |
expr2 |
#include <mul.hpp>
Public Types | |
typedef boost::mpl::vector < expr... > | v_expr |
Transform from variadic template to boost mpl vector. | |
typedef boost::mpl::size < v_expr >::type | v_sz |
size of v_expr | |
typedef boost::mpl::at< v_expr, boost::mpl::int_ < v_sz::type::value-1 > >::type | Sys_eqs |
type on which this expression operate | |
Static Public Member Functions | |
static void | value (const grid_dist_id< Sys_eqs::dims, typename Sys_eqs::stype, aggregate< size_t >, typename Sys_eqs::b_grid::decomposition::extended_type > &g_map, grid_dist_key_dx< Sys_eqs::dims > &kmap, const grid_sm< Sys_eqs::dims, void > &gs, typename Sys_eqs::stype(&spacing)[Sys_eqs::dims], std::unordered_map< long int, typename Sys_eqs::stype > &cols, typename Sys_eqs::stype coeff) |
Calculate which colums of the Matrix are non zero. More... | |
static grid_key_dx< Sys_eqs::dims > | position (grid_key_dx< Sys_eqs::dims > &pos, const grid_sm< Sys_eqs::dims, void > &gs, const comb< Sys_eqs::dims >(&s_pos)[Sys_eqs::nvar]) |
Calculate the position in the cell where the mul operator is performed. More... | |
|
inlinestatic |
Calculate the position in the cell where the mul operator is performed.
it just return the position of the staggered property in the last expression
pos | position where we are calculating the derivative |
gs | Grid info |
s_pos | staggered position of the properties |
|
inlinestatic |
Calculate which colums of the Matrix are non zero.
g_map | mapping grid |
kmap | position where the multiplication is calculated |
gs | Grid info |
spacing | of the grid |
cols | non-zero colums calculated by the function |
coeff | coefficent (constant in front of the derivative) |
Last element of multiplication