8 #ifndef OPENFPM_NUMERICS_SRC_FINITEDIFFERENCE_EQ_HPP_
9 #define OPENFPM_NUMERICS_SRC_FINITEDIFFERENCE_EQ_HPP_
17 #include "util/util_num.hpp"
27 template<
typename expr1,
typename expr2,
typename Sys_eqs>
49 return expr1::value_s(it) - expr2::value_s(it);
58 return expr1::value_s(it) - expr2::value_s(it);
65 template<
unsigned int dim,
typename T>
80 template<
unsigned int f,
typename Sys_eqs>
93 cols[g_map.template get<0>(kmap)*Sys_eqs::nvar + f] += coeff;
111 inline size_t mat_factor(
size_t nvar,
size_t sz,
const size_t ord)
117 #include "Average.hpp"
118 #include "Derivative.hpp"
120 #include "Laplacian.hpp"
static void value(const grid_key_dx< Sys_eqs::dims > &pos)
Create the row of the Matrix.
pos_val()
Initialize to zero the value.
Grid key for a distributed grid.
static void value(const map_grid &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)
fill the row
static void value_f(grid_key_dx< Sys_eqs::dims > &it)
fill the row
static openfpm::vector< cval< typename Sys_eqs::stype > > value_s(grid_key_dx< Sys_eqs::dims > &it)
fill the row
Implementation of 1-D std::vector like structure.