26#ifndef OOMPH_EIGHTH_SPHERE_MESH_TEMPLATE_HEADER
27#define OOMPH_EIGHTH_SPHERE_MESH_TEMPLATE_HEADER
29#ifndef OOMPH_EIGHTH_SPHERE_MESH_HEADER
30#error __FILE__ should only be included from eighth_sphere_mesh.h.
39 template<
class ELEMENT>
45 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(3);
69 for (
unsigned i = 0;
i < nnode1d;
i++)
78 if ((
i == 0) || (
j == 0) || (
k == 0))
83 jnod, time_stepper_pt));
90 jnod, time_stepper_pt));
139 if ((
i ==
nnode1d - 1) || (
j == 0) || (
k == 0))
143 jnod, time_stepper_pt));
207 if ((
i == 0) || (
j ==
nnode1d - 1) || (
k == 0))
212 jnod, time_stepper_pt));
286 if ((
i == 0) || (
j == 0) || (
k ==
nnode1d - 1))
291 jnod, time_stepper_pt));
void setup_boundary_element_info()
Setup lookup schemes which establish whic elements are located next to mesh's boundaries (wrapper to ...
MacroElement * macro_element_pt(const unsigned &i)
Access to i-th macro element.
Eighth sphere as domain. Domain is parametrised by four macro elements.
EighthSphereMesh(const double &radius, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass radius and timestepper; defaults to static default timestepper.
Domain * Domain_pt
Pointer to the domain.
double Radius
Radius of the sphere.
virtual void local_fraction_of_node(const unsigned &j, Vector< double > &s_fraction)
Get the local fraction of the node j in the element A dumb, but correct default implementation is pro...
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
virtual unsigned nnode_1d() const
Return the number of nodes along one edge of the element Default is to return zero — must be overload...
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.
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.
Node *& node_pt(const unsigned long &n)
Return pointer to global node n.
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
double & x(const unsigned &i)
Return the i-th nodal coordinate.
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).