35 #ifndef OOMPH_MISSING_MASTERS_HEADER
36 #define OOMPH_MISSING_MASTERS_HEADER
40 #include <oomph-lib-config.h>
61 namespace Missing_masters_functions
63 #ifdef ANNOTATE_MISSING_MASTERS_COMMUNICATION
70 extern Vector<std::string> Flat_packed_unsigneds_string;
94 void add_external_haloed_node_to_storage(
int& iproc,
97 int& n_cont_inter_values,
98 Vector<unsigned>& send_unsigneds,
99 Vector<double>& send_doubles);
104 void recursively_add_masters_of_external_haloed_node(
107 Mesh*
const& mesh_pt,
108 int& n_cont_inter_values,
109 Vector<unsigned>& send_unsigneds,
110 Vector<double>& send_doubles);
114 void add_external_haloed_node_helper(
int& iproc,
116 Mesh*
const& mesh_pt,
117 int& n_cont_inter_values,
118 Vector<unsigned>& send_unsigneds,
119 Vector<double>& send_doubles);
122 void add_external_haloed_master_node_helper(
125 Mesh*
const& mesh_pt,
126 int& n_cont_inter_values,
127 Vector<unsigned>& send_unsigneds,
128 Vector<double>& send_doubles);
133 void get_required_nodal_information_helper(
int& iproc,
135 Mesh*
const& mesh_pt,
136 int& n_cont_inter_values,
137 Vector<unsigned>& send_unsigneds,
138 Vector<double>& send_doubles);
143 void get_required_master_nodal_information_helper(
146 Mesh*
const& mesh_pt,
147 int& n_cont_inter_values,
148 Vector<unsigned>& send_unsigneds,
149 Vector<double>& send_doubles);
155 template<
class EXT_ELEMENT>
156 void add_external_halo_node_to_storage(Node*& new_nod_pt,
157 Mesh*
const& mesh_pt,
159 unsigned& node_index,
160 FiniteElement*
const& new_el_pt,
161 int& n_cont_inter_values,
162 unsigned& counter_for_recv_unsigneds,
163 Vector<unsigned>& recv_unsigneds,
164 unsigned& counter_for_recv_doubles,
165 Vector<double>& recv_doubles);
169 template<
class EXT_ELEMENT>
170 void recursively_add_masters_of_external_halo_node_to_storage(
172 Mesh*
const& mesh_pt,
174 unsigned& node_index,
175 int& n_cont_inter_values,
176 unsigned& counter_for_recv_unsigneds,
177 Vector<unsigned>& recv_unsigneds,
178 unsigned& counter_for_recv_doubles,
179 Vector<double>& recv_doubles);
183 void add_external_halo_node_helper(Node*& new_nod_pt,
184 Mesh*
const& mesh_pt,
186 unsigned& node_index,
187 FiniteElement*
const& new_el_pt,
188 int& n_cont_inter_values,
189 unsigned& counter_for_recv_unsigneds,
190 Vector<unsigned>& recv_unsigneds,
191 unsigned& counter_for_recv_doubles,
192 Vector<double>& recv_doubles);
195 template<
class EXT_ELEMENT>
196 void add_external_halo_master_node_helper(
197 Node*& new_master_nod_pt,
199 Mesh*
const& mesh_pt,
201 int& n_cont_inter_values,
202 unsigned& counter_for_recv_unsigneds,
203 Vector<unsigned>& recv_unsigneds,
204 unsigned& counter_for_recv_doubles,
205 Vector<double>& recv_doubles);
210 void construct_new_external_halo_node_helper(
213 unsigned& node_index,
214 FiniteElement*
const& new_el_pt,
215 Mesh*
const& mesh_pt,
216 unsigned& counter_for_recv_unsigneds,
217 Vector<unsigned>& recv_unsigneds,
218 unsigned& counter_for_recv_doubles,
219 Vector<double>& recv_doubles);
223 template<
class EXT_ELEMENT>
224 void construct_new_external_halo_master_node_helper(
225 Node*& new_master_nod_pt,
228 Mesh*
const& mesh_pt,
229 unsigned& counter_for_recv_unsigneds,
230 Vector<unsigned>& recv_unsigneds,
231 unsigned& counter_for_recv_doubles,
232 Vector<double>& recv_doubles);
bool Doc_full_stats
Definition: missing_masters.cc:67
bool Doc_stats
Definition: missing_masters.cc:63
bool Doc_timings
Boolean to indicate whether to doc timings or not.
Definition: missing_masters.cc:59
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10