26#ifndef OOMPH_RECTANGLE_WITH_HOLE_MESH_HEADER
27#define OOMPH_RECTANGLE_WITH_HOLE_MESH_HEADER
31#include <oomph-lib-config.h>
46 template<
class ELEMENT>
76 for (
unsigned e = 0;
e < nmacro_element;
e++)
92 l1 *
np +
l2, time_stepper_pt));
117 for (
unsigned n = 0;
n <
np;
n++)
129 for (
unsigned n = 0;
n <
np;
n++)
141 for (
unsigned n = 0;
n <
np;
n++)
153 for (
unsigned n = 0;
n <
np;
n++)
176 for (
unsigned n = 0;
n <
np;
n++)
204 for (
unsigned n = 1;
n <
np;
n++)
212 for (
unsigned n = 1;
n <
np;
n++)
220 for (
unsigned n = 1;
n <
np - 1;
n++)
250 template<
class ELEMENT>
271 for (
unsigned e = 0;
e < 4;
e++)
unsigned nmacro_element()
Number of macro elements in domain.
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
virtual Node * construct_node(const unsigned &n)
Construct the local node n and return a pointer to the newly created node object.
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
A geometric object is an object that provides a parametrised description of its shape via the functio...
void macro_map(const Vector< double > &s, Vector< double > &r)
The mapping from local to global coordinates at the current time : r(s)
void add_boundary_node(const unsigned &b, Node *const &node_pt)
Add a (pointer to) a node to the b-th boundary.
Vector< Node * > Node_pt
Vector of pointers to nodes.
static Steady< 0 > Default_TimeStepper
Default Steady Timestepper, to be used in default arguments to Mesh constructors.
FiniteElement * finite_element_pt(const unsigned &e) const
Upcast (downcast?) to FiniteElement (needed to access FiniteElement member functions).
void set_nboundary(const unsigned &nbound)
Set the number of boundaries in the mesh.
virtual void setup_boundary_element_info()
Interface for function that is used to setup the boundary information (Empty virtual function – imple...
void convert_to_boundary_node(Node *&node_pt, const Vector< FiniteElement * > &finite_element_pt)
A function that upgrades an ordinary node to a boundary node We shouldn't ever really use this,...
const Vector< GeneralisedElement * > & element_pt() const
Return reference to the Vector of elements.
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
Nodes are derived from Data, but, in addition, have a definite (Eulerian) position in a space of a gi...
Rectangular domain with circular whole.
Domain-based mesh for rectangular mesh with circular hole.
RectangleWithHoleDomain * Domain_pt
Pointer to the domain.
RectangleWithHoleMesh(GeomObject *cylinder_pt, const double &length, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass pointer to geometric object that represents the cylinder, the length and height of ...
RectangleWithHoleDomain * domain_pt()
Access function to the domain.
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 version of RectangleWithHoleMesh. For some reason this needs on uniform refinement to work...
virtual ~RefineableRectangleWithHoleMesh()
Destructor: Empty.
RefineableRectangleWithHoleMesh(GeomObject *cylinder_pt, const double &length, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor. Pass pointer to geometric object that represents the cylinder, the length and height of ...
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...
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).