27#ifndef OOMPH_ANNULAR_MESH_HEADER
28#define OOMPH_ANNULAR_MESH_HEADER
42 template<
class ELEMENT>
58 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
78 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
101 template<
class ELEMENT>
121 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
148 for (
unsigned i = 0;
i <
nr;
i++)
155 dynamic_cast<ELEMENT*
>(this->
element_pt((
i + 1) * ntheta - 1))
161 using namespace QuadTreeNames;
162 for (
unsigned i = 0;
i <
nr;
i++)
189 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
215 for (
unsigned i = 0;
i <
nr;
i++)
222 dynamic_cast<ELEMENT*
>(this->
element_pt((
i + 1) * ntheta - 1))
228 using namespace QuadTreeNames;
229 for (
unsigned i = 0;
i <
nr;
i++)
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
static Steady< 0 > Default_TimeStepper
Default Steady Timestepper, to be used in default arguments to Mesh constructors.
virtual void node_update(const bool &update_all_solid_nodes=false)
Update nodal positions in response to changes in the domain shape. Uses the FiniteElement::get_x(....
const Vector< GeneralisedElement * > & element_pt() const
Return reference to the Vector of elements.
unsigned long nelement() const
Return number of elements in the mesh.
RectangularQuadMesh is a two-dimensional mesh of Quad elements with Nx elements in the "x" (horizonal...
Intermediate mesh class that implements the mesh adaptation functions specified in the TreeBasedRefin...
void setup_quadtree_forest()
Set up QuadTreeForest. Wipes any existing tree structure below the minimum refinement level and regar...
Refineable 2D annular mesh with a unit circle in the middle and a layer of thickness h surrounding it...
RefineableTwoDAnnularMesh(const bool &periodic, const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, const double &phi, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor; rotate mesh by angle phi.
AnnularDomain * Domain_pt
Pointer to domain.
RefineableTwoDAnnularMesh(const bool &periodic, const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor.
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
Base class for time-stepping schemes. Timestepper provides an approximation of the temporal derivativ...
2D annular mesh with a unit circle in the middle and a layer of thickness h surrounding it.
TwoDAnnularMesh(const bool &periodic, const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, const double &phi, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor; rotate mesh by angle phi.
TwoDAnnularMesh(const bool &periodic, const double &azimuthal_fraction, const unsigned &ntheta, const unsigned &nr, const double &a, const double &h, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor.
void wrap_into_annular_shape(const double &a, const double &h, const double &azimuthal_fraction, const double &phi)
Wrap mesh into annular shape.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).