PRISMS-PF  v2.1
parallelNucleationList.h
Go to the documentation of this file.
1 /*
2  * parallelNucleationList.h
3  *
4  * Created on: Mar 10, 2017
5  * Author: stephendewitt
6  */
7 
8 #ifndef INCLUDE_PARALLELNUCLEATIONLIST_H_
9 #define INCLUDE_PARALLELNUCLEATIONLIST_H_
10 
11 # include "nucleus.h"
12 
13 template <int dim>
15 {
16 public:
17  parallelNucleationList(std::vector<nucleus<dim> > _newnuclei);
18  std::vector<nucleus<dim> > buildGlobalNucleiList(double min_dist_between_nuclei, unsigned int old_num_nuclei);
19  std::vector<nucleus<dim> > removeSubsetOfNuclei(std::vector<unsigned int> nuclei_to_remove, unsigned int nuclei_size);
20 
21 protected:
22  void sendUpdate (int procno) const;
23  void receiveUpdate (int procno);
24  void broadcastUpdate (int broadcastProc, int thisProc);
25  void resolveNucleationConflicts (double min_dist_between_nuclei, unsigned int old_num_nuclei);
26  std::vector<nucleus<dim> > newnuclei;
27 
28 };
29 
30 #endif /* INCLUDE_PARALLELNUCLEATIONLIST_H_ */
void resolveNucleationConflicts(double min_dist_between_nuclei, unsigned int old_num_nuclei)
parallelNucleationList(std::vector< nucleus< dim > > _newnuclei)
std::vector< nucleus< dim > > removeSubsetOfNuclei(std::vector< unsigned int > nuclei_to_remove, unsigned int nuclei_size)
void broadcastUpdate(int broadcastProc, int thisProc)
std::vector< nucleus< dim > > newnuclei
void sendUpdate(int procno) const
std::vector< nucleus< dim > > buildGlobalNucleiList(double min_dist_between_nuclei, unsigned int old_num_nuclei)