26 #ifndef OOMPH_RECTANGLE_WITH_HOLE_MESH_HEADER
27 #define OOMPH_RECTANGLE_WITH_HOLE_MESH_HEADER
31 #include <oomph-lib-config.h>
35 #include "../generic/mesh.h"
36 #include "../generic/quadtree.h"
37 #include "../generic/quad_mesh.h"
38 #include "../generic/refineable_quad_mesh.h"
46 template<
class ELEMENT>
65 unsigned long node_count = 0;
76 for (
unsigned e = 0;
e < nmacro_element;
e++)
85 for (
unsigned l1 = 0; l1 < np; l1++)
88 for (
unsigned l2 = 0; l2 < np; l2++)
92 l1 * np + l2, time_stepper_pt));
95 s[0] = -1.0 + 2.0 * (
double)l2 / (
double)(np - 1);
96 s[1] = -1.0 + 2.0 * (
double)l1 / (
double)(np - 1);
100 Tmp_node_pt[node_count]->x(0) =
r[0];
101 Tmp_node_pt[node_count]->x(1) =
r[1];
118 for (
unsigned n = 0;
n < np;
n++)
125 delete Tmp_node_pt[np * np +
n * np];
126 Tmp_node_pt[np * np +
n * np] = 0;
130 for (
unsigned n = 0;
n < np;
n++)
137 delete Tmp_node_pt[3 * np * np +
n * np];
138 Tmp_node_pt[3 * np * np +
n * np] = 0;
142 for (
unsigned n = 0;
n < np;
n++)
149 delete Tmp_node_pt[2 * np * np + np * (np - 1) +
n];
150 Tmp_node_pt[2 * np * np + np * (np - 1) +
n] = 0;
155 for (
unsigned n = 0;
n < np;
n++)
162 delete Tmp_node_pt[2 * np * np +
n];
163 Tmp_node_pt[2 * np * np +
n] = 0;
168 for (
unsigned long n = 0;
n < node_count;
n++)
170 if (Tmp_node_pt[
n] != 0)
179 for (
unsigned n = 0;
n < np;
n++)
207 for (
unsigned n = 1;
n < np;
n++)
215 for (
unsigned n = 1;
n < np;
n++)
223 for (
unsigned n = 1;
n < np - 1;
n++)
254 template<
class ELEMENT>
267 const double& length,
275 for (
unsigned e = 0;
e < 4;
e++)
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Array< double, 1, 3 > e(1./3., 0.5, 2.)
unsigned nmacro_element()
Number of macro elements in domain.
Definition: domain.h:123
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
Definition: domain.h:116
virtual Node * construct_node(const unsigned &n)
Definition: elements.h:2509
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
Definition: elements.h:2175
Definition: geom_objects.h:101
void macro_map(const Vector< double > &s, Vector< double > &r)
The mapping from local to global coordinates at the current time : r(s)
Definition: macro_element.h:126
void add_boundary_node(const unsigned &b, Node *const &node_pt)
Add a (pointer to) a node to the b-th boundary.
Definition: mesh.cc:243
Vector< Node * > Node_pt
Vector of pointers to nodes.
Definition: mesh.h:183
static Steady< 0 > Default_TimeStepper
The Steady Timestepper.
Definition: mesh.h:75
FiniteElement * finite_element_pt(const unsigned &e) const
Definition: mesh.h:473
void set_nboundary(const unsigned &nbound)
Set the number of boundaries in the mesh.
Definition: mesh.h:505
virtual void setup_boundary_element_info()
Definition: mesh.h:275
void convert_to_boundary_node(Node *&node_pt, const Vector< FiniteElement * > &finite_element_pt)
Definition: mesh.cc:2590
const Vector< GeneralisedElement * > & element_pt() const
Return reference to the Vector of elements.
Definition: mesh.h:460
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
Definition: mesh.h:186
Rectangular domain with circular whole.
Definition: rectangle_with_hole_domain.h:43
Domain-based mesh for rectangular mesh with circular hole.
Definition: rectangle_with_hole_mesh.template.h:48
RectangleWithHoleDomain * domain_pt()
Access function to the domain.
Definition: rectangle_with_hole_mesh.template.h:234
RectangleWithHoleMesh(GeomObject *cylinder_pt, const double &length, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: rectangle_with_hole_mesh.template.h:56
RectangleWithHoleDomain * Domain_pt
Pointer to the domain.
Definition: rectangle_with_hole_mesh.template.h:241
Definition: refineable_quad_mesh.h:53
void setup_quadtree_forest()
Definition: refineable_quad_mesh.h:88
Definition: rectangle_with_hole_mesh.template.h:257
virtual ~RefineableRectangleWithHoleMesh()
Destructor: Empty.
Definition: rectangle_with_hole_mesh.template.h:290
RefineableRectangleWithHoleMesh(GeomObject *cylinder_pt, const double &length, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: rectangle_with_hole_mesh.template.h:265
Definition: timesteppers.h:231
RealScalar s
Definition: level1_cplx_impl.h:130
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10