26#ifndef OOMPH_CHANNEL_SPINE_MESH_HEADER
27#define OOMPH_CHANNEL_SPINE_MESH_HEADER
30#include "generic/spines.h"
41 template<
class ELEMENT>
174 return (this->
Xmin + xstep1 * ((this->
Np - 1) * xelement +
xnode));
Spine mesh class derived from standard 2D mesh. The mesh contains a StraightLine GeomObject which def...
GeomObject * wall_pt()
Access function to the GeomObject for upper wall.
Vector< FiniteElement * > Centre_element_pt
Vector of pointers to element in the centre region.
FiniteElement *& left_element_pt(const unsigned long &i)
Access functions for pointers to the -th element in the left region.
virtual void build_channel_spine_mesh(TimeStepper *time_stepper_pt)
Helper function to actually build the channel-spine mesh (called from various constructors)
virtual double x_spacing_function(unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode)
Return the value of the x-coordinate at the node given by the local node number (xnode,...
unsigned Nx0
Number of elements in the left region.
Spine *& left_spine_pt(const unsigned long &i)
Access function for spines in left region.
GeomObject * Straight_wall_pt
GeomObject for the straight upper wall.
double Lx1
Length of centre region.
double Lx0
Length of left region.
unsigned long ncentre() const
Number of elements in centre region.
unsigned Nx2
Number of elements in the right region.
unsigned nright_spine()
Access function for the number of spines in the right region.
double Lx2
Length of right region.
unsigned long nright() const
Number of elements in right region.
unsigned Nright_spine
Number of spines in right region.
unsigned Nleft_spine
Number of spines in left region.
unsigned Nx1
Number of elements in the centre region.
FiniteElement *& right_element_pt(const unsigned long &i)
Access functions for pointers to the -th element in the right region.
unsigned long nleft() const
Number of elements in left region.
unsigned ncentre_spine()
Access function for the number of spines in the centre region.
unsigned long nbulk() const
Number of elements in bulk.
Spine *& right_spine_pt(const unsigned long &i)
Access function for spines in right region.
Vector< FiniteElement * > Right_element_pt
Vector of pointers to element in the right region.
Spine *& centre_spine_pt(const unsigned long &i)
Access function for spines in centre region.
Vector< FiniteElement * > Left_element_pt
Vector of pointers to element in the left region.
FiniteElement *& centre_element_pt(const unsigned long &i)
Access functions for pointers to the -th element in the centre region.
void element_reorder()
Reorder the elements so we loop over them vertically first (advantageous in "wide" domains if a front...
GeomObject * Wall_pt
GeomObject for upper wall.
virtual void spine_node_update(SpineNode *spine_node_pt)
General node update function implements pure virtual function defined in SpineMesh base class and per...
unsigned nleft_spine()
Access function for the number of spines in the left region.
unsigned Ncentre_spine
Number of spines in centre region.
GeomObject * straight_wall_pt()
Access function to the GeomObject for the straight upper wall.
Collapsible channel mesh with MacroElement-based node update. The collapsible segment is represented ...
RectangularQuadMesh is a two-dimensional mesh of Quad elements with Nx elements in the "x" (horizonal...
const unsigned & ny() const
Return number of elements in y direction.
unsigned Np
Np: number of (linear) points in the element.
double Ymin
Minimum value of y coordinate.
double Xmin
Minimum value of x coordinate.