31 #ifndef OOMPH_FULL_CIRCLE_MESH_HEADER    32 #define OOMPH_FULL_CIRCLE_MESH_HEADER    35 #include "../generic/refineable_quad_mesh.h"    53 template <
class ELEMENT>
    64            const Vector<double> &theta_positions,  
    65            const Vector<double> &radius_box, 
    66            TimeStepper* time_stepper_pt=
    67            &Mesh::Default_TimeStepper);
   115 template<
class ELEMENT> 
   117   public RefineableQuadMesh<ELEMENT>
   132                     const Vector<double> &theta_positions,  
   133                     const Vector<double> &radius_box, 
   134                     TimeStepper* time_stepper_pt=
   135                     &Mesh::Default_TimeStepper):
   137                    radius_box,time_stepper_pt)
   140   for (
unsigned ielem=0;ielem<FullCircleMesh<ELEMENT>::nelement();ielem++)
   142      dynamic_cast<RefineableQElement<2>*
>(
   144       set_macro_elem_pt(this->
Domain_pt->macro_element_pt(ielem));
   150    Vector<TreeRoot*> trees_pt;
   151    for (
unsigned iel=0;iel<FullCircleMesh<ELEMENT>::nelement();iel++)
   154      ELEMENT* ref_el_pt=
dynamic_cast<ELEMENT*
>(el_pt);
   155      QuadTreeRoot* quadtree_root_pt=
new QuadTreeRoot(ref_el_pt);
   156      trees_pt.push_back(quadtree_root_pt);
   159   this->Forest_pt = 
new QuadTreeForest(trees_pt);
   163    unsigned success_flag=
   164     dynamic_cast<QuadTreeForest*
>(this->Forest_pt)->self_test();
   167      oomph_info << 
"Successfully built quadtree forest " << std::endl;
   172       "Trouble in building quadtree forest ",
   173       OOMPH_CURRENT_FUNCTION,
   174       OOMPH_EXCEPTION_LOCATION);
 virtual ~RefineableFullCircleMesh()
Destructor: empty. 
 
Topologically circular domain, e.g. a tube cross section. The entire domain must be defined by a Geom...
 
virtual ~FullCircleMesh()
Destructor: empty. 
 
RefineableFullCircleMesh(GeomObject *wall_pt, const Vector< double > &theta_positions, const Vector< double > &radius_box, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor for adaptive deformable quarter tube mesh class. Pass pointer to geometric object that sp...
 
GeomObject * Area_pt
Pointer to the geometric object that represents the entire domain. 
 
FullCircleDomain * Domain_pt
Pointer to domain. 
 
Full circle mesh class. The domain is specified by the GeomObject that identifies the entire area...
 
FullCircleDomain * domain_pt() const
Access function to underlying domain. 
 
GeomObject *& area_pt()
Access function to GeomObject representing wall. 
 
FullCircleDomain * domain_pt()
Access function to domain. 
 
FullCircleMesh(GeomObject *wall_pt, const Vector< double > &theta_positions, const Vector< double > &radius_box, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass pointer to geometric object that specifies the area; values of theta at which divid...