|
void | setSubset (vect_dist_key_dx key, int sub_id) |
|
int | getSubset (vect_dist_key_dx key) |
|
void | ghost_get_subset () |
|
void | getLastSubset (int sub_id) |
|
bool | write_frame (std::string out, size_t iteration, int opt=VTK_WRITER) |
|
bool | write_frame (std::string out, size_t iteration, double time, int opt=VTK_WRITER) |
|
bool | write (std::string out, int opt=VTK_WRITER) |
|
vector_dist< dim, St, prop, Decomposition, Memory, layout_base > & | operator= (const vector_dist< dim, St, prop, Decomposition, Memory, layout_base > &v) |
| Operator= for distributed vector.
|
|
vector_dist< dim, St, prop, Decomposition, Memory, layout_base > & | operator= (vector_dist< dim, St, prop, Decomposition, Memory, layout_base > &&v) |
| Operator= for distributed vector.
|
|
| vector_dist (const vector_dist< dim, St, prop, Decomposition, Memory, layout_base > &v) |
| Copy Constructor.
|
|
| vector_dist (vector_dist< dim, St, prop, Decomposition, Memory, layout_base > &&v) noexcept |
| Copy constructor.
|
|
| vector_dist (const Decomposition &dec, size_t np) |
| Constructor with predefined decomposition.
|
|
| vector_dist (size_t np, Box< dim, St > box, const size_t(&bc)[dim], const Ghost< dim, St > &g, const grid_sm< dim, void > &gdist) |
| Constructor of a distributed vector.
|
|
| vector_dist (size_t np, Box< dim, St > box, const size_t(&bc)[dim], const Ghost< dim, St > &g, size_t opt=0, const grid_sm< dim, void > &gdist=grid_sm< dim, void >()) |
| Constructor of a distributed vector.
|
|
void | setReferenceCounterToOne () |
|
void | clear () |
| remove all the elements
|
|
size_t | size_local () const |
| return the local size of the vector
|
|
size_t | size_local_orig () const |
| return the local size of the vector
|
|
size_t | size_local_with_ghost () const |
| return the local size of the vector
|
|
auto | getPos (vect_dist_key_dx vec_key) -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPos (vect_dist_key_dx vec_key) const -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPos (size_t vec_key) -> decltype(v_pos.template get< 0 >(vec_key)) |
| Get the position of an element.
|
|
auto | getPosOrig (vect_dist_key_dx vec_key) const -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPosOrig (size_t vec_key) -> decltype(v_pos.template get< 0 >(vec_key)) |
| Get the position of an element.
|
|
auto | getPos (size_t vec_key) const -> decltype(v_pos.template get< 0 >(vec_key)) |
| Get the position of an element.
|
|
template<unsigned int id> |
auto | getProp (vect_dist_key_dx vec_key) -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getProp (vect_dist_key_dx vec_key) const -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getProp (size_t vec_key) -> decltype(v_prp.template get< id >(vec_key)) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getProp (size_t vec_key) const -> decltype(v_prp.template get< id >(vec_key)) |
| Get the property of an element.
|
|
auto | getPosNC (vect_dist_key_dx vec_key) -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPosNC (vect_dist_key_dx vec_key) const -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPosNC (size_t vec_key) -> decltype(v_pos.template get< 0 >(vec_key)) |
| Get the position of an element.
|
|
auto | getPosNC (size_t vec_key) const -> decltype(v_pos.template get< 0 >(vec_key)) |
| Get the position of an element.
|
|
template<unsigned int id> |
auto | getPropNC (vect_dist_key_dx vec_key) -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getPropNC (vect_dist_key_dx vec_key) const -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getPropNC (size_t vec_key) -> decltype(v_prp.template get< id >(vec_key)) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getPropNC (size_t vec_key) const -> decltype(v_prp.template get< id >(vec_key)) |
| Get the property of an element.
|
|
auto | getPosWrite (vect_dist_key_dx vec_key) -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
auto | getPosRead (vect_dist_key_dx vec_key) const -> decltype(v_pos.template get< 0 >(vec_key.getKey())) |
| Get the position of an element.
|
|
template<unsigned int id> |
auto | getPropWrite (vect_dist_key_dx vec_key) -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
template<unsigned int id> |
auto | getPropRead (vect_dist_key_dx vec_key) const -> decltype(v_prp.template get< id >(vec_key.getKey())) |
| Get the property of an element.
|
|
void | add () |
| Add local particle.
|
|
void | addAtEnd () |
| Add at the END of local and ghost particle.
|
|
auto | getLastPos () -> decltype(v_pos.template get< 0 >(0)) |
| Get the position of the last element.
|
|
auto | getLastPosEnd () -> decltype(v_pos.template get< 0 >(0)) |
| Get the position of the last element after ghost.
|
|
template<unsigned int id> |
auto | getLastProp () -> decltype(v_prp.template get< id >(0)) |
| Get the property of the last element.
|
|
auto | getLastPosRead () -> decltype(v_pos.template get< 0 >(0)) |
| Get the position of the last element.
|
|
template<unsigned int id> |
auto | getLastPropRead () -> decltype(v_prp.template get< id >(0)) |
| Get the property of the last element.
|
|
auto | getLastPosWrite () -> decltype(v_pos.template get< 0 >(0)) |
| Get the position of the last element.
|
|
template<unsigned int id> |
auto | getLastPropWrite () -> decltype(v_prp.template get< id >(0)) |
| Get the property of the last element.
|
|
vect_dist_key_dx | getOriginKey (vect_dist_key_dx vec_key) |
|
template<typename CellL = CellList<dim, St, Mem_fast<>, shift<dim, St>,internal_position_vector_type >> |
CellL | getCellListSym (St r_cut) |
| Construct a cell list symmetric based on a cut of radius.
|
|
template<typename CellL = CellList<dim, St, Mem_fast<>, shift<dim, St> >> |
CellL | getCellListSym (const size_t(&div)[dim], const size_t(&pad)[dim]) |
| Construct a cell list symmetric based on a cut of radius.
|
|
template<unsigned int impl> |
cell_list_selector< self, impl >::ctype | getCellListDev (St r_cut) |
| Construct a cell list starting from the stored particles.
|
|
template<typename CellL = CellList_gen<dim, St, Process_keys_lin, Mem_fast<>, shift<dim, St>, decltype(v_pos) >> |
CellL | getCellList (St r_cut, bool no_se3=false) |
| Construct a cell list starting from the stored particles.
|
|
auto | getCellListDevice (St r_cut, bool no_se3=false) -> decltype(this->getCellList(r_cut, no_se3)) |
| Construct a cell list from the stored particles.
|
|
template<typename CellL = CellList_gen<dim, St, Process_keys_hilb, Mem_fast<>, shift<dim, St> >> |
CellL | getCellList_hilb (St r_cut) |
| Construct an hilbert cell list starting from the stored particles.
|
|
template<unsigned int ... prp, typename CellL > |
void | updateCellList (CellL &cell_list, bool no_se3=false, cl_construct_opt opt=cl_construct_opt::Full) |
| Update a cell list using the stored particles.
|
|
template<typename CellL = CellList<dim, St, Mem_fast<>, shift<dim, St> >> |
void | updateCellListSym (CellL &cell_list) |
| Update a cell list using the stored particles.
|
|
template<typename CellL = CellList_gen<dim, St, Process_keys_lin, Mem_fast<>, shift<dim, St> >> |
CellL | getCellList (St r_cut, const Ghost< dim, St > &enlarge, bool no_se3=false) |
| Construct a cell list starting from the stored particles.
|
|
template<typename CellL = CellList_gen<dim, St, Process_keys_hilb, Mem_fast<>, shift<dim, St> >> |
CellL | getCellList_hilb (St r_cut, const Ghost< dim, St > &enlarge) |
| Construct an hilbert cell list starting from the stored particles.
|
|
template<typename VerletL = VerletList<dim,St,Mem_fast<>,shift<dim,St> >> |
VerletL | getVerletSym (St r_cut) |
| for each particle get the symmetric verlet list
|
|
template<typename VerletL = VerletList<dim,St,Mem_fast<>,shift<dim,St> >> |
VerletL | getVerletCrs (St r_cut) |
| for each particle get the symmetric verlet list
|
|
template<typename VerletL = VerletList<dim,St,Mem_fast<>,shift<dim,St>,decltype(v_pos) >> |
VerletL | getVerlet (St r_cut) |
| for each particle get the verlet list
|
|
template<typename Mem_type > |
void | updateVerlet (VerletList< dim, St, Mem_type, shift< dim, St > > &ver, St r_cut, size_t opt=VL_NON_SYMMETRIC) |
| for each particle get the verlet list
|
|
template<typename CellL = CellList_gen<dim,St,Process_keys_lin,Mem_bal<>,shift<dim,St> >> |
void | reorder (int32_t m, reorder_opt opt=reorder_opt::HILBERT) |
| Construct a cell list starting from the stored particles and reorder a vector according to the Hilberts curve.
|
|
template<typename CellL = CellList_gen<dim,St,Process_keys_lin,Mem_bal<>,shift<dim,St> >> |
void | reorder (int32_t m, const Ghost< dim, St > &enlarge, reorder_opt opt=reorder_opt::HILBERT) |
| Construct a cell list starting from the stored particles and reorder a vector according to the Hilberts curve.
|
|
template<typename CellL = CellList_gen<dim,St,Process_keys_lin,Mem_bal<>,shift<dim,St> >> |
void | reorder_rcut (St r_cut) |
| Construct a cell list starting from the stored particles and reorder a vector according to the Hilberts curve.
|
|
size_t | init_size_accum (size_t np) |
| It return the number of particles contained by the previous processors.
|
|
vector_dist_iterator | getIterator () |
| Get an iterator that traverse domain and ghost particles.
|
|
vector_dist_iterator | getIterator (size_t start, size_t stop) |
| Get an iterator that traverse domain and ghost particles.
|
|
grid_dist_id_iterator_dec< Decomposition > | getGridIterator (const size_t(&sz)[dim]) |
|
vector_dist_iterator | getGhostIterator () const |
| Get the iterator across the position of the ghost particles.
|
|
vector_dist_iterator | getGhostIterator_no_se3 () const |
| Get the iterator across the position of the ghost particles.
|
|
template<typename CellList > |
ParticleIt_Cells< dim, CellList > | getDomainIteratorCells (CellList &NN) |
| Get an iterator that traverse the particles in the domain using a cell list.
|
|
vector_dist_iterator | getDomainIterator () const |
| Get an iterator that traverse the particles in the domain.
|
|
auto | getDomainIteratorDevice (size_t n_thr=default_kernel_wg_threads_) const -> decltype(this->getDomainIterator()) |
| Get an iterator that traverse the particles in the domain.
|
|
vector_dist_iterator | getDomainIterator_no_se3 () const |
| Get an iterator that traverse the particles in the domain.
|
|
vector_dist_iterator | getDomainAndGhostIterator () const |
| Get an iterator that traverse the particles in the domain.
|
|
vector_dist_iterator | getDomainAndGhostIterator_no_se3 () const |
| Get an iterator that traverse the particles in the domain.
|
|
Decomposition & | getDecomposition () |
| Get the decomposition.
|
|
const Decomposition & | getDecomposition () const |
| Get the decomposition.
|
|
template<unsigned int ... prp> |
void | map_list (size_t opt=NONE) |
| It move all the particles that does not belong to the local processor to the respective processor.
|
|
template<typename obp = KillParticle> |
void | map (size_t opt=NONE) |
| It move all the particles that does not belong to the local processor to the respective processor.
|
|
void | ghost_get_subset () |
| Stub does not do anything.
|
|
template<int ... prp> |
void | ghost_get (size_t opt=WITH_POSITION) |
| It synchronize the properties and position of the ghost particles.
|
|
template<int ... prp> |
void | Ighost_get (size_t opt=WITH_POSITION) |
| It synchronize the properties and position of the ghost particles.
|
|
template<int ... prp> |
void | ghost_wait (size_t opt=WITH_POSITION) |
| It synchronize the properties and position of the ghost particles.
|
|
template<template< typename, typename > class op, int ... prp> |
void | ghost_put (size_t opt_=NONE) |
| It synchronize the properties and position of the ghost particles.
|
|
void | remove (openfpm::vector< size_t > &keys, size_t start=0) |
| Remove a set of elements from the distributed vector.
|
|
void | remove (openfpm::vector< aggregate< int > > &keys, size_t start=0) |
| Remove a set of elements from the distributed vector.
|
|
void | remove (size_t key) |
| Remove one element from the distributed vector.
|
|
template<typename Model = ModelLin> |
void | addComputationCosts (const self &vd, Model md=Model()) |
| Add the computation cost on the decomposition coming from the particles.
|
|
template<typename Model = ModelLin> |
void | finalizeComputationCosts (Model md=Model(), size_t ts=1) |
| Add the computation cost on the decomposition coming from the particles.
|
|
void | initializeComputationCosts () |
| Initialize the computational cost.
|
|
template<typename Model = ModelLin> |
void | addComputationCosts (Model md=Model(), size_t ts=1) |
| Add the computation cost on the decomposition coming from the particles.
|
|
void | save (const std::string &filename) const |
| Save the distributed vector on HDF5 file.
|
|
void | load (const std::string &filename) |
| Load the distributed vector from an HDF5 file.
|
|
void | setCapacity (unsigned int ns) |
| Reserve space for the internal vectors.
|
|
bool | write (std::string out, int opt=VTK_WRITER) |
| Output particle position and properties.
|
|
bool | write (std::string out, std::string meta_info, int opt=VTK_WRITER) |
| Output particle position and properties.
|
|
void | deleteGhost () |
| Delete the particles on the ghost.
|
|
void | resize (size_t rs) |
| Resize the vector (locally)
|
|
void | resizeAtEnd (size_t rs) |
| Resize the vector at the end of the ghost (locally)
|
|
bool | write_frame (std::string out, size_t iteration, int opt=VTK_WRITER) |
| Output particle position and properties.
|
|
bool | write_frame (std::string out, size_t iteration, std::string meta_info, int opt=VTK_WRITER) |
| Output particle position and properties.
|
|
bool | write_frame (std::string out, size_t iteration, double time, int opt=VTK_WRITER) |
| Output particle position and properties and add a time stamp to pvtp.
|
|
void | getCellListParams (St r_cut, size_t(&div)[dim], Box< dim, St > &box, Ghost< dim, St > enlarge=Ghost< dim, St >(0.0)) |
| Get the Celllist parameters.
|
|
long int | who () |
| It return the id of structure in the allocation list.
|
|
Vcluster< Memory > & | getVC () |
| Get the Virtual Cluster machine.
|
|
const vector_dist_pos & | getPosVector () const |
| return the position vector of all the particles
|
|
vector_dist_pos & | getPosVector () |
| return the position vector of all the particles
|
|
const vector_dist_prop & | getPropVector () const |
| return the property vector of all the particles
|
|
vector_dist_prop & | getPropVector () |
| return the property vector of all the particles
|
|
const vector_dist_pos & | getPosVectorSort () const |
| return the position vector of all the particles
|
|
vector_dist_pos & | getPosVectorSort () |
| return the position vector of all the particles
|
|
const vector_dist_prop & | getPropVectorSort () const |
| return the property vector of all the particles
|
|
vector_dist_prop & | getPropVectorSort () |
| return the property vector of all the particles
|
|
size_t | accum () |
| It return the sum of the particles in the previous processors.
|
|
template<typename cli > |
ParticleItCRS_Cells< dim, cli, decltype(v_pos)> | getParticleIteratorCRS_Cell (cli &NN) |
| Get a special particle iterator able to iterate across particles using symmetric crossing scheme.
|
|
void | setPropNames (const openfpm::vector< std::string > &names) |
| Set the properties names.
|
|
openfpm::vector< std::string > & | getPropNames () |
| Get the properties names.
|
|
template<typename vrl > |
openfpm::vector_key_iterator_seq< typename vrl::Mem_type_type::local_index_type > | getParticleIteratorCRS (vrl &NN) |
| Get a special particle iterator able to iterate across particles using symmetric crossing scheme.
|
|
template<typename Celllist > |
grid_key_dx< dim > | getCRSStart (Celllist &NN) |
| Return from which cell we have to start in case of CRS interation scheme.
|
|
template<typename Celllist > |
grid_key_dx< dim > | getCRSStop (Celllist &NN) |
| Return from which cell we have to stop in case of CRS interation scheme.
|
|
bool | isSubset () const |
| Indicate that this class is not a subset.
|
|
template<unsigned int ... prp> |
void | deviceToHostProp () |
| Move the memory from the device to host memory.
|
|
void | deviceToHostPos () |
| Move the memory from the device to host memory.
|
|
template<unsigned int ... prp> |
void | hostToDeviceProp () |
| Move the memory from the device to host memory.
|
|
void | hostToDevicePos () |
| Move the memory from the device to host memory.
|
|
| vector_dist_comm (const vector_dist_comm< dim, St, prop, Decomposition, Memory, layout_base > &v) |
| Copy Constructor.
|
|
| vector_dist_comm (const Decomposition &dec) |
| Constructor.
|
|
| vector_dist_comm (Decomposition &&dec) |
| Constructor.
|
|
| vector_dist_comm () |
| Constructor.
|
|
| ~vector_dist_comm () |
| Destructor.
|
|
size_t | getDecompositionGranularity () |
| Get the number of minimum sub-domain per processor.
|
|
void | setDecompositionGranularity (size_t n_sub) |
| Set the minimum number of sub-domain per processor.
|
|
void | init_decomposition (Box< dim, St > &box, const size_t(&bc)[dim], const Ghost< dim, St > &g, size_t opt, const grid_sm< dim, void > &gdist) |
| Initialize the decomposition.
|
|
void | init_decomposition_gr_cell (Box< dim, St > &box, const size_t(&bc)[dim], const Ghost< dim, St > &g, size_t opt, const grid_sm< dim, void > &gdist) |
| Initialize the decomposition.
|
|
template<unsigned int impl, int ... prp> |
void | ghost_get_ (openfpm::vector< Point< dim, St >, Memory, layout_base > &v_pos, openfpm::vector< prop, Memory, layout_base > &v_prp, size_t &g_m, size_t opt=WITH_POSITION) |
| It synchronize the properties and position of the ghost particles.
|
|
template<int ... prp> |
void | ghost_wait_ (openfpm::vector< Point< dim, St >, Memory, layout_base > &v_pos, openfpm::vector< prop, Memory, layout_base > &v_prp, size_t &g_m, size_t opt=WITH_POSITION) |
| It synchronize the properties and position of the ghost particles.
|
|
template<unsigned int ... prp> |
void | map_list_ (openfpm::vector< Point< dim, St > > &v_pos, openfpm::vector< prop > &v_prp, size_t &g_m, size_t opt) |
| It move all the particles that does not belong to the local processor to the respective processor.
|
|
template<typename obp = KillParticle> |
void | map_ (openfpm::vector< Point< dim, St >, Memory, layout_base > &v_pos, openfpm::vector< prop, Memory, layout_base > &v_prp, size_t &g_m, size_t opt) |
| It move all the particles that does not belong to the local processor to the respective processor.
|
|
Decomposition & | getDecomposition () |
| Get the decomposition.
|
|
const Decomposition & | getDecomposition () const |
| Get the decomposition.
|
|
vector_dist_comm< dim, St, prop, Decomposition, Memory, layout_base > & | operator= (const vector_dist_comm< dim, St, prop, Decomposition, Memory, layout_base > &vc) |
| Copy a vector.
|
|
vector_dist_comm< dim, St, prop, Decomposition, Memory, layout_base > & | operator= (vector_dist_comm< dim, St, prop, Decomposition, Memory, layout_base > &&vc) |
| Copy a vector.
|
|
template<template< typename, typename > class op, int ... prp> |
void | ghost_put_ (openfpm::vector< Point< dim, St >, Memory, layout_base > &v_pos, openfpm::vector< prop, Memory, layout_base > &v_prp, size_t &g_m, size_t opt) |
| Ghost put.
|
|