108 const bool& periodic,
109 const double& azimuthal_fraction,
110 const unsigned& ntheta,
114 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
116 ntheta, nr, 1.0, 1.0, periodic, time_stepper_pt),
118 periodic, azimuthal_fraction, ntheta, nr, a, h, time_stepper_pt)
121 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
128 unsigned nel = this->nelement();
129 for (
unsigned ielem = 0; ielem < nel; ielem++)
131 dynamic_cast<RefineableQElement<2>*
>(this->element_pt(ielem))
132 ->set_macro_elem_pt(this->
Domain_pt->macro_element_pt(ielem));
140 this->setup_quadtree_forest();
146 Vector<TreeRoot*> left_root_pt(nr);
147 Vector<TreeRoot*> right_root_pt(nr);
148 for (
unsigned i = 0; i < nr; i++)
150 left_root_pt[i] =
dynamic_cast<ELEMENT*
>(this->element_pt(i * ntheta))
155 dynamic_cast<ELEMENT*
>(this->element_pt((i + 1) * ntheta - 1))
161 using namespace QuadTreeNames;
162 for (
unsigned i = 0; i < nr; i++)
164 left_root_pt[i]->neighbour_pt(W) = right_root_pt[i];
165 left_root_pt[i]->set_neighbour_periodic(W);
167 right_root_pt[i]->neighbour_pt(E) = left_root_pt[i];
168 right_root_pt[i]->set_neighbour_periodic(E);
175 const bool& periodic,
176 const double& azimuthal_fraction,
177 const unsigned& ntheta,
182 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
184 ntheta, nr, 1.0, 1.0, periodic, time_stepper_pt),
186 periodic, azimuthal_fraction, ntheta, nr, a, h, phi, time_stepper_pt)
189 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
195 unsigned nel = this->nelement();
196 for (
unsigned ielem = 0; ielem < nel; ielem++)
198 dynamic_cast<RefineableQElement<2>*
>(this->element_pt(ielem))
199 ->set_macro_elem_pt(this->
Domain_pt->macro_element_pt(ielem));
207 this->setup_quadtree_forest();
213 Vector<TreeRoot*> left_root_pt(nr);
214 Vector<TreeRoot*> right_root_pt(nr);
215 for (
unsigned i = 0; i < nr; i++)
217 left_root_pt[i] =
dynamic_cast<ELEMENT*
>(this->element_pt(i * ntheta))
222 dynamic_cast<ELEMENT*
>(this->element_pt((i + 1) * ntheta - 1))
228 using namespace QuadTreeNames;
229 for (
unsigned i = 0; i < nr; i++)
231 left_root_pt[i]->neighbour_pt(W) = right_root_pt[i];
232 left_root_pt[i]->set_neighbour_periodic(W);
234 right_root_pt[i]->neighbour_pt(E) = left_root_pt[i];
235 right_root_pt[i]->set_neighbour_periodic(E);