41     std::ifstream mesh_file(mesh_file_name.c_str(), std::ios_base::in);
 
   51     for (
unsigned i = 0; 
i < n_node; 
i++)
 
   53       mesh_file >> x_node[
i];
 
   54       mesh_file >> y_node[
i];
 
   55       mesh_file >> vertinfo[
i];
 
   71     for (
unsigned i = 0; 
i < n_vx; 
i++)
 
   73       mesh_file >> dummy_node_code;
 
   74       mesh_file >> icurv[
i];
 
   75       mesh_file >> dummy_ucurv;
 
   79     unsigned n_local_node;
 
   80     mesh_file >> n_local_node;
 
   84     mesh_file >> n_element;
 
   98     for (
unsigned i = 0; 
i < n_element; 
i++)
 
  100       for (
unsigned j = 0; j < n_local_node; j++)
 
  102         mesh_file >> global_node[k];
 
  111     for (
unsigned i = 0; 
i < n_element; 
i++)
 
  113       for (
unsigned j = 0; j < n_local_node; j++)
 
  115         mesh_file >> edgeinfo[l];
 
  123     std::vector<bool> done(n_node);
 
  124     for (
unsigned i = 0; 
i < n_node; 
i++)
 
  140     std::ifstream curve_file(curve_file_name.c_str(), std::ios_base::in);
 
  144     curve_file >> n_curv;
 
  156     for (
unsigned i = 0; 
i < n_curv; 
i++)
 
  163         for (
unsigned j = 1; j < 4; j++)
 
  165           curve_file >> curv[
i][j];
 
  172         for (
unsigned j = 1; j < 5; j++)
 
  174           curve_file >> curv[
i][j];
 
  179         std::ostringstream error_stream;
 
  180         error_stream << 
"Current we can only process curves of\n" 
  181                      << 
"type 1 (straight lines) and 2 (circular arcs\n" 
  182                      << 
"You've specified: type " << type << std::endl;
 
  185           error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
 
  193     for (
unsigned i = 0; 
i < n_curv; 
i++)
 
  200     oomph_info << 
"The number of boundaries is " << d << std::endl;
 
  219     boundary_of_node.resize(n_node);
 
  221     for (
unsigned i = 0; 
i < n_node; 
i++)
 
  224       boundary_of_node[
i].resize(2);
 
  225       boundary_of_node[
i][0] = -1;
 
  226       boundary_of_node[
i][1] = -1;
 
  227       if (vertinfo[
i] == 2) 
 
  229         for (
unsigned j = 0; j < n_curv; j++)
 
  231           for (
unsigned m = 2; m < curv[j].size(); m++)
 
  234                 static_cast<int>(
i + 1)) 
 
  236               boundary_of_node[
i][n] = curv[j][1];
 
  242       if (vertinfo[
i] > 20)
 
  245         a = (vertinfo[
i]) / 20;
 
  248         boundary_of_node[
i][0] =
 
  259     for (
unsigned e = 0; 
e < n_element; 
e++)
 
  265       for (
unsigned j = 0; j < 2; j++)
 
  267         c = global_node[count];
 
  268         if (done[c - 1] == 
false) 
 
  272           if ((d > 0) && ((boundary_of_node[c - 1][0] > 0) ||
 
  273                           (boundary_of_node[c - 1][1] > 0)))
 
  278             if (boundary_of_node[c - 1][0] > 0)
 
  282             if (boundary_of_node[c - 1][1] > 0)
 
  293           Node_pt[c - 1]->x(0) = x_node[c - 1];
 
  294           Node_pt[c - 1]->x(1) = y_node[c - 1];
 
  304       c = global_node[count + 1];
 
  309         if ((d > 0) && ((boundary_of_node[c - 1][0] > 0) ||
 
  310                         (boundary_of_node[c - 1][1] > 0)))
 
  315           if (boundary_of_node[c - 1][0] > 0)
 
  319           if (boundary_of_node[c - 1][1] > 0)
 
  330         Node_pt[c - 1]->x(0) = x_node[c - 1];
 
  331         Node_pt[c - 1]->x(1) = y_node[c - 1];
 
  341       c = global_node[count - 1];
 
  346         if ((d > 0) && ((boundary_of_node[c - 1][0] > 0) ||
 
  347                         (boundary_of_node[c - 1][1] > 0)))
 
  352           if (boundary_of_node[c - 1][0] > 0)
 
  356           if (boundary_of_node[c - 1][1] > 0)
 
  367         Node_pt[c - 1]->x(0) = x_node[c - 1];
 
  368         Node_pt[c - 1]->x(1) = y_node[c - 1];
 
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.
virtual Node * construct_boundary_node(const unsigned &n)
Construct the local node n as a boundary node; that is a node that MAY be placed on a mesh boundary a...
GeompackQuadScaffoldMesh()
Empty constructor.
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.
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
An OomphLibError object which should be thrown when an run-time error is encountered....
std::string string(const unsigned &i)
Return the i-th string or "" if the relevant string hasn't been defined.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
OomphInfo oomph_info
Single (global) instantiation of the OomphInfo object – this is used throughout the library as a "rep...