26#ifndef OOMPH_CIRCULAR_SHELL_MESH_TEMPLATE_HEADER
27#define OOMPH_CIRCULAR_SHELL_MESH_TEMPLATE_HEADER
29#ifndef OOMPH_CIRCULAR_SHELL_MESH_HEADER
30#error __FILE__ should only be included from circular_shell_mesh.h.
42 template<
class ELEMENT>
49 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
67 std::map<Node*, double>
min_dx;
72 unsigned nelem = nelement();
75 ELEMENT*
el_pt =
dynamic_cast<ELEMENT*
>(element_pt(
e));
104 double xstep = (this->Xmax - this->Xmin) / ((this->Np - 1) * this->Nx);
105 double ystep = (this->Ymax - this->Ymin) / ((this->Np - 1) * this->Ny);
125 template<
class ELEMENT>
130 unsigned nelem = nelement();
131 for (
unsigned e = 0;
e <
nelem;
e++)
133 ELEMENT*
el_pt =
dynamic_cast<ELEMENT*
>(element_pt(
e));
158 for (
unsigned i = 0;
i < 3;
i++)
166 0.5 * a(1,
i) * ((this->Ymax - this->Ymin) / this->Ny);
172 if (
dadxi(0, 1,
i) != 0.0)
176 <<
"Undef. GeomObject for this shell mesh should not be warped!\n"
177 <<
"It may be possible to generalise the mesh generator to \n"
178 <<
"deal with this case -- feel free to have a go...\n";
void build_mesh(const unsigned &nx, const unsigned &ny, const double &lx, const double &ly)
Mesh build helper fct.
void assign_undeformed_positions(GeomObject *const &undeformed_midplane_pt)
In all elastic problems, the nodes must be assigned an undeformed, or reference, position,...
virtual void local_coordinate_of_node(const unsigned &j, Vector< double > &s) const
Get local coordinates of node j in the element; vector sets its own size (broken virtual)
unsigned nnodal_position_type() const
Return the number of coordinate types that the element requires to interpolate the geometry between t...
unsigned nnode() const
Return the number of nodes.
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...
virtual void d2position(const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const
2nd derivative of position Vector w.r.t. to coordinates: = ddrdzeta(alpha,beta,i)....
double & x(const unsigned &i)
Return the i-th nodal coordinate.
double & x_gen(const unsigned &k, const unsigned &i)
Reference to the generalised position x(k,i). ‘Type’: k; Coordinate direction: i.
An OomphLibError object which should be thrown when an run-time error is encountered....
A Class for nodes that deform elastically (i.e. position is an unknown in the problem)....
double & xi(const unsigned &i)
Reference to i-th Lagrangian position.
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
TAdvectionDiffusionReactionElement()
Constructor: Call constructors for TElement and AdvectionDiffusionReaction equations.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).