PRISMS-PF Manual v3.0-pre
Loading...
Searching...
No Matches
parallelNucleationList.h
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 <nucleation/nucleus.h>
12
13template <int dim>
15{
16public:
17 explicit parallelNucleationList(std::vector<nucleus<dim>> _newnuclei);
18 std::vector<nucleus<dim>>
19 buildGlobalNucleiList(double min_dist_between_nuclei, unsigned int old_num_nuclei);
20 std::vector<nucleus<dim>>
21 removeSubsetOfNuclei(std::vector<unsigned int> nuclei_to_remove,
22 unsigned int nuclei_size);
23
24protected:
25 void
26 sendUpdate(int procno) const;
27 void
28 receiveUpdate(int procno);
29 void
30 broadcastUpdate(int broadcastProc, int thisProc);
31 void
32 resolveNucleationConflicts(double min_dist_between_nuclei, unsigned int old_num_nuclei);
33 std::vector<nucleus<dim>> newnuclei;
34};
35
36#endif /* INCLUDE_PARALLELNUCLEATIONLIST_H_ */
Definition parallelNucleationList.h:15
Definition nucleus.h:18