|
| template<typename H > |
| | staggered_grid_dist (const grid_dist_id< dim, St, H, typename Decomposition::base_type, Memory, grid_cpu< dim, H > > &g, const Ghost< dim, long int > &gh, Box< dim, size_t > ext) |
| | This constructor is special, it construct an expanded grid that perfectly overlap with the previous.
|
| |
| | staggered_grid_dist (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, St > &ghost) |
| | Constructor.
|
| |
| | staggered_grid_dist (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &ghost) |
| | Constructor.
|
| |
| | staggered_grid_dist (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g, const periodicity< dim > &p) |
| |
| | staggered_grid_dist (const Decomposition &dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) |
| |
| | staggered_grid_dist (const Decomposition &dec, const size_t(&g_sz)[dim], const Ghost< dim, St > &ghost) |
| |
| template<unsigned int p> |
| void | setStagPosition (openfpm::vector< comb< dim > > &cmb) |
| | set the staggered positions of the properties
|
| |
| void | setDefaultStagPosition () |
| | It set all the properties defined to be staggered on the default location.
|
| |
| template<typename Grid_dst , unsigned int ... pos> |
| bool | to_normal (Grid_dst &g_dst, const Padding< dim > &pd, const long int(&start)[dim], const long int(&stop)[dim]) |
| | Copy the staggered grid into a normal one.
|
| |
| const | openfpm::vector (&getStagPositions())[T |
| | Get the staggered positions.
|
| |
| void | write (std::string str) |
| | Write a vtk file with the information of the staggered grid.
|
| |
| bool | is_staggered_prop (size_t prp) |
| | Return if the properties is a staggered property or not.
|
| |
| bool | is_staggered () const |
| | Return if the grid is staggered.
|
| |
| const Box< dim, St > | getDomain () const |
| | Get the domain where the grid is defined.
|
| |
| Point< dim, St > | getOffset (size_t i) |
| | Get the point where it start the origin of the grid of the sub-domain i.
|
| |
| St | spacing (size_t i) const |
| | Get the spacing of the grid in direction i.
|
| |
| size_t | size () const |
| | Return the total number of points in the grid.
|
| |
| void | setBackgroundValue (T &bv) |
| | set the background value
|
| |
| template<unsigned int p> |
| void | setBackgroundValue (const typename boost::mpl::at< typename T::type, boost::mpl::int_< p > >::type &bv) |
| | set the background value
|
| |
| size_t | size_local_inserted () const |
| | Return the local total number of points inserted in the grid.
|
| |
| size_t | size (size_t i) const |
| | Return the total number of points in the grid.
|
| |
| | grid_dist_id (const grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > &g) |
| | Copy constructor.
|
| |
| template<typename H > |
| | grid_dist_id (const grid_dist_id< dim, St, H, typename Decomposition::base_type, Memory, grid_cpu< dim, H > > &g, const Ghost< dim, long int > &gh, Box< dim, size_t > ext) |
| | This constructor is special, it construct an expanded grid that perfectly overlap with the previous.
|
| |
| template<typename Decomposition2 > |
| | grid_dist_id (const Decomposition2 &dec, const size_t(&g_sz)[dim], const Ghost< dim, St > &ghost) |
| |
| | grid_dist_id (Decomposition &&dec, const size_t(&g_sz)[dim], const Ghost< dim, St > &ghost) |
| |
| | grid_dist_id (const Decomposition &dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) |
| |
| template<typename Decomposition2 > |
| | grid_dist_id (const Decomposition2 &dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) |
| |
| | grid_dist_id (Decomposition &&dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) |
| |
| | grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, St > &g, size_t opt=0) |
| |
| | grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g, size_t opt=0) |
| |
| | grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, St > &g, const periodicity< dim > &p, size_t opt=0) |
| |
| | grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g, const periodicity< dim > &p, size_t opt=0, const grid_sm< dim, void > &g_dec=grid_sm< dim, void >()) |
| |
| | grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g, const periodicity< dim > &p, openfpm::vector< Box< dim, long int > > &bx_def) |
| | It construct a grid on the full domain restricted to the set of boxes specified.
|
| |
| const grid_sm< dim, T > & | getGridInfo () const |
| | Get an object containing the grid informations.
|
| |
| const grid_sm< dim, void > & | getGridInfoVoid () const |
| | Get an object containing the grid informations without type.
|
| |
| Decomposition & | getDecomposition () |
| | Get the object that store the information about the decomposition.
|
| |
| const Decomposition & | getDecomposition () const |
| | Get the object that store the information about the decomposition.
|
| |
| const CellDecomposer_sm< dim, St, shift< dim, St > > & | getCellDecomposer () const |
| | Return the cell decomposer.
|
| |
| bool | isInside (const grid_key_dx< dim > &gk) const |
| | Check that the global grid key is inside the grid domain.
|
| |
| size_t | getLocalDomainSize () const |
| | Get the total number of grid points for the calling processor.
|
| |
| size_t | getLocalDomainWithGhostSize () const |
| | Get the total number of grid points with ghost for the calling processor.
|
| |
| const openfpm::vector< GBoxes< device_grid::dims > > & | getLocalGridsInfo () const |
| | It return the informations about the local grids.
|
| |
| void | getGlobalGridsInfo (openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext_global) const |
| | It gathers the information about local grids for all of the processors.
|
| |
| grid_dist_iterator< dim, device_grid, decltype(device_grid::type_of_subiterator()), FREE > | getOldDomainIterator () const |
| | It return an iterator that span the full grid domain (each processor span its local domain)
|
| |
| grid_dist_id_iterator_dec< Decomposition > | getGridIterator (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop) |
| |
| grid_dist_id_iterator_dec< Decomposition, true > | getGridGhostIterator (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop) |
| |
| grid_dist_id_iterator_dec< Decomposition > | getGridIterator () |
| |
| grid_dist_iterator< dim, device_grid, decltype(device_grid::type_of_subiterator()), FREE > | getDomainIterator () const |
| | It return an iterator that span the full grid domain (each processor span its local domain)
|
| |
| template<unsigned int Np> |
| grid_dist_iterator< dim, device_grid, decltype(device_grid::template type_of_subiterator< stencil_offset_compute< dim, Np > >()), FREE, stencil_offset_compute< dim, Np > > | getDomainIteratorStencil (const grid_key_dx< dim >(&stencil_pnt)[Np]) const |
| | It return an iterator that span the full grid domain (each processor span its local domain)
|
| |
| grid_dist_iterator< dim, device_grid, decltype(device_grid::type_of_iterator()), FIXED > | getDomainGhostIterator () const |
| | It return an iterator that span the grid domain + ghost part.
|
| |
| grid_dist_iterator_sub< dim, device_grid > | getSubDomainIterator (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop) const |
| | It return an iterator that span the grid domain only in the specified part.
|
| |
| grid_dist_iterator_sub< dim, device_grid > | getSubDomainIterator (const long int(&start)[dim], const long int(&stop)[dim]) const |
| | It return an iterator that span the grid domain only in the specified part.
|
| |
| | ~grid_dist_id () |
| | Destructor.
|
| |
| Vcluster & | getVC () |
| | Get the Virtual Cluster machine.
|
| |
| void | removeUnusedBuffers () |
| | Eliminate many internal temporary buffer you can use this between flushes if you get some out of memory.
|
| |
| bool | is_staggered () const |
| | Indicate that this grid is not staggered.
|
| |
| template<typename bg_key > |
| void | remove (const grid_dist_key_dx< dim, bg_key > &v1) |
| | remove an element in the grid
|
| |
| template<typename bg_key > |
| void | remove_no_flush (const grid_dist_key_dx< dim, bg_key > &v1) |
| | remove an element in the grid
|
| |
| template<typename ... v_reduce> |
| void | flush (flush_type opt=flush_type::FLUSH_ON_HOST) |
| |
| void | flush_remove () |
| | remove an element in the grid
|
| |
| template<unsigned int p, typename bg_key > |
| auto | insert (const grid_dist_key_dx< dim, bg_key > &v1) -> decltype(loc_grid.get(v1.getSub()).template insert< p >(v1.getKey())) |
| | insert an element in the grid
|
| |
| template<unsigned int p, typename bg_key > |
| auto | insertFlush (const grid_dist_key_dx< dim, bg_key > &v1) -> decltype(loc_grid.get(v1.getSub()).template insertFlush< p >(v1.getKey())) |
| | insert an element in the grid
|
| |
| template<typename bg_key > |
| auto | insertFlush (const grid_dist_key_dx< dim, bg_key > &v1) -> decltype(loc_grid.get(v1.getSub()).template insertFlush(v1.getKey())) |
| | insert an element in the grid
|
| |
| template<unsigned int p, typename bg_key > |
| auto | get (const grid_dist_key_dx< dim, bg_key > &v1) const -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p, typename bg_key > |
| auto | get (const grid_dist_key_dx< dim, bg_key > &v1) -> decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey())) |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p = 0> |
| auto | get (const grid_dist_g_dx< device_grid > &v1) const -> decltype(v1.getSub() ->template get< p >(v1.getKey())) |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p = 0> |
| auto | get (const grid_dist_g_dx< device_grid > &v1) -> decltype(v1.getSub() ->template get< p >(v1.getKey())) |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p = 0> |
| auto | get (const grid_dist_lin_dx &v1) const -> decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey())) |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p = 0> |
| auto | get (const grid_dist_lin_dx &v1) -> decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey())) |
| | Get the reference of the selected element.
|
| |
| template<typename bg_key > |
| Point< dim, St > | getPos (const grid_dist_key_dx< dim, bg_key > &v1) |
| | Get the reference of the selected element.
|
| |
| template<typename bg_key > |
| bool | existPoint (const grid_dist_key_dx< dim, bg_key > &v1) const |
| | Check if the point exist.
|
| |
| template<unsigned int p = 0, typename bgkey > |
| auto | getProp (const grid_dist_key_dx< dim, bgkey > &v1) const -> decltype(this->template get< p >(v1)) |
| | Get the reference of the selected element.
|
| |
| template<unsigned int p = 0, typename bgkey > |
| auto | getProp (const grid_dist_key_dx< dim, bgkey > &v1) -> decltype(this->template get< p >(v1)) |
| | Get the reference of the selected element.
|
| |
| template<int... prp> |
| void | ghost_get (size_t opt=0) |
| | It synchronize the ghost parts.
|
| |
| template<template< typename, typename > class op, int... prp> |
| void | ghost_put () |
| | It synchronize the ghost parts.
|
| |
| grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > & | copy (grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > &g, bool use_memcpy=true) |
| | Copy the give grid into this grid.
|
| |
| grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > & | copy_sparse (grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > &g, bool use_memcpy=true) |
| | Copy the give grid into this grid.
|
| |
| Point< dim, St > | getSpacing () |
| | Get the spacing on each dimension.
|
| |
| grid_key_dx< dim > | getGKey (const grid_dist_key_dx< dim > &k) const |
| | Convert a g_dist_key_dx into a global key.
|
| |
| template<typename Model > |
| void | addComputationCosts (Model md=Model(), size_t ts=1) |
| | Add the computation cost on the decomposition using a resolution function.
|
| |
| template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, unsigned int N, typename lambda_f , typename ... ArgsT> |
| void | conv (int(&stencil)[N][dim], grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv_cross (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv_cross_b (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| template<unsigned int stencil_size, typename v_type , typename lambda_f , typename ... ArgsT> |
| void | conv_cross_ids (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, unsigned int N, typename lambda_f , typename ... ArgsT> |
| void | conv2 (int(&stencil)[N][dim], grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv2 (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution on 2 property on GPU
|
| |
| template<unsigned int prop_src1, unsigned int prop_dst1, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution on GPU
|
| |
| template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv2_b (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution on 2 property on GPU
|
| |
| template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_src3, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int prop_dst3, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv3_b (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution on 2 property on GPU
|
| |
| template<typename NNtype > |
| void | findNeighbours () |
| |
| template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT> |
| void | conv_cross2 (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args) |
| | apply a convolution using the stencil N
|
| |
| bool | write (std::string output, size_t opt=VTK_WRITER|FORMAT_BINARY) |
| | Write the distributed grid information.
|
| |
| bool | write_debug (std::string output) |
| | Write all grids indigually.
|
| |
| bool | write_frame (std::string output, size_t i, size_t opt=VTK_WRITER|FORMAT_ASCII) |
| | Write the distributed grid information.
|
| |
| device_grid & | get_loc_grid (size_t i) |
| | Get the i sub-domain grid.
|
| |
| const device_grid & | get_loc_grid (size_t i) const |
| | Get the i sub-domain grid.
|
| |
| grid_key_dx_iterator_sub< dim, no_stencil > | get_loc_grid_iterator (size_t i) |
| | Get the i sub-domain grid.
|
| |
| template<unsigned int Np> |
| grid_key_dx_iterator_sub< dim, stencil_offset_compute< dim, Np >, typename device_grid::linearizer_type > | get_loc_grid_iterator_stencil (size_t i, const grid_key_dx< dim >(&stencil_pnt)[Np]) |
| | Get the i sub-domain grid.
|
| |
| size_t | getN_loc_grid () const |
| | Return the number of local grid.
|
| |
| long int | who () |
| | It return the id of structure in the allocation list.
|
| |
| void | debugPrint () |
| | It print the internal ghost boxes and external ghost boxes in global unit.
|
| |
| void | setPropNames (const openfpm::vector< std::string > &names) |
| | Set the properties names.
|
| |
| const openfpm::vector< std::string > & | getPropNames () |
| | Set the properties names.
|
| |
| void | clear () |
| | It delete all the points.
|
| |
| void | construct_link (self &grid_up, self &grid_dw) |
| | construct link between levels
|
| |
| void | construct_link_dw (self &grid_dw, openfpm::vector< offset_mv< dim > > &mvof) |
| | construct link between current and the level down
|
| |
| void | construct_link_up (self &grid_up, openfpm::vector< offset_mv< dim > > &mvof) |
| | construct link between current and the level up
|
| |
| template<typename stencil_type > |
| void | tagBoundaries () |
| | construct link between current and the level up
|
| |
| void | map (size_t opt=0) |
| | It move all the grid parts that do not belong to the local processor to the respective processor.
|
| |
| void | save (const std::string &filename) const |
| | Save the grid state on HDF5.
|
| |
| void | load (const std::string &filename) |
| | Reload the grid from HDF5 file.
|
| |
| const openfpm::vector< i_lbox_grid< dim > > & | get_loc_ig_box () |
| | Get the internal local ghost box.
|
| |
| const openfpm::vector< i_lbox_grid< dim > > & | get_ig_box () |
| | Get the internal ghost box.
|
| |
| void | print_stats () |
| |
| void | clear_stats () |
| |
| void | grids_reconstruct (openfpm::vector< openfpm::vector< aggregate< device_grid, SpaceBox< dim, long int > > > > &m_oGrid_recv, openfpm::vector< device_grid > &loc_grid, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, CellDecomposer_sm< dim, St, shift< dim, St > > &cd_sm) |
| | Reconstruct the local grids.
|
| |
| template<typename lambda_t > |
| void | labelIntersectionGridsProcessor_and_pack (Decomposition &dec, CellDecomposer_sm< dim, St, shift< dim, St > > &cd_sm, openfpm::vector< device_grid > &loc_grid_old, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext_old, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext_global, size_t p_id_cur, lambda_t f) |
| | Label intersection grids for mappings.
|
| |
| template<int ... prp> |
| void | unpack_buffer_to_local_grid (openfpm::vector< device_grid > &loc_grid, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, ExtPreAlloc< Memory > &send_buffer, size_t sz) |
| | Unpack.
|
| |
| template<int ... prp> |
| void | map_ (Decomposition &dec, CellDecomposer_sm< dim, St, shift< dim, St > > &cd_sm, openfpm::vector< device_grid > &loc_grid, openfpm::vector< device_grid > &loc_grid_old, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext_old, openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext_global, size_t opt) |
| | Moves all the grids that does not belong to the local processor to the respective processor.
|
| |
| template<int... prp> |
| void | ghost_get_ (const openfpm::vector< ip_box_grid< dim > > &ig_box, const openfpm::vector< ep_box_grid< dim > > &eg_box, const openfpm::vector< i_lbox_grid< dim > > &loc_ig_box, const openfpm::vector< e_lbox_grid< dim > > &loc_eg_box, const openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, const openfpm::vector< e_box_multi< dim > > &eb_gid_list, bool use_bx_def, openfpm::vector< device_grid > &loc_grid, const grid_sm< dim, void > &ginfo, std::unordered_map< size_t, size_t > &g_id_to_external_ghost_box, size_t opt) |
| | It fill the ghost part of the grids.
|
| |
| template<template< typename, typename > class op, int... prp> |
| void | ghost_put_ (Decomposition &dec, const openfpm::vector< ip_box_grid< dim > > &ig_box, const openfpm::vector< ep_box_grid< dim > > &eg_box, const openfpm::vector< i_lbox_grid< dim > > &loc_ig_box, const openfpm::vector< e_lbox_grid< dim > > &loc_eg_box, const openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, openfpm::vector< device_grid > &loc_grid, openfpm::vector< std::unordered_map< size_t, size_t > > &g_id_to_internal_ghost_box) |
| | It merge the information in the ghost with the real information.
|
| |
| | grid_dist_id_comm () |
| | Constructor.
|
| |
| | grid_dist_id_comm (const grid_dist_id_comm< dim, St, T, Decomposition, Memory, device_grid > &gc) |
| | Copy constructor.
|
| |