Contains functions which define the geometry of the mesh, i.e. regions, boundaries, etc. More...
#include <unstructured_two_d_mesh_geometry_base.h>
Classes | |
struct | base_vertex_info |
Data structure to store the base vertex info, initial or final vertex in the polylines have an associated base vertex. More... | |
struct | vertex_connection_info |
Data structure filled when the connection matrix is created, for each polyline, there are two vertex_connection_info structures, one for each end. More... | |
Public Member Functions | |
UnstructuredTwoDMeshGeometryBase () | |
Empty constructor. More... | |
UnstructuredTwoDMeshGeometryBase (const UnstructuredTwoDMeshGeometryBase &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const UnstructuredTwoDMeshGeometryBase &)=delete |
Broken assignment operator. More... | |
~UnstructuredTwoDMeshGeometryBase () | |
Empty destructor. More... | |
unsigned | nregion () |
Return the number of regions specified by attributes. More... | |
unsigned | nregion_element (const unsigned &i) |
Return the number of elements in the i-th region. More... | |
FiniteElement * | region_element_pt (const unsigned &i, const unsigned &e) |
Return the e-th element in the i-th region. More... | |
unsigned | nregion_attribute () |
Return the number of attributes used in the mesh. More... | |
double | region_attribute (const unsigned &i) |
Return the attribute associated with region i. More... | |
GeomObject * | boundary_geom_object_pt (const unsigned &b) |
Return the geometric object associated with the b-th boundary or null if the boundary has associated geometric object. More... | |
std::map< unsigned, GeomObject * > & | boundary_geom_object_pt () |
Return direct access to the geometric object storage. More... | |
std::map< unsigned, Vector< double > > & | boundary_coordinate_limits () |
Return access to the vector of boundary coordinates associated with each geometric object. More... | |
Vector< double > & | boundary_coordinate_limits (const unsigned &b) |
Return access to the coordinate limits associated with the geometric object associated with boundary b. More... | |
unsigned | nboundary_element_in_region (const unsigned &b, const unsigned &r) const |
Return the number of elements adjacent to boundary b in region r. More... | |
FiniteElement * | boundary_element_in_region_pt (const unsigned &b, const unsigned &r, const unsigned &e) const |
Return pointer to the e-th element adjacent to boundary b in region r. More... | |
int | face_index_at_boundary_in_region (const unsigned &b, const unsigned &r, const unsigned &e) const |
Return face index of the e-th element adjacent to boundary b in region r. More... | |
TriangleMeshPolyLine * | boundary_polyline_pt (const unsigned &b) |
Return pointer to the current polyline that describes the b-th mesh boundary. More... | |
std::map< unsigned, std::set< Node * > > & | nodes_on_boundary_pt () |
Gets a pointer to a set with all the nodes related with a boundary. More... | |
const bool | get_connected_vertex_number_on_destination_polyline (TriangleMeshPolyLine *dst_polyline_pt, Vector< double > &vertex_coordinates, unsigned &vertex_number) |
Gets the vertex number on the destination polyline (used to create the connections among shared boundaries) More... | |
void | check_contiguousness_on_polylines_helper (Vector< TriangleMeshPolyLine * > &polylines_pt, unsigned &index) |
Sort the polylines coming from joining them. Check whether it is necessary to reverse them or not. Used when joining two curve polylines in order to create a polygon. More... | |
void | check_contiguousness_on_polylines_helper (Vector< TriangleMeshPolyLine * > &polylines_pt, unsigned &index_halo_start, unsigned &index_halo_end) |
Sort the polylines coming from joining them. Check whether it is necessary to reverse them or not. Used when joining polylines and they still do not create a polygon. More... | |
bool | is_point_inside_polygon_helper (Vector< Vector< double >> polygon_vertices, Vector< double > point) |
Helper function that checks if a given point is inside a polygon (a set of sorted vertices that connected create a polygon) More... | |
void | enable_automatic_creation_of_vertices_on_boundaries () |
Enables the creation of points (by Triangle) on the outer and internal boundaries. More... | |
void | disable_automatic_creation_of_vertices_on_boundaries () |
Disables the creation of points (by Triangle) on the outer and internal boundaries. More... | |
bool | is_automatic_creation_of_vertices_on_boundaries_allowed () |
Returns the status of the variable Allow_automatic_creation_of_vertices_on_boundaries. More... | |
void | flush_boundary_segment_node (const unsigned &b) |
Flush the boundary segment node storage. More... | |
void | set_nboundary_segment_node (const unsigned &b, const unsigned &s) |
Set the number of segments associated with a boundary. More... | |
unsigned | nboundary_segment (const unsigned &b) |
Return the number of segments associated with a boundary. More... | |
unsigned long | nboundary_segment_node (const unsigned &b) |
Return the number of segments associated with a boundary. More... | |
unsigned long | nboundary_segment_node (const unsigned &b, const unsigned &s) |
Return the number of nodes associated with a given segment of a boundary. More... | |
void | add_boundary_segment_node (const unsigned &b, const unsigned &s, Node *const &node_pt) |
Add the node node_pt to the b-th boundary and the s-th segment of the mesh. More... | |
std::map< unsigned, Vector< double > > & | boundary_initial_coordinate () |
Return direct access to the initial coordinates of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_final_coordinate () |
Return direct access to the final coordinates of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_initial_zeta_coordinate () |
Return direct access to the initial zeta coordinate of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_final_zeta_coordinate () |
Return direct access to the final zeta coordinates of a boundary. More... | |
std::map< unsigned, Vector< unsigned > > & | boundary_segment_inverted () |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh. More... | |
std::map< unsigned, Vector< Vector< double > > > & | boundary_segment_initial_coordinate () |
Return direct access to the initial coordinates for the segments that are part of a boundary. More... | |
std::map< unsigned, Vector< Vector< double > > > & | boundary_segment_final_coordinate () |
Return direct access to the final coordinates for the segments that are part of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_segment_initial_arclength () |
Return direct access to the initial arclength for the segments that are part of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_segment_final_arclength () |
Return direct access to the final arclength for the segments that are part of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_segment_initial_zeta () |
Return direct access to the initial zeta for the segments that are part of a boundary. More... | |
std::map< unsigned, Vector< double > > & | boundary_segment_final_zeta () |
Return direct access to the final zeta for the segments that are part of a boundary. More... | |
Vector< double > & | boundary_segment_initial_zeta (const unsigned &b) |
Return the initial zeta for the segments that are part of a boundary. More... | |
Vector< double > & | boundary_segment_final_zeta (const unsigned &b) |
Return the final zeta for the segments that are part of a boundary. More... | |
Vector< double > & | boundary_initial_coordinate (const unsigned &b) |
Return the initial coordinates for the boundary. More... | |
Vector< double > & | boundary_final_coordinate (const unsigned &b) |
Return the final coordinates for the boundary. More... | |
const Vector< unsigned > | boundary_segment_inverted (const unsigned &b) const |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh. More... | |
Vector< unsigned > & | boundary_segment_inverted (const unsigned &b) |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh. More... | |
Vector< double > & | boundary_initial_zeta_coordinate (const unsigned &b) |
Return the initial zeta coordinate for the boundary. More... | |
Vector< double > & | boundary_final_zeta_coordinate (const unsigned &b) |
Return the final zeta coordinate for the boundary. More... | |
Vector< double > & | boundary_segment_initial_arclength (const unsigned &b) |
Return the initial arclength for the segments that are part of a boundary. More... | |
Vector< double > & | boundary_segment_final_arclength (const unsigned &b) |
Return the final arclength for the segments that are part of a boundary. More... | |
Vector< Vector< double > > & | boundary_segment_initial_coordinate (const unsigned &b) |
Return the initial coordinates for the segments that are part of a boundary. More... | |
Vector< Vector< double > > & | boundary_segment_final_coordinate (const unsigned &b) |
Return the final coordinates for the segments that are part of a boundary. More... | |
template<class ELEMENT > | |
void | setup_boundary_coordinates (const unsigned &b) |
Setup boundary coordinate on boundary b. Boundary coordinate increases continously along polygonal boundary. It's zero at the lowest left node on the boundary. More... | |
template<class ELEMENT > | |
void | setup_boundary_coordinates (const unsigned &b, std::ofstream &outfile) |
Setup boundary coordinate on boundary b. Doc Faces in outfile. Boundary coordinate increases continously along polygonal boundary. It's zero at the lowest left node on the boundary. More... | |
Public Member Functions inherited from oomph::Mesh | |
void | resize_halo_nodes () |
Helper function that resizes halo nodes to the same size as their non-halo counterparts if required. (A discrepancy can arise if a FaceElement that introduces additional unknowns are attached to a bulk element that shares a node with a haloed element. In that case the joint node between haloed and non-haloed element is resized on that processor but not on the one that holds the halo counterpart (because no FaceElement is attached to the halo element) More... | |
Mesh () | |
Default constructor. More... | |
Mesh (const Vector< Mesh * > &sub_mesh_pt) | |
Constructor builds combined mesh from the meshes specified. Note: This simply merges the meshes' elements and nodes (ignoring duplicates; no boundary information etc. is created). More... | |
void | merge_meshes (const Vector< Mesh * > &sub_mesh_pt) |
Merge meshes. Note: This simply merges the meshes' elements and nodes (ignoring duplicates; no boundary information etc. is created). More... | |
virtual void | setup_boundary_element_info () |
Interface for function that is used to setup the boundary information (Empty virtual function – implement this for specific Mesh classes) More... | |
virtual void | setup_boundary_element_info (std::ostream &outfile) |
Setup lookup schemes which establish whic elements are located next to mesh's boundaries. Doc in outfile (if it's open). (Empty virtual function – implement this for specific Mesh classes) More... | |
virtual void | reset_boundary_element_info (Vector< unsigned > &ntmp_boundary_elements, Vector< Vector< unsigned >> &ntmp_boundary_elements_in_region, Vector< FiniteElement * > &deleted_elements) |
Virtual function to perform the reset boundary elements info rutines. More... | |
template<class BULK_ELEMENT > | |
void | doc_boundary_coordinates (const unsigned &b, std::ofstream &the_file) |
Output boundary coordinates on boundary b – template argument specifies the bulk element type (needed to create FaceElement of appropriate type on mesh boundary). More... | |
virtual void | scale_mesh (const double &factor) |
Scale all nodal coordinates by given factor. Virtual so it can be overloaded in SolidMesh class where it also re-assigns the Lagrangian coordinates. More... | |
Mesh (const Mesh &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const Mesh &)=delete |
Broken assignment operator. More... | |
virtual | ~Mesh () |
Virtual Destructor to clean up all memory. More... | |
void | flush_element_and_node_storage () |
Flush storage for elements and nodes by emptying the vectors that store the pointers to them. This is useful if a particular mesh is only built to generate a small part of a bigger mesh. Once the elements and nodes have been created, they are typically copied into the new mesh and the auxiliary mesh can be deleted. However, if we simply call the destructor of the auxiliary mesh, it will also wipe out the nodes and elements, because it still "thinks" it's in charge of these... More... | |
void | flush_element_storage () |
Flush storage for elements (only) by emptying the vectors that store the pointers to them. This is useful if a particular mesh is only built to generate a small part of a bigger mesh. Once the elements and nodes have been created, they are typically copied into the new mesh and the auxiliary mesh can be deleted. However, if we simply call the destructor of the auxiliary mesh, it will also wipe out the nodes and elements, because it still "thinks" it's in charge of these... More... | |
void | flush_node_storage () |
Flush storage for nodes (only) by emptying the vectors that store the pointers to them. More... | |
Node *& | node_pt (const unsigned long &n) |
Return pointer to global node n. More... | |
Node * | node_pt (const unsigned long &n) const |
Return pointer to global node n (const version) More... | |
GeneralisedElement *& | element_pt (const unsigned long &e) |
Return pointer to element e. More... | |
GeneralisedElement * | element_pt (const unsigned long &e) const |
Return pointer to element e (const version) More... | |
const Vector< GeneralisedElement * > & | element_pt () const |
Return reference to the Vector of elements. More... | |
Vector< GeneralisedElement * > & | element_pt () |
Return reference to the Vector of elements. More... | |
FiniteElement * | finite_element_pt (const unsigned &e) const |
Upcast (downcast?) to FiniteElement (needed to access FiniteElement member functions). More... | |
Node *& | boundary_node_pt (const unsigned &b, const unsigned &n) |
Return pointer to node n on boundary b. More... | |
Node * | boundary_node_pt (const unsigned &b, const unsigned &n) const |
Return pointer to node n on boundary b. More... | |
void | set_nboundary (const unsigned &nbound) |
Set the number of boundaries in the mesh. More... | |
void | remove_boundary_nodes () |
Clear all pointers to boundary nodes. More... | |
void | remove_boundary_nodes (const unsigned &b) |
Remove all information about nodes stored on the b-th boundary of the mesh. More... | |
void | remove_boundary_node (const unsigned &b, Node *const &node_pt) |
Remove a node from the boundary b. More... | |
void | add_boundary_node (const unsigned &b, Node *const &node_pt) |
Add a (pointer to) a node to the b-th boundary. More... | |
void | copy_boundary_node_data_from_nodes () |
Replace existing boundary node lookup schemes with new schemes created using the boundary data stored in the nodes. More... | |
bool | boundary_coordinate_exists (const unsigned &i) const |
Indicate whether the i-th boundary has an intrinsic coordinate. More... | |
unsigned long | nelement () const |
Return number of elements in the mesh. More... | |
unsigned long | nnode () const |
Return number of nodes in the mesh. More... | |
unsigned | ndof_types () const |
Return number of dof types in mesh. More... | |
unsigned | elemental_dimension () const |
Return number of elemental dimension in mesh. More... | |
unsigned | nodal_dimension () const |
Return number of nodal dimension in mesh. More... | |
void | add_node_pt (Node *const &node_pt) |
Add a (pointer to a) node to the mesh. More... | |
void | add_element_pt (GeneralisedElement *const &element_pt) |
Add a (pointer to) an element to the mesh. More... | |
virtual void | node_update (const bool &update_all_solid_nodes=false) |
Update nodal positions in response to changes in the domain shape. Uses the FiniteElement::get_x(...) function for FiniteElements and doesn't do anything for other element types. If a MacroElement pointer has been set for a FiniteElement, the MacroElement representation is used to update the nodal positions; if not get_x(...) uses the FE interpolation and thus leaves the nodal positions unchanged. Virtual, so it can be overloaded by specific meshes, such as AlgebraicMeshes or SpineMeshes. Generally, this function updates the position of all nodes in response to changes in the boundary position. However, we ignore all SolidNodes since their position is computed as part of the solution – unless the bool flag is set to true. Such calls are typically made when the initial mesh is created and/or after a mesh has been refined repeatedly before the start of the computation. More... | |
virtual void | reorder_nodes (const bool &use_old_ordering=true) |
Re-order nodes in the order in which they appear in elements – can be overloaded for more efficient re-ordering. More... | |
virtual void | get_node_reordering (Vector< Node * > &reordering, const bool &use_old_ordering=true) const |
Get a reordering of the nodes in the order in which they appear in elements – can be overloaded for more efficient re-ordering. More... | |
template<class BULK_ELEMENT , template< class > class FACE_ELEMENT> | |
void | build_face_mesh (const unsigned &b, Mesh *const &face_mesh_pt) |
Constuct a Mesh of FACE_ELEMENTs along the b-th boundary of the mesh (which contains elements of type BULK_ELEMENT) More... | |
unsigned | self_test () |
Self-test: Check elements and nodes. Return 0 for OK. More... | |
void | max_and_min_element_size (double &max_size, double &min_size) |
Determine max and min area for all FiniteElements in the mesh (non-FiniteElements are ignored) More... | |
double | total_size () |
Determine the sum of all "sizes" of the FiniteElements in the mesh (non-FiniteElements are ignored). This gives the length/area/volume occupied by the mesh. More... | |
void | check_inverted_elements (bool &mesh_has_inverted_elements, std::ofstream &inverted_element_file) |
Check for inverted elements and report outcome in boolean variable. This visits all elements at their integration points and checks if the Jacobian of the mapping between local and global coordinates is positive – using the same test that would be carried out (but only in PARANOID mode) during the assembly of the elements' Jacobian matrices. Inverted elements are output in inverted_element_file (if the stream is open). More... | |
void | check_inverted_elements (bool &mesh_has_inverted_elements) |
Check for inverted elements and report outcome in boolean variable. This visits all elements at their integration points and checks if the Jacobian of the mapping between local and global coordinates is positive – using the same test that would be carried out (but only in PARANOID mode) during the assembly of the elements' Jacobian matrices. More... | |
unsigned | check_for_repeated_nodes (const double &epsilon=1.0e-12) |
Check for repeated nodes within a given spatial tolerance. Return (0/1) for (pass/fail). More... | |
Vector< Node * > | prune_dead_nodes () |
Prune nodes. Nodes that have been marked as obsolete are removed from the mesh (and its boundary-node scheme). Returns vector of pointers to deleted nodes. More... | |
unsigned | nboundary () const |
Return number of boundaries. More... | |
unsigned long | nboundary_node (const unsigned &ibound) const |
Return number of nodes on a particular boundary. More... | |
FiniteElement * | boundary_element_pt (const unsigned &b, const unsigned &e) const |
Return pointer to e-th finite element on boundary b. More... | |
Node * | get_some_non_boundary_node () const |
Find a node not on any boundary in mesh_pt (useful for pinning a single node in a purely Neumann problem so that it is fully determined). More... | |
unsigned | nboundary_element (const unsigned &b) const |
Return number of finite elements that are adjacent to boundary b. More... | |
int | face_index_at_boundary (const unsigned &b, const unsigned &e) const |
For the e-th finite element on boundary b, return int to indicate the face_index of the face adjacent to the boundary. This is consistent with input required during the generation of FaceElements. More... | |
virtual void | dump (std::ofstream &dump_file, const bool &use_old_ordering=true) const |
Dump the data in the mesh into a file for restart. More... | |
void | dump (const std::string &dump_file_name, const bool &use_old_ordering=true) const |
Dump the data in the mesh into a file for restart. More... | |
virtual void | read (std::ifstream &restart_file) |
Read solution from restart file. More... | |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent). More... | |
void | output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent). More... | |
void | output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent). More... | |
void | output (std::ostream &outfile) |
Output for all elements. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Output at f(n_plot) points in each element. More... | |
void | output (FILE *file_pt) |
Output for all elements (C-style output) More... | |
void | output (FILE *file_pt, const unsigned &nplot) |
Output at f(n_plot) points in each element (C-style output) More... | |
void | output (const std::string &output_filename) |
Output for all elements. More... | |
void | output (const std::string &output_filename, const unsigned &n_plot) |
Output at f(n_plot) points in each element. More... | |
void | output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt) |
Output a given Vector function at f(n_plot) points in each element. More... | |
void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt) |
Output a given time-dep. Vector function at f(n_plot) points in each element. More... | |
void | output_boundaries (std::ostream &outfile) |
Output the nodes on the boundaries (into separate tecplot zones) More... | |
void | output_boundaries (const std::string &output_filename) |
Output the nodes on the boundaries (into separate tecplot zones). Specify filename. More... | |
void | assign_initial_values_impulsive () |
Assign initial values for an impulsive start. More... | |
void | shift_time_values () |
Shift time-dependent data along for next timestep: Deal with nodal Data/positions and the element's internal Data. More... | |
void | calculate_predictions () |
Calculate predictions for all Data and positions associated with the mesh, usually used in adaptive time-stepping. More... | |
void | set_nodal_and_elemental_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Set the timestepper associated with all nodal and elemental data stored in the mesh. More... | |
virtual void | set_mesh_level_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Function that can be used to set any additional timestepper data stored at the Mesh (as opposed to nodal and elemental) levels. This is virtual so that it can be overloaded in the appropriate Meshes. Examples include the SpineMeshes and adaptive triangle and tet meshes. More... | |
void | set_consistent_pinned_values_for_continuation (ContinuationStorageScheme *const &continuation_stepper_pt) |
Set consistent values for pinned data in continuation. More... | |
bool | does_pointer_correspond_to_mesh_data (double *const ¶meter_pt) |
Does the double pointer correspond to any mesh data. More... | |
void | set_nodal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Set the timestepper associated with the nodal data in the mesh. More... | |
void | set_elemental_internal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Set the timestepper associated with the internal data stored within elements in the meah. More... | |
virtual void | compute_norm (double &norm) |
Compute norm of solution by summing contributions of compute_norm(...) for all constituent elements in the mesh. What that norm means depends on what's defined in the element's function; may need to take the square root afterwards if the elements compute the square of the L2 norm, say. More... | |
virtual void | compute_norm (Vector< double > &norm) |
Compute norm of solution by summing contributions of compute_norm(...) for all constituent elements in the mesh. What that norm means depends on what's defined in the element's function; may need to take the square root afterwards if the elements compute the square of the L2 norm, say. More... | |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Plot error when compared against a given exact solution. Also returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Plot error when compared against a given time-dependent exact solution. Also returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
Plot error when compared against a given time-dependent exact solution. Also returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually. More... | |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
Returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually. More... | |
bool | is_mesh_distributed () const |
Boolean to indicate if Mesh has been distributed. More... | |
OomphCommunicator * | communicator_pt () const |
Read-only access fct to communicator (Null if mesh is not distributed, i.e. if we don't have mpi). More... | |
void | set_communicator_pt (OomphCommunicator *comm_pt) |
Function to set communicator (mesh is assumed to be distributed if the communicator pointer is non-null). Only defined if mpi is enabled becaus Comm_pt itself is only defined when mpi is enabled. More... | |
void | set_keep_all_elements_as_halos () |
Call this function to keep all the elements as halo elements. More... | |
void | unset_keep_all_elements_as_halos () |
Calll this function to unset the flag that keeps all elements in the mesh as halo elements. More... | |
virtual void | distribute (OomphCommunicator *comm_pt, const Vector< unsigned > &element_domain, Vector< GeneralisedElement * > &deleted_element_pt, DocInfo &doc_info, const bool &report_stats, const bool &overrule_keep_as_halo_element_status) |
Distribute the problem and doc; make this virtual to allow overloading for particular meshes where further work is required. Add to vector of pointers to deleted elements. More... | |
void | distribute (OomphCommunicator *comm_pt, const Vector< unsigned > &element_domain, Vector< GeneralisedElement * > &deleted_element_pt, const bool &report_stats=false) |
Distribute the problem Add to vector of pointers to deleted elements. More... | |
void | prune_halo_elements_and_nodes (Vector< GeneralisedElement * > &deleted_element_pt, const bool &report_stats=false) |
(Irreversibly) prune halo(ed) elements and nodes, usually after another round of refinement, to get rid of excessively wide halo layers. Note that the current mesh will be now regarded as the base mesh and no unrefinement relative to it will be possible once this function has been called. More... | |
void | prune_halo_elements_and_nodes (Vector< GeneralisedElement * > &deleted_element_pt, DocInfo &doc_info, const bool &report_stats) |
(Irreversibly) prune halo(ed) elements and nodes, usually after another round of refinement, to get rid of excessively wide halo layers. Note that the current mesh will be now regarded as the base mesh and no unrefinement relative to it will be possible once this function has been called. More... | |
void | get_efficiency_of_mesh_distribution (double &av_efficiency, double &max_efficiency, double &min_efficiency) |
Get efficiency of mesh distribution: In an ideal distribution without halo overhead, each processor would only hold its own elements. Efficieny per processor = (number of non-halo elements)/ (total number of elements). More... | |
void | doc_mesh_distribution (DocInfo &doc_info) |
Doc the mesh distribution, to be processed with tecplot macros. More... | |
void | check_halo_schemes (DocInfo &doc_info, double &max_permitted_error_for_halo_check) |
Check halo and shared schemes on the mesh. More... | |
virtual void | classify_halo_and_haloed_nodes (DocInfo &doc_info, const bool &report_stats) |
Classify the halo and haloed nodes in the mesh. Virtual so it can be overloaded to perform additional functionality (such as synchronising hanging nodes) in refineable meshes, say. More... | |
virtual void | classify_halo_and_haloed_nodes (const bool &report_stats=false) |
Classify the halo and haloed nodes in the mesh. Virtual so it can be overloaded to perform additional functionality (such as synchronising hanging nodes) in refineable meshes, say. More... | |
void | synchronise_shared_nodes (const bool &report_stats) |
Synchronise shared node lookup schemes to cater for the the case where: (1) a certain node on the current processor is halo with proc p (i.e. its non-halo counterpart lives on processor p) (2) that node is also exists (also as a halo) on another processor (q, say) where its non-halo counter part is also known to be on processor p. However, without calling this function the current processor does not necessarily know that it shares a node with processor q. This information can be required, e.g. when synchronising hanging node schemes over all processors. More... | |
void | get_all_halo_data (std::map< unsigned, double * > &map_of_halo_data) |
Get all the halo data stored in the mesh and add pointers to the data to the map, indexed by global equation number. More... | |
Vector< GeneralisedElement * > | halo_element_pt (const unsigned &p) |
Return vector of halo elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
Vector< GeneralisedElement * > | haloed_element_pt (const unsigned &p) |
Return vector of haloed elements in this Mesh whose haloing counterpart is held on processor p. More... | |
unsigned | nnon_halo_element () |
Total number of non-halo elements in this mesh (Costly call computes result on the fly) More... | |
unsigned | nroot_halo_element () |
Total number of root halo elements in this Mesh. More... | |
unsigned | nroot_halo_element (const unsigned &p) |
Number of root halo elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
Vector< GeneralisedElement * > | root_halo_element_pt (const unsigned &p) |
Vector of pointers to root halo elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
GeneralisedElement *& | root_halo_element_pt (const unsigned &p, const unsigned &e) |
Access fct to the e-th root halo element in this Mesh whose non-halo counterpart is held on processor p. More... | |
void | add_root_halo_element_pt (const unsigned &p, GeneralisedElement *&el_pt) |
Add root halo element whose non-halo counterpart is held on processor p to this Mesh. More... | |
unsigned | nhalo_node () |
Total number of halo nodes in this Mesh. More... | |
unsigned | nhalo_node (const unsigned &p) |
Number of halo nodes in this Mesh whose non-halo counterpart is held on processor p. More... | |
void | add_halo_node_pt (const unsigned &p, Node *&nod_pt) |
Add halo node whose non-halo counterpart is held on processor p to the storage scheme for halo nodes. More... | |
Node * | halo_node_pt (const unsigned &p, const unsigned &j) |
Access fct to the j-th halo node in this Mesh whose non-halo counterpart is held on processor p. More... | |
unsigned | nroot_haloed_element () |
Total number of root haloed elements in this Mesh. More... | |
unsigned | nroot_haloed_element (const unsigned &p) |
Number of root haloed elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
Vector< GeneralisedElement * > | root_haloed_element_pt (const unsigned &p) |
Vector of pointers to root haloed elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
GeneralisedElement *& | root_haloed_element_pt (const unsigned &p, const unsigned &e) |
Access fct to the e-th root haloed element in this Mesh whose non-halo counterpart is held on processor p. More... | |
void | add_root_haloed_element_pt (const unsigned &p, GeneralisedElement *&el_pt) |
Add root haloed element whose non-halo counterpart is held on processor p to the storage scheme for haloed elements. Note: This does not add the element to the storage scheme for elements as it's understood to naturally live on this processor anyway! More... | |
unsigned | nhaloed_node () |
Total number of haloed nodes in this Mesh. More... | |
unsigned | nhaloed_node (const unsigned &p) |
Number of haloed nodes in this Mesh whose haloed counterpart is held on processor p. More... | |
Node * | haloed_node_pt (const unsigned &p, const unsigned &j) |
Access fct to the j-th haloed node in this Mesh whose halo counterpart is held on processor p. More... | |
void | add_haloed_node_pt (const unsigned &p, Node *&nod_pt) |
Add haloed node whose halo counterpart is held on processor p to the storage scheme for haloed nodes. More... | |
void | disable_resizing_of_halo_nodes () |
Function to suppress resizing of halo nodes – optmisation but call it at your own risk! More... | |
void | enable_resizing_of_halo_nodes () |
Function to (re-)enable resizing of halo nodes – this returns things to the default behaviour. More... | |
void | disable_output_of_halo_elements () |
Function to disable halo element output. More... | |
void | enable_output_of_halo_elements () |
Function to enable halo element output. More... | |
unsigned | nshared_node () |
Total number of shared nodes in this Mesh. More... | |
void | doc_shared_nodes () |
Doc shared nodes. More... | |
unsigned | nshared_node (const unsigned &p) |
Number of shared nodes in this Mesh who have a counterpart on processor p. More... | |
Node * | shared_node_pt (const unsigned &p, const unsigned &j) |
Access fct to the j-th shared node in this Mesh who has a counterpart on processor p. More... | |
void | get_shared_node_pt (const unsigned &p, Vector< Node * > &shared_node_pt) |
Get vector of pointers to shared nodes with processor p. Required for faster search in Missing_masters_functions::add_external_haloed_node_helper() and Missing_masters_functions::add_external_haloed_master_node_helper() More... | |
void | add_shared_node_pt (const unsigned &p, Node *&nod_pt) |
Add shared node whose counterpart is held on processor p to the storage scheme for shared nodes. (NB: ensure that this routine is called twice, once for each process) More... | |
void | get_halo_node_stats (double &av_number, unsigned &max_number, unsigned &min_number) |
Get halo node stats for this distributed mesh: Average/max/min number of halo nodes over all processors. Careful: Involves MPI Broadcasts and must therefore be called on all processors! More... | |
void | get_haloed_node_stats (double &av_number, unsigned &max_number, unsigned &min_number) |
Get haloed node stats for this distributed mesh: Average/max/min number of haloed nodes over all processors. Careful: Involves MPI Broadcasts and must therefore be called on all processors! More... | |
void | output_external_halo_elements (std::ostream &outfile, const unsigned &n_plot=5) |
Output all external halo elements. More... | |
void | output_external_halo_elements (const unsigned &p, std::ostream &outfile, const unsigned &n_plot=5) |
Output all external halo elements with processor p. More... | |
void | output_external_haloed_elements (std::ostream &outfile, const unsigned &n_plot=5) |
Output all external haloed elements. More... | |
void | output_external_haloed_elements (const unsigned &p, std::ostream &outfile, const unsigned &n_plot=5) |
Output all external haloed elements with processor p. More... | |
unsigned | nexternal_halo_element () |
Total number of external halo elements in this Mesh. More... | |
unsigned | nexternal_halo_element (const unsigned &p) |
Number of external halo elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
GeneralisedElement *& | external_halo_element_pt (const unsigned &p, const unsigned &e) |
Access fct to the e-th external halo element in this Mesh whose non-halo counterpart is held on processor p. More... | |
void | add_external_halo_element_pt (const unsigned &p, GeneralisedElement *&el_pt) |
Add external halo element whose non-halo counterpart is held on processor p to this Mesh. More... | |
unsigned | nexternal_haloed_element () |
Total number of external haloed elements in this Mesh. More... | |
unsigned | nexternal_haloed_element (const unsigned &p) |
Number of external haloed elements in this Mesh whose non-halo counterpart is held on processor p. More... | |
GeneralisedElement *& | external_haloed_element_pt (const unsigned &p, const unsigned &e) |
Access fct to the e-th external haloed element in this Mesh whose non-halo counterpart is held on processor p. More... | |
unsigned | add_external_haloed_element_pt (const unsigned &p, GeneralisedElement *&el_pt) |
Add external haloed element whose non-halo counterpart is held on processor p to the storage scheme for haloed elements. More... | |
unsigned | nexternal_halo_node () |
Total number of external halo nodes in this Mesh. More... | |
void | get_external_halo_node_pt (Vector< Node * > &external_halo_node_pt) |
Get vector of pointers to all external halo nodes. More... | |
unsigned | nexternal_halo_node (const unsigned &p) |
Number of external halo nodes in this Mesh whose non-halo (external) counterpart is held on processor p. More... | |
void | add_external_halo_node_pt (const unsigned &p, Node *&nod_pt) |
Add external halo node whose non-halo (external) counterpart is held on processor p to the storage scheme for halo nodes. More... | |
Node *& | external_halo_node_pt (const unsigned &p, const unsigned &j) |
Access fct to the j-th external halo node in this Mesh whose non-halo external counterpart is held on processor p. More... | |
Vector< Node * > | external_halo_node_pt (const unsigned &p) |
Access fct to vector of external halo node in this Mesh whose non-halo external counterpart is held on processor p. (read only) More... | |
void | set_external_halo_node_pt (const unsigned &p, const Vector< Node * > &external_halo_node_pt) |
Set vector of external halo node in this Mesh whose non-halo external counterpart is held on processor p. More... | |
void | null_external_halo_node (const unsigned &p, Node *nod_pt) |
Null out specified external halo node (used when deleting duplicates) More... | |
void | remove_null_pointers_from_external_halo_node_storage () |
Consolidate external halo node storage by removing nulled out pointes in external halo and haloed schemes. More... | |
unsigned | nexternal_haloed_node () |
Total number of external haloed nodes in this Mesh. More... | |
unsigned | nexternal_haloed_node (const unsigned &p) |
Number of external haloed nodes in this Mesh whose halo (external) counterpart is held on processor p. More... | |
Node *& | external_haloed_node_pt (const unsigned &p, const unsigned &j) |
Access fct to the j-th external haloed node in this Mesh whose halo external counterpart is held on processor p. More... | |
unsigned | add_external_haloed_node_pt (const unsigned &p, Node *&nod_pt) |
Add external haloed node whose halo (external) counterpart is held on processor p to the storage scheme for haloed nodes. More... | |
Vector< Node * > | external_haloed_node_pt (const unsigned &p) |
Access fct to vector of external haloed node in this Mesh whose halo external counterpart is held on processor p. (read only) More... | |
void | set_external_haloed_node_pt (const unsigned &p, const Vector< Node * > &external_haloed_node_pt) |
Set vector of external haloed node in this Mesh whose halo external counterpart is held on processor p. More... | |
std::set< int > | external_halo_proc () |
Return the set of processors that hold external halo nodes. This is required to avoid having to pass a communicator into the node_update functions for Algebraic-based and MacroElement-based Meshes. More... | |
virtual void | create_shared_boundaries (OomphCommunicator *comm_pt, const Vector< unsigned > &element_domain, const Vector< GeneralisedElement * > &backed_up_el_pt, const Vector< FiniteElement * > &backed_up_f_el_pt, std::map< Data *, std::set< unsigned >> &processors_associated_with_data, const bool &overrule_keep_as_halo_element_status) |
Creates the shared boundaries, only used in unstructured meshes In this case with the "TriangleMesh" class. More... | |
virtual unsigned | try_to_add_root_haloed_element_pt (const unsigned &p, GeneralisedElement *&el_pt) |
virtual unsigned | try_to_add_haloed_node_pt (const unsigned &p, Node *&nod_pt) |
void | delete_all_external_storage () |
Wipe the storage for all externally-based elements. More... | |
Public Attributes | |
std::map< unsigned, bool > | Assigned_segments_initial_zeta_values |
Flag used at the setup_boundary_coordinate function to know if initial zeta values for segments have been assigned. More... | |
Public Attributes inherited from oomph::Mesh | |
bool | Output_halo_elements |
Bool for output of halo elements. More... | |
Static Public Attributes | |
static bool | Suppress_warning_about_regions_and_boundaries |
Public static flag to suppress warning; defaults to false. More... | |
Static Public Attributes inherited from oomph::Mesh | |
static Steady< 0 > | Default_TimeStepper |
Default Steady Timestepper, to be used in default arguments to Mesh constructors. More... | |
static bool | Suppress_warning_about_empty_mesh_level_time_stepper_function |
Boolean used to control warning about empty mesh level timestepper function. More... | |
Protected Member Functions | |
void | build_triangulateio (Vector< TriangleMeshPolygon * > &outer_polygons_pt, Vector< TriangleMeshPolygon * > &internal_polygons_pt, Vector< TriangleMeshOpenCurve * > &open_curves_pt, Vector< Vector< double >> &extra_holes_coordinates, std::map< unsigned, Vector< double >> ®ions_coordinates, std::map< unsigned, double > ®ions_areas, TriangulateIO &triangulate_io) |
Create TriangulateIO object from outer boundaries, internal boundaries, and open curves. Add the holes and regions information as well. More... | |
void | add_connection_matrix_info_helper (TriangleMeshPolyLine *polyline_pt, std::map< unsigned, std::map< unsigned, Vector< vertex_connection_info >>> &connection_matrix, TriangleMeshPolyLine *next_polyline_pt=0) |
Helps to add information to the connection matrix of the given polyline. More... | |
void | initialise_base_vertex (TriangleMeshPolyLine *polyline_pt, std::map< unsigned, std::map< unsigned, Vector< base_vertex_info >>> &base_vertices) |
Initialise the base vertex structure, set every vertex to no visited and not being a base vertex. More... | |
void | add_base_vertex_info_helper (TriangleMeshPolyLine *polyline_pt, std::map< unsigned, std::map< unsigned, Vector< base_vertex_info >>> &base_vertices, std::map< unsigned, std::map< unsigned, Vector< vertex_connection_info >>> &connection_matrix, std::map< unsigned, std::map< unsigned, unsigned >> &boundary_chunk_nvertices) |
Helps to identify the base vertex of the given polyline. More... | |
void | snap_nodes_onto_geometric_objects () |
Snap the boundary nodes onto any curvilinear boundaries defined by geometric objects. More... | |
void | copy_connection_information (TriangleMeshCurveSection *input_curve_pt, TriangleMeshCurveSection *output_curve_pt) |
Helper function to copy the connection information from the input curve(polyline or curviline) to the output polyline. More... | |
void | copy_connection_information_to_sub_polylines (TriangleMeshCurveSection *input_curve_pt, TriangleMeshCurveSection *output_curve_pt) |
Helper function to copy the connection information from the input curve(polyline or curviline) to the output sub-polyline. More... | |
void | create_vertex_coordinates_for_polyline_no_connections (TriangleMeshCurviLine *boundary_pt, Vector< Vector< double >> &vertex_coord, Vector< std::pair< double, double >> &polygonal_vertex_arclength_info) |
Helper function to create polyline vertex coordinates for curvilinear boundary specified by boundary_pt, using either equal increments in zeta or in (approximate) arclength along the curviline. vertex_coord[i_vertex][i_dim] stores i_dim-th coordinate of i_vertex-th vertex. polygonal_vertex_arclength_info[i_vertex] contains the pair of doubles made of the arclength of the i_vertex-th vertex along the polygonal representation (.first), and the corresponding coordinate on the GeomObject (.second) More... | |
void | create_vertex_coordinates_for_polyline_connections (TriangleMeshCurviLine *boundary_pt, Vector< Vector< double >> &vertex_coord, Vector< std::pair< double, double >> &polygonal_vertex_arclength_info) |
Helper function to create polyline vertex coordinates for curvilinear boundary specified by boundary_pt, using either equal increments in zeta or in (approximate) arclength along the curviline. vertex_coord[i_vertex][i_dim] stores i_dim-th coordinate of i_vertex-th vertex. polygonal_vertex_arclength_info[i_vertex] contains the pair of doubles made of the arclength of the i_vertex-th vertex along the polygonal representation (.first), and the corresponding coordinate on the GeomObject (.second) More... | |
TriangleMeshPolygon * | closed_curve_to_polygon_helper (TriangleMeshClosedCurve *closed_curve_pt, unsigned &max_bnd_id_local) |
Helper function that returns a polygon representation for the given closed curve, it also computes the maximum boundary id of the constituent curves. If the TriangleMeshClosedCurve is already a TriangleMeshPolygon we simply return a pointer to it. Otherwise a new TrilangleMeshPolygon is created – this is deleted automatically when the TriangleMesh destructor is called, so no external book-keeping is required. More... | |
TriangleMeshOpenCurve * | create_open_curve_with_polyline_helper (TriangleMeshOpenCurve *open_curve_pt, unsigned &max_bnd_id_local) |
Helper function that creates and returns an open curve with the polyline representation of its constituent curve sections. The new created open curve is deleted when the TriangleMesh destructor is called. More... | |
void | set_geom_objects_and_coordinate_limits_for_close_curve (TriangleMeshClosedCurve *input_closed_curve_pt) |
Stores the geometric objects associated to the curve sections that compound the closed curve. It also stores the limits defined by these geometric objects. More... | |
void | set_geom_objects_and_coordinate_limits_for_open_curve (TriangleMeshOpenCurve *input_open_curve_pt) |
Stores the geometric objects associated to the curve sections that compound the open curve. It also stores the limits defined by these geometric objects. More... | |
Protected Member Functions inherited from oomph::Mesh | |
void | setup_shared_node_scheme () |
Setup shared node scheme. More... | |
unsigned long | assign_global_eqn_numbers (Vector< double * > &Dof_pt) |
Assign the global equation numbers in the Data stored at the nodes and also internal element Data. Also, build (via push_back) the Vector of pointers to the dofs (variables). More... | |
void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
Function to describe the dofs of the Mesh. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...) More... | |
void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
Function to describe the local dofs of the elements. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...) More... | |
void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
Assign the local equation numbers in all elements If the boolean argument is true then also store pointers to dofs. More... | |
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, but it does make life that bit easier for the lazy mesh writer. The pointer to the node is replaced by a pointer to the new boundary node in all element look-up schemes and in the mesh's Node_pt vector. The new node is also addressed by node_pt on return from the function. More... | |
void | convert_to_boundary_node (Node *&node_pt) |
A function that upgrades an ordinary node to a boundary node. All pointers to the node from the mesh's elements are found. and replaced by pointers to the new boundary node. If the node is present in the mesh's list of nodes, that pointer is also replaced. Finally, the pointer argument node_pt addresses the new node on return from the function. We shouldn't ever really use this, but it does make life that bit easier for the lazy mesh writer. More... | |
Protected Attributes | |
std::map< unsigned, Vector< Vector< Node * > > > | Boundary_segment_node_pt |
Used to store the nodes associated to a boundary and to an specific segment (this only applies in distributed meshes where the boundary is splitted in segments) More... | |
std::map< unsigned, Vector< double > > | Boundary_segment_initial_zeta |
Stores the initial zeta coordinate for the segments that appear when a boundary is splited among processors. More... | |
std::map< unsigned, Vector< double > > | Boundary_segment_final_zeta |
Stores the final zeta coordinate for the segments that appear when a boundary is splited among processors. More... | |
std::map< unsigned, Vector< double > > | Boundary_initial_coordinate |
Stores the initial coordinates for the boundary. More... | |
std::map< unsigned, Vector< double > > | Boundary_final_coordinate |
Stores the final coordinates for the boundary. More... | |
std::map< unsigned, Vector< unsigned > > | Boundary_segment_inverted |
Stores the info. to know if it is necessary to reverse the segment based on a previous mesh. More... | |
std::map< unsigned, Vector< double > > | Boundary_initial_zeta_coordinate |
Stores the initial zeta coordinate for the boundary. More... | |
std::map< unsigned, Vector< double > > | Boundary_final_zeta_coordinate |
Stores the final zeta coordinate for the boundary. More... | |
std::map< unsigned, Vector< double > > | Boundary_segment_initial_arclength |
Stores the initial arclength for the segments that appear when a boundary is splited among processors. More... | |
std::map< unsigned, Vector< double > > | Boundary_segment_final_arclength |
Stores the final arclength for the segments that appear when a boundary is splited among processors. More... | |
std::map< unsigned, Vector< Vector< double > > > | Boundary_segment_initial_coordinate |
Stores the initial coordinates for the segments that appear when a boundary is splited among processors. More... | |
std::map< unsigned, Vector< Vector< double > > > | Boundary_segment_final_coordinate |
Stores the final coordinates for the segments that appear when a boundary is splited among processors. More... | |
bool | Allow_automatic_creation_of_vertices_on_boundaries |
Flag to indicate whether the automatic creation of vertices along the boundaries by Triangle is allowed. More... | |
std::map< unsigned, Vector< FiniteElement * > > | Region_element_pt |
Vector of elements in each region differentiated by attribute (the key of the map is the attribute) More... | |
Vector< double > | Region_attribute |
Vector of attributes associated with the elements in each region. More... | |
std::map< unsigned, GeomObject * > | Boundary_geom_object_pt |
Storage for the geometric objects associated with any boundaries. More... | |
std::map< unsigned, Vector< double > > | Boundary_coordinate_limits |
Storage for the limits of the boundary coordinates defined by the use of geometric objects. Only used for curvilinear boundaries. More... | |
Vector< TriangleMeshPolygon * > | Outer_boundary_pt |
Polygon that defines outer boundaries. More... | |
Vector< TriangleMeshPolygon * > | Internal_polygon_pt |
Vector of polygons that define internal polygons. More... | |
Vector< TriangleMeshOpenCurve * > | Internal_open_curve_pt |
Vector of open polylines that define internal curves. More... | |
Vector< Vector< double > > | Extra_holes_coordinates |
Storage for extra coordinates for holes. More... | |
std::map< unsigned, Vector< double > > | Regions_coordinates |
Storage for extra coordinates for regions. The key on the map is the region id. More... | |
std::map< unsigned, TriangleMeshCurveSection * > | Boundary_curve_section_pt |
A map that stores the associated curve section of the specified boundary id. More... | |
Vector< std::map< unsigned, Vector< FiniteElement * > > > | Boundary_region_element_pt |
Storage for elements adjacent to a boundary in a particular region. More... | |
Vector< std::map< unsigned, Vector< int > > > | Face_index_region_at_boundary |
Storage for the face index adjacent to a boundary in a particular region. More... | |
std::map< unsigned, Vector< std::pair< double, double > > > | Polygonal_vertex_arclength_info |
Storage for pairs of doubles representing: .first: the arclength along the polygonal representation of the curviline .second: the corresponding intrinsic coordinate on the associated geometric object at which the vertices on the specified boundary are located. Only used for boundaries represented by geom objects. More... | |
std::map< unsigned, std::set< Node * > > | Nodes_on_boundary_pt |
Stores a pointer to a set with all the nodes related with a boundary. More... | |
std::set< TriangleMeshCurveSection * > | Free_curve_section_pt |
A set that contains the curve sections created by this object therefore it is necessary to free their associated memory. More... | |
std::set< TriangleMeshPolygon * > | Free_polygon_pt |
A set that contains the polygons created by this object therefore it is necessary to free their associated memory. More... | |
std::set< TriangleMeshOpenCurve * > | Free_open_curve_pt |
A set that contains the open curves created by this object therefore it is necessary to free their associated memory. More... | |
bool | Immersed_rigid_body_triangle_mesh_polygon_used |
Protected Attributes inherited from oomph::Mesh | |
Vector< Vector< Node * > > | Boundary_node_pt |
Vector of Vector of pointers to nodes on the boundaries: Boundary_node_pt(b,n). Note that this is private to force the use of the add_boundary_node() function, which ensures that the reverse look-up schemes for the nodes are set up. More... | |
bool | Lookup_for_elements_next_boundary_is_setup |
Flag to indicate that the lookup schemes for elements that are adjacent to the boundaries has been set up. More... | |
Vector< Vector< FiniteElement * > > | Boundary_element_pt |
Vector of Vector of pointers to elements on the boundaries: Boundary_element_pt(b,e) More... | |
Vector< Vector< int > > | Face_index_at_boundary |
For the e-th finite element on boundary b, this is the index of the face that lies along that boundary. More... | |
std::map< unsigned, Vector< GeneralisedElement * > > | Root_halo_element_pt |
Map of vectors holding the pointers to the root halo elements. More... | |
std::map< unsigned, Vector< GeneralisedElement * > > | Root_haloed_element_pt |
Map of vectors holding the pointers to the root haloed elements. More... | |
std::map< unsigned, Vector< Node * > > | Halo_node_pt |
Map of vectors holding the pointers to the halo nodes. More... | |
std::map< unsigned, Vector< Node * > > | Haloed_node_pt |
Map of vectors holding the pointers to the haloed nodes. More... | |
std::map< unsigned, Vector< Node * > > | Shared_node_pt |
Map of vectors holding the pointers to the shared nodes. These are all the nodes that are on two "neighbouring" processes (the halo(ed) lookup scheme depends upon which processor is in charge. More... | |
OomphCommunicator * | Comm_pt |
Pointer to communicator – set to NULL if mesh is not distributed. More... | |
std::map< unsigned, Vector< GeneralisedElement * > > | External_halo_element_pt |
External halo(ed) elements are created as and when they are needed to act as source elements for the particular process's mesh. The storage is wiped and rebuilt every time the mesh is refined. More... | |
std::map< unsigned, Vector< GeneralisedElement * > > | External_haloed_element_pt |
Map of vectors holding the pointers to the external haloed elements. More... | |
std::map< unsigned, Vector< Node * > > | External_halo_node_pt |
Map of vectors holding the pointers to the external halo nodes. More... | |
std::map< unsigned, Vector< Node * > > | External_haloed_node_pt |
Map of vectors holding the pointers to the external haloed nodes. More... | |
bool | Keep_all_elements_as_halos |
bool to indicate whether to keep all elements in a mesh as halos or not More... | |
bool | Resize_halo_nodes_not_required |
Set this to true to suppress resizing of halo nodes (at your own risk!) More... | |
Vector< Node * > | Node_pt |
Vector of pointers to nodes. More... | |
Vector< GeneralisedElement * > | Element_pt |
Vector of pointers to generalised elements. More... | |
std::vector< bool > | Boundary_coordinate_exists |
Vector of boolean data that indicates whether the boundary coordinates have been set for the boundary. More... | |
Private Member Functions | |
TriangleMeshCurveSection * | curviline_to_polyline (TriangleMeshCurviLine *&curviline_pt, unsigned &bnd_id) |
Helper function that creates the associated polyline representation for curvilines. More... | |
unsigned | get_associated_vertex_to_svalue (double &target_s_value, unsigned &bnd_id) |
Get the associated vertex to the given s value by looking to the list of s values created when changing from curviline to polyline. More... | |
unsigned | get_associated_vertex_to_svalue (double &target_s_value, unsigned &bnd_id, double &s_tolerance) |
Get the associated vertex to the given s value by looking to the list of s values created when changing from curviline to polyline. More... | |
Additional Inherited Members | |
Public Types inherited from oomph::Mesh | |
typedef void(FiniteElement::* | SteadyExactSolutionFctPt) (const Vector< double > &x, Vector< double > &soln) |
Typedef for function pointer to function that computes steady exact solution. More... | |
typedef void(FiniteElement::* | UnsteadyExactSolutionFctPt) (const double &time, const Vector< double > &x, Vector< double > &soln) |
Typedef for function pointer to function that computes unsteady exact solution. More... | |
Contains functions which define the geometry of the mesh, i.e. regions, boundaries, etc.
Definition at line 1737 of file unstructured_two_d_mesh_geometry_base.h.
|
inline |
Empty constructor.
Definition at line 1744 of file unstructured_two_d_mesh_geometry_base.h.
|
delete |
Broken copy constructor.
|
inline |
Empty destructor.
Definition at line 1754 of file unstructured_two_d_mesh_geometry_base.h.
|
protected |
Helps to identify the base vertex of the given polyline.
Definition at line 3578 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_chunk, oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::boundary_chunk_to_connect, oomph::TriangleMeshPolyLine::boundary_id(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_id, oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::boundary_id_to_connect, oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::has_base_vertex_assigned, oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::is_base_vertex, oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::is_connected, oomph::TriangleMeshPolyLine::nvertex(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::vertex_number, and oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::vertex_number_to_connect.
Referenced by build_triangulateio().
|
inline |
Add the node node_pt to the b-th boundary and the s-th segment of the mesh.
Definition at line 2046 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt, nboundary_segment_node(), oomph::Mesh::node_pt(), and s.
Referenced by setup_boundary_coordinates().
|
protected |
Helps to add information to the connection matrix of the given polyline.
Definition at line 3415 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::boundary_chunk_to_connect, oomph::TriangleMeshPolyLine::boundary_id(), oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::boundary_id_to_connect, oomph::TriangleMeshCurveSection::final_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::initial_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_vertex(), oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::is_connected, oomph::TriangleMeshCurveSection::is_final_vertex_connected(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected(), and oomph::UnstructuredTwoDMeshGeometryBase::vertex_connection_info::vertex_number_to_connect.
Referenced by build_triangulateio().
|
inline |
Return access to the vector of boundary coordinates associated with each geometric object.
Definition at line 1849 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_coordinate_limits.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and setup_boundary_coordinates().
|
inline |
Return access to the coordinate limits associated with the geometric object associated with boundary b.
Definition at line 1856 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_coordinate_limits.
|
inline |
Return pointer to the e-th element adjacent to boundary b in region r.
Definition at line 1893 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_region_element_pt, and e.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and setup_boundary_coordinates().
|
inline |
Return direct access to the final coordinates of a boundary.
Definition at line 2082 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_final_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the final coordinates for the boundary.
Definition at line 2221 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_final_coordinate.
|
inline |
Return direct access to the final zeta coordinates of a boundary.
Definition at line 2096 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_final_zeta_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the final zeta coordinate for the boundary.
Definition at line 2316 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_final_zeta_coordinate.
|
inline |
Return direct access to the geometric object storage.
Definition at line 1842 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_geom_object_pt.
Referenced by setup_boundary_coordinates(), and snap_nodes_onto_geometric_objects().
|
inline |
Return the geometric object associated with the b-th boundary or null if the boundary has associated geometric object.
Definition at line 1827 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_geom_object_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().
|
inline |
Return direct access to the initial coordinates of a boundary.
Definition at line 2076 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_initial_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the initial coordinates for the boundary.
Definition at line 2199 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_initial_coordinate.
|
inline |
Return direct access to the initial zeta coordinate of a boundary.
Definition at line 2089 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_initial_zeta_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the initial zeta coordinate for the boundary.
Definition at line 2292 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_initial_zeta_coordinate.
|
inline |
Return pointer to the current polyline that describes the b-th mesh boundary.
Definition at line 1937 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_curve_section_pt.
|
inline |
Return direct access to the final arclength for the segments that are part of a boundary.
Definition at line 2131 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_arclength.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the final arclength for the segments that are part of a boundary.
Definition at line 2364 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_arclength.
|
inline |
Return direct access to the final coordinates for the segments that are part of a boundary.
Definition at line 2117 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the final coordinates for the segments that are part of a boundary.
Definition at line 2413 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_coordinate.
|
inline |
Return direct access to the final zeta for the segments that are part of a boundary.
Definition at line 2145 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_zeta.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the final zeta for the segments that are part of a boundary.
Definition at line 2176 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_final_zeta.
|
inline |
Return direct access to the initial arclength for the segments that are part of a boundary.
Definition at line 2124 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_arclength.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the initial arclength for the segments that are part of a boundary.
Definition at line 2340 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_arclength.
|
inline |
Return direct access to the initial coordinates for the segments that are part of a boundary.
Definition at line 2110 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_coordinate.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the initial coordinates for the segments that are part of a boundary.
Definition at line 2388 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_coordinate.
|
inline |
Return direct access to the initial zeta for the segments that are part of a boundary.
Definition at line 2138 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_zeta.
Referenced by oomph::TriangleMesh< ELEMENT >::identify_boundary_segments_and_assign_initial_zeta_values(), and setup_boundary_coordinates().
|
inline |
Return the initial zeta for the segments that are part of a boundary.
Definition at line 2152 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_initial_zeta.
|
inline |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh.
Definition at line 2103 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_inverted.
Referenced by setup_boundary_coordinates().
|
inline |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh.
Definition at line 2269 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_inverted.
|
inline |
Return the info. to know if it is necessary to reverse the segment based on a previous mesh.
Definition at line 2245 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_inverted.
|
protected |
Create TriangulateIO object from outer boundaries, internal boundaries, and open curves. Add the holes and regions information as well.
Definition at line 1905 of file unstructured_two_d_mesh_geometry_base.cc.
References add_base_vertex_info_helper(), add_connection_matrix_info_helper(), oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_chunk, oomph::TriangleMeshPolyLine::boundary_id(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_id, oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::has_base_vertex_assigned, oomph::TriangulateIO::holelist, i, initialise_base_vertex(), oomph::TriangleHelper::initialise_triangulateio(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::is_base_vertex, oomph::TriangulateIO::numberofholes, oomph::TriangulateIO::numberofpoints, oomph::TriangulateIO::numberofregions, oomph::TriangulateIO::numberofsegments, oomph::TriangleMeshPolyLine::nvertex(), oomph::TriangulateIO::pointlist, oomph::TriangulateIO::regionlist, oomph::TriangulateIO::segmentlist, oomph::TriangulateIO::segmentmarkerlist, oomph::Global_string_for_annotation::string(), oomph::TriangleMeshPolyLine::vertex_coordinate(), and oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::vertex_number.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
void oomph::UnstructuredTwoDMeshGeometryBase::check_contiguousness_on_polylines_helper | ( | Vector< TriangleMeshPolyLine * > & | polylines_pt, |
unsigned & | index | ||
) |
Sort the polylines coming from joining them. Check whether it is necessary to reverse them or not. Used when joining two curve polylines in order to create a polygon.
void oomph::UnstructuredTwoDMeshGeometryBase::check_contiguousness_on_polylines_helper | ( | Vector< TriangleMeshPolyLine * > & | polylines_pt, |
unsigned & | index_halo_start, | ||
unsigned & | index_halo_end | ||
) |
Sort the polylines coming from joining them. Check whether it is necessary to reverse them or not. Used when joining polylines and they still do not create a polygon.
|
inlineprotected |
Helper function that returns a polygon representation for the given closed curve, it also computes the maximum boundary id of the constituent curves. If the TriangleMeshClosedCurve is already a TriangleMeshPolygon we simply return a pointer to it. Otherwise a new TrilangleMeshPolygon is created – this is deleted automatically when the TriangleMesh destructor is called, so no external book-keeping is required.
Definition at line 3345 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_curve_section_pt, oomph::TriangleMeshCurviLine::boundary_id(), oomph::TriangleMeshPolyLine::boundary_id(), oomph::TriangleMeshCurve::curve_section_pt(), curviline_to_polyline(), Free_curve_section_pt, Free_polygon_pt, oomph::TriangleMeshClosedCurve::internal_point(), oomph::TriangleMeshClosedCurve::is_internal_point_fixed(), oomph::TriangleMeshCurveSection::maximum_length(), oomph::TriangleMeshCurve::ncurve_section(), oomph::TriangleMeshCurve::polyline_refinement_tolerance(), oomph::TriangleMeshCurve::polyline_unrefinement_tolerance(), oomph::TriangleMeshCurveSection::refinement_tolerance(), oomph::TriangleMeshCurve::set_polyline_refinement_tolerance(), oomph::TriangleMeshCurve::set_polyline_unrefinement_tolerance(), and oomph::TriangleMeshCurveSection::unrefinement_tolerance().
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
|
protected |
Helper function to copy the connection information from the input curve(polyline or curviline) to the output polyline.
Definition at line 4172 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshCurveSection::final_s_connection_value(), oomph::TriangleMeshCurveSection::final_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::final_vertex_coordinate(), get_associated_vertex_to_svalue(), oomph::TriangleMeshCurveSection::initial_s_connection_value(), oomph::TriangleMeshCurveSection::initial_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::initial_vertex_coordinate(), oomph::TriangleMeshCurveSection::is_final_vertex_connected(), oomph::TriangleMeshCurveSection::is_final_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::set_final_vertex_connected(), oomph::TriangleMeshCurveSection::set_initial_vertex_connected(), oomph::TriangleMeshCurveSection::tolerance_for_s_connection(), oomph::TriangleMeshCurveSection::unset_final_vertex_connected_to_curviline(), and oomph::TriangleMeshCurveSection::unset_initial_vertex_connected_to_curviline().
Referenced by create_open_curve_with_polyline_helper().
|
protected |
Helper function to copy the connection information from the input curve(polyline or curviline) to the output sub-polyline.
Definition at line 4433 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshCurveSection::final_s_connection_value(), oomph::TriangleMeshCurveSection::final_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::final_vertex_coordinate(), get_associated_vertex_to_svalue(), oomph::TriangleMeshCurveSection::initial_s_connection_value(), oomph::TriangleMeshCurveSection::initial_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::initial_vertex_coordinate(), oomph::TriangleMeshCurveSection::is_final_vertex_connected(), oomph::TriangleMeshCurveSection::is_final_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::set_final_vertex_connected(), oomph::TriangleMeshCurveSection::set_initial_vertex_connected(), oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, oomph::TriangleMeshCurveSection::tolerance_for_s_connection(), oomph::TriangleMeshCurveSection::unset_final_vertex_connected_to_curviline(), and oomph::TriangleMeshCurveSection::unset_initial_vertex_connected_to_curviline().
|
inlineprotected |
Helper function that creates and returns an open curve with the polyline representation of its constituent curve sections. The new created open curve is deleted when the TriangleMesh destructor is called.
Definition at line 3495 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_curve_section_pt, oomph::TriangleMeshCurviLine::boundary_id(), oomph::TriangleMeshPolyLine::boundary_id(), copy_connection_information(), oomph::TriangleMeshCurve::curve_section_pt(), curviline_to_polyline(), Free_curve_section_pt, Free_open_curve_pt, i, oomph::TriangleMeshCurveSection::maximum_length(), oomph::TriangleMeshCurve::ncurve_section(), oomph::TriangleMeshCurve::polyline_refinement_tolerance(), oomph::TriangleMeshCurve::polyline_unrefinement_tolerance(), oomph::TriangleMeshCurveSection::refinement_tolerance(), oomph::TriangleMeshCurve::set_polyline_refinement_tolerance(), oomph::TriangleMeshCurve::set_polyline_unrefinement_tolerance(), and oomph::TriangleMeshCurveSection::unrefinement_tolerance().
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
|
inlineprotected |
Helper function to create polyline vertex coordinates for curvilinear boundary specified by boundary_pt, using either equal increments in zeta or in (approximate) arclength along the curviline. vertex_coord[i_vertex][i_dim] stores i_dim-th coordinate of i_vertex-th vertex. polygonal_vertex_arclength_info[i_vertex] contains the pair of doubles made of the arclength of the i_vertex-th vertex along the polygonal representation (.first), and the corresponding coordinate on the GeomObject (.second)
Definition at line 2851 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurviLine::boundary_id(), oomph::TriangleMeshCurviLine::connection_points_pt(), oomph::TriangleMeshCurviLine::geom_object_pt(), i, oomph::TriangleMeshCurviLine::nsegment(), oomph::GeomObject::position(), s, oomph::TriangleMeshCurviLine::space_vertices_evenly_in_arclength(), oomph::Global_string_for_annotation::string(), oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
Referenced by curviline_to_polyline().
|
inlineprotected |
Helper function to create polyline vertex coordinates for curvilinear boundary specified by boundary_pt, using either equal increments in zeta or in (approximate) arclength along the curviline. vertex_coord[i_vertex][i_dim] stores i_dim-th coordinate of i_vertex-th vertex. polygonal_vertex_arclength_info[i_vertex] contains the pair of doubles made of the arclength of the i_vertex-th vertex along the polygonal representation (.first), and the corresponding coordinate on the GeomObject (.second)
Definition at line 2681 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurviLine::geom_object_pt(), i, oomph::TriangleMeshCurviLine::nsegment(), oomph::GeomObject::position(), s, oomph::TriangleMeshCurviLine::space_vertices_evenly_in_arclength(), oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
Referenced by curviline_to_polyline().
|
inlineprivate |
Helper function that creates the associated polyline representation for curvilines.
Definition at line 3754 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurviLine::are_there_connection_points(), create_vertex_coordinates_for_polyline_connections(), create_vertex_coordinates_for_polyline_no_connections(), and Polygonal_vertex_arclength_info.
Referenced by closed_curve_to_polygon_helper(), and create_open_curve_with_polyline_helper().
|
inline |
Disables the creation of points (by Triangle) on the outer and internal boundaries.
Definition at line 1993 of file unstructured_two_d_mesh_geometry_base.h.
References Allow_automatic_creation_of_vertices_on_boundaries.
|
inline |
Enables the creation of points (by Triangle) on the outer and internal boundaries.
Definition at line 1986 of file unstructured_two_d_mesh_geometry_base.h.
References Allow_automatic_creation_of_vertices_on_boundaries.
|
inline |
Return face index of the e-th element adjacent to boundary b in region r.
Definition at line 1911 of file unstructured_two_d_mesh_geometry_base.h.
References e, and Face_index_region_at_boundary.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and setup_boundary_coordinates().
|
inline |
Flush the boundary segment node storage.
Definition at line 2008 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt.
Referenced by setup_boundary_coordinates().
|
inlineprivate |
Get the associated vertex to the given s value by looking to the list of s values created when changing from curviline to polyline.
Definition at line 3781 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by copy_connection_information(), and copy_connection_information_to_sub_polylines().
|
inlineprivate |
Get the associated vertex to the given s value by looking to the list of s values created when changing from curviline to polyline.
Definition at line 3791 of file unstructured_two_d_mesh_geometry_base.h.
References Polygonal_vertex_arclength_info, and s.
const bool oomph::UnstructuredTwoDMeshGeometryBase::get_connected_vertex_number_on_destination_polyline | ( | TriangleMeshPolyLine * | dst_polyline_pt, |
Vector< double > & | vertex_coordinates, | ||
unsigned & | vertex_number | ||
) |
Gets the vertex number on the destination polyline (used to create the connections among shared boundaries)
Gets the vertex number on the destination polyline (used / to create the connections among shared boundaries)
Definition at line 4120 of file unstructured_two_d_mesh_geometry_base.cc.
References i, oomph::TriangleMeshPolyLine::nvertex(), oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, and oomph::TriangleMeshPolyLine::vertex_coordinate().
|
protected |
Initialise the base vertex structure, set every vertex to no visited and not being a base vertex.
Definition at line 3542 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_chunk, oomph::TriangleMeshPolyLine::boundary_id(), oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::boundary_id, oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::has_base_vertex_assigned, oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::is_base_vertex, and oomph::UnstructuredTwoDMeshGeometryBase::base_vertex_info::vertex_number.
Referenced by build_triangulateio().
|
inline |
Returns the status of the variable Allow_automatic_creation_of_vertices_on_boundaries.
Definition at line 2000 of file unstructured_two_d_mesh_geometry_base.h.
References Allow_automatic_creation_of_vertices_on_boundaries.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
bool oomph::UnstructuredTwoDMeshGeometryBase::is_point_inside_polygon_helper | ( | Vector< Vector< double >> | polygon_vertices, |
Vector< double > | point | ||
) |
Helper function that checks if a given point is inside a polygon (a set of sorted vertices that connected create a polygon)
Helper function that checks if a given point is inside a polygon.
Definition at line 4065 of file unstructured_two_d_mesh_geometry_base.cc.
References i.
|
inline |
Return the number of elements adjacent to boundary b in region r.
Definition at line 1874 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_region_element_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), oomph::Mesh::distribute(), and setup_boundary_coordinates().
|
inline |
Return the number of segments associated with a boundary.
Definition at line 2020 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and oomph::RefineableTriangleMesh< ELEMENT >::snap_nodes_onto_boundary().
|
inline |
Return the number of segments associated with a boundary.
Definition at line 2026 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt.
Referenced by add_boundary_segment_node(), and oomph::RefineableTriangleMesh< ELEMENT >::snap_nodes_onto_boundary().
|
inline |
Return the number of nodes associated with a given segment of a boundary.
Definition at line 2039 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt, and s.
|
inline |
Gets a pointer to a set with all the nodes related with a boundary.
Definition at line 1953 of file unstructured_two_d_mesh_geometry_base.h.
References Nodes_on_boundary_pt.
|
inline |
Return the number of regions specified by attributes.
Definition at line 1757 of file unstructured_two_d_mesh_geometry_base.h.
References Region_element_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), oomph::Mesh::distribute(), and setup_boundary_coordinates().
|
inline |
Return the number of attributes used in the mesh.
Definition at line 1814 of file unstructured_two_d_mesh_geometry_base.h.
References Region_attribute.
|
inline |
Return the number of elements in the i-th region.
Definition at line 1763 of file unstructured_two_d_mesh_geometry_base.h.
References i, and Region_element_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().
|
delete |
Broken assignment operator.
|
inline |
Return the attribute associated with region i.
Definition at line 1820 of file unstructured_two_d_mesh_geometry_base.h.
References i, and Region_attribute.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and oomph::Mesh::distribute().
|
inline |
Return the e-th element in the i-th region.
Definition at line 1783 of file unstructured_two_d_mesh_geometry_base.h.
References e, i, and Region_element_pt.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().
|
inlineprotected |
Stores the geometric objects associated to the curve sections that compound the closed curve. It also stores the limits defined by these geometric objects.
Definition at line 3631 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_coordinate_limits, Boundary_geom_object_pt, oomph::TriangleMeshCurviLine::boundary_id(), oomph::TriangleMeshCurveSection::boundary_id(), oomph::TriangleMeshCurve::curve_section_pt(), oomph::TriangleMeshCurviLine::geom_object_pt(), Immersed_rigid_body_triangle_mesh_polygon_used, oomph::TriangleMeshCurve::ncurve_section(), oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
|
inlineprotected |
Stores the geometric objects associated to the curve sections that compound the open curve. It also stores the limits defined by these geometric objects.
Definition at line 3718 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_coordinate_limits, Boundary_geom_object_pt, oomph::TriangleMeshCurviLine::boundary_id(), oomph::TriangleMeshCurve::curve_section_pt(), oomph::TriangleMeshCurviLine::geom_object_pt(), oomph::TriangleMeshCurve::ncurve_section(), oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
|
inline |
Set the number of segments associated with a boundary.
Definition at line 2014 of file unstructured_two_d_mesh_geometry_base.h.
References Boundary_segment_node_pt, and s.
Referenced by setup_boundary_coordinates().
|
inline |
Setup boundary coordinate on boundary b. Boundary coordinate increases continously along polygonal boundary. It's zero at the lowest left node on the boundary.
Definition at line 2442 of file unstructured_two_d_mesh_geometry_base.h.
void oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates | ( | const unsigned & | b, |
std::ofstream & | outfile | ||
) |
Setup boundary coordinate on boundary b. Doc Faces in outfile. Boundary coordinate increases continously along polygonal boundary. It's zero at the lowest left node on the boundary.
Setup boundary coordinate on boundary b. Doc Faces in outfile. Boundary coordinate increases continously along polygonal boundary. It's zero at the lexicographically smallest node on the boundary.
Definition at line 3851 of file unstructured_two_d_mesh_geometry_base.h.
References add_boundary_segment_node(), Assigned_segments_initial_zeta_values, oomph::Mesh::Boundary_coordinate_exists, boundary_coordinate_limits(), boundary_element_in_region_pt(), oomph::Mesh::boundary_element_pt(), boundary_final_coordinate(), boundary_final_zeta_coordinate(), boundary_geom_object_pt(), boundary_initial_coordinate(), boundary_initial_zeta_coordinate(), boundary_segment_final_arclength(), boundary_segment_final_coordinate(), boundary_segment_final_zeta(), boundary_segment_initial_arclength(), boundary_segment_initial_coordinate(), boundary_segment_initial_zeta(), boundary_segment_inverted(), e, oomph::Mesh::face_index_at_boundary(), face_index_at_boundary_in_region(), flush_boundary_segment_node(), oomph::Node::get_coordinates_on_boundary(), i, oomph::GeneralisedElement::is_halo(), oomph::Mesh::is_mesh_distributed(), oomph::Mesh::nboundary_element(), nboundary_element_in_region(), oomph::FiniteElement::nnode(), oomph::FiniteElement::node_pt(), nregion(), Polygonal_vertex_arclength_info, oomph::GeomObject::position(), Region_attribute, oomph::Node::set_coordinates_on_boundary(), set_nboundary_segment_node(), oomph::Global_string_for_annotation::string(), Suppress_warning_about_regions_and_boundaries, oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, and oomph::Node::x().
|
protected |
Snap the boundary nodes onto any curvilinear boundaries defined by geometric objects.
Move the nodes on boundaries with associated Geometric Objects so that they exactly coincide with the geometric object. This requires that the boundary coordinates are set up consistently.
Definition at line 4020 of file unstructured_two_d_mesh_geometry_base.cc.
References boundary_geom_object_pt(), oomph::Mesh::boundary_node_pt(), oomph::Node::get_coordinates_on_boundary(), i, oomph::Mesh::nboundary(), oomph::Mesh::nboundary_node(), oomph::TimeStepper::nprev_values(), oomph::GeomObject::position(), oomph::Node::position_time_stepper_pt(), t, and oomph::Node::x().
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
|
protected |
Flag to indicate whether the automatic creation of vertices along the boundaries by Triangle is allowed.
Definition at line 2575 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_automatic_creation_of_vertices_on_boundaries(), enable_automatic_creation_of_vertices_on_boundaries(), is_automatic_creation_of_vertices_on_boundaries_allowed(), oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().
std::map<unsigned, bool> oomph::UnstructuredTwoDMeshGeometryBase::Assigned_segments_initial_zeta_values |
Flag used at the setup_boundary_coordinate function to know if initial zeta values for segments have been assigned.
Definition at line 2073 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by setup_boundary_coordinates().
|
protected |
Storage for the limits of the boundary coordinates defined by the use of geometric objects. Only used for curvilinear boundaries.
Definition at line 2593 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_coordinate_limits(), set_geom_objects_and_coordinate_limits_for_close_curve(), and set_geom_objects_and_coordinate_limits_for_open_curve().
|
protected |
A map that stores the associated curve section of the specified boundary id.
Definition at line 2613 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_polyline_pt(), closed_curve_to_polygon_helper(), create_open_curve_with_polyline_helper(), and oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio().
|
protected |
Stores the final coordinates for the boundary.
Definition at line 2541 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_final_coordinate().
|
protected |
Stores the final zeta coordinate for the boundary.
Definition at line 2551 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_final_zeta_coordinate().
|
protected |
Storage for the geometric objects associated with any boundaries.
Definition at line 2589 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_geom_object_pt(), set_geom_objects_and_coordinate_limits_for_close_curve(), and set_geom_objects_and_coordinate_limits_for_open_curve().
|
protected |
Stores the initial coordinates for the boundary.
Definition at line 2538 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_initial_coordinate().
|
protected |
Stores the initial zeta coordinate for the boundary.
Definition at line 2548 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_initial_zeta_coordinate().
|
protected |
Storage for elements adjacent to a boundary in a particular region.
Definition at line 2617 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_element_in_region_pt(), nboundary_element_in_region(), and oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio().
|
protected |
Stores the final arclength for the segments that appear when a boundary is splited among processors.
Definition at line 2559 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_final_arclength().
|
protected |
Stores the final coordinates for the segments that appear when a boundary is splited among processors.
Definition at line 2569 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_final_coordinate().
|
protected |
Stores the final zeta coordinate for the segments that appear when a boundary is splited among processors.
Definition at line 2535 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_final_zeta().
|
protected |
Stores the initial arclength for the segments that appear when a boundary is splited among processors.
Definition at line 2555 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_initial_arclength().
|
protected |
Stores the initial coordinates for the segments that appear when a boundary is splited among processors.
Definition at line 2564 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_initial_coordinate().
|
protected |
Stores the initial zeta coordinate for the segments that appear when a boundary is splited among processors.
Definition at line 2531 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_initial_zeta().
|
protected |
Stores the info. to know if it is necessary to reverse the segment based on a previous mesh.
Definition at line 2545 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by boundary_segment_inverted().
|
protected |
Used to store the nodes associated to a boundary and to an specific segment (this only applies in distributed meshes where the boundary is splitted in segments)
Definition at line 2527 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by add_boundary_segment_node(), oomph::TriangleMesh< ELEMENT >::boundary_segment_node_pt(), flush_boundary_segment_node(), nboundary_segment(), nboundary_segment_node(), and set_nboundary_segment_node().
Storage for extra coordinates for holes.
Definition at line 2605 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
|
protected |
Storage for the face index adjacent to a boundary in a particular region.
Definition at line 2620 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by face_index_at_boundary_in_region(), and oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio().
|
protected |
A set that contains the curve sections created by this object therefore it is necessary to free their associated memory.
Definition at line 2638 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by closed_curve_to_polygon_helper(), create_open_curve_with_polyline_helper(), oomph::QuadFromTriangleMesh< ELEMENT >::~QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::~TriangleMesh().
|
protected |
A set that contains the open curves created by this object therefore it is necessary to free their associated memory.
Definition at line 2646 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by create_open_curve_with_polyline_helper(), oomph::QuadFromTriangleMesh< ELEMENT >::~QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::~TriangleMesh().
|
protected |
A set that contains the polygons created by this object therefore it is necessary to free their associated memory.
Definition at line 2642 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by closed_curve_to_polygon_helper(), oomph::QuadFromTriangleMesh< ELEMENT >::~QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::~TriangleMesh().
|
protected |
Definition at line 2666 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by set_geom_objects_and_coordinate_limits_for_close_curve().
|
protected |
Vector of open polylines that define internal curves.
Definition at line 2602 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
|
protected |
Vector of polygons that define internal polygons.
Definition at line 2599 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
|
protected |
Stores a pointer to a set with all the nodes related with a boundary.
Definition at line 2634 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by nodes_on_boundary_pt().
|
protected |
Polygon that defines outer boundaries.
Definition at line 2596 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
|
protected |
Storage for pairs of doubles representing: .first: the arclength along the polygonal representation of the curviline .second: the corresponding intrinsic coordinate on the associated geometric object at which the vertices on the specified boundary are located. Only used for boundaries represented by geom objects.
Definition at line 2630 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by curviline_to_polyline(), get_associated_vertex_to_svalue(), oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio(), and setup_boundary_coordinates().
|
protected |
Vector of attributes associated with the elements in each region.
Definition at line 2586 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by nregion_attribute(), region_attribute(), oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio(), and setup_boundary_coordinates().
|
protected |
Vector of elements in each region differentiated by attribute (the key of the map is the attribute)
Definition at line 2583 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by nregion(), nregion_element(), region_element_pt(), and oomph::TriangleMesh< ELEMENT >::remesh_from_internal_triangulateio().
|
protected |
Storage for extra coordinates for regions. The key on the map is the region id.
Definition at line 2609 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::TriangleMesh< ELEMENT >::generic_constructor().
|
static |
Public static flag to suppress warning; defaults to false.
Definition at line 1741 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by setup_boundary_coordinates().