Base class for defining a triangle mesh boundary, this class has the methods that allow to connect the initial and final ends to other triangle mesh boundaries. More...
#include <unstructured_two_d_mesh_geometry_base.h>
Public Member Functions | |
TriangleMeshCurveSection () | |
Empty constructor. Initialises the curve section as non connected. More... | |
virtual | ~TriangleMeshCurveSection () |
Empty destructor. More... | |
virtual unsigned | nsegment () const =0 |
Number of segments that this part of the boundary is to be represented by. This corresponds to the number of straight-line segments in triangle representation. More... | |
virtual unsigned | boundary_id () const =0 |
Boundary id. More... | |
virtual unsigned | boundary_chunk () const =0 |
Boundary chunk (Used when a boundary is represented by more than one polyline. More... | |
virtual unsigned | nvertex () const =0 |
Number of vertices. More... | |
virtual void | output (std::ostream &outfile, const unsigned &n_sample=50)=0 |
Output the curve_section. More... | |
void | enable_refinement_tolerance (const double &tolerance=0.08) |
Enable refinement of curve section to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the refinement tolerance. It defaults to 0.08 and the smaller the number the finer the surface representation. More... | |
void | set_refinement_tolerance (const double &tolerance) |
Set tolerance for refinement of curve sections to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the refinement tolerance. (The smaller the number the finer the surface representation). If set to a negative value, we're switching off refinement – equivalent to calling disable_polyline_refinement() More... | |
double | refinement_tolerance () |
Get tolerance for refinement of curve sections to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative refinement is disabled. More... | |
void | disable_refinement_tolerance () |
Disable refinement of curve section. More... | |
void | enable_unrefinement_tolerance (const double &tolerance=0.04) |
Enable unrefinement of curve sections to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines. More... | |
void | set_unrefinement_tolerance (const double &tolerance) |
Set tolerance for unrefinement of curve sections to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines. If set to a negative value, we're switching off unrefinement – equivalent to calling disable_curve_section_unrefinement() More... | |
double | unrefinement_tolerance () |
Get tolerance for unrefinement of curve section to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative unrefinement is disabled. More... | |
void | disable_unrefinement_tolerance () |
Disable unrefinement of curve sections. More... | |
void | set_maximum_length (const double &maximum_length) |
Allows to specify the maximum distance between two vertices that define the associated polyline of the curve section, it only takes effect on the unrefinement and refinement steps. More... | |
void | disable_use_maximum_length () |
Disables the use of the maximum length criteria on the unrefinement or refinement steps. More... | |
double | maximum_length () |
Gets access to the maximum length variable. More... | |
virtual void | initial_vertex_coordinate (Vector< double > &vertex)=0 |
Get first vertex coordinates. More... | |
virtual void | final_vertex_coordinate (Vector< double > &vertex)=0 |
Get last vertex coordinates. More... | |
void | connect_initial_vertex_to_polyline (TriangleMeshPolyLine *polyline_pt, const unsigned &vertex_number, const double &tolerance_for_connection=1.0e-14) |
Connects the initial vertex of the curve section to a desired target polyline by specifying the vertex number. There is a checking which verifies that the initial vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance. More... | |
void | connect_final_vertex_to_polyline (TriangleMeshPolyLine *polyline_pt, const unsigned &vertex_number, const double &tolerance_for_connection=1.0e-14) |
Connects the final vertex of the curve section to a desired target polyline by specifying the vertex number. There is a checking which verifies that the final vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance. More... | |
void | connect_initial_vertex_to_curviline (TriangleMeshCurviLine *curviline_pt, const double &s_value, const double &tolerance_for_connection=1.0e-14) |
Connects the initial vertex of the curve section to a desired target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the initial vertex and the coordinates on the given s value are close enough by no more than the given tolerance. More... | |
void | connect_final_vertex_to_curviline (TriangleMeshCurviLine *curviline_pt, const double &s_value, const double &tolerance_for_connection=1.0e-14) |
Connects the final vertex of the curve section to a desired target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the final vertex and the coordinates on the given s value are close enough by no more than the given tolerance. More... | |
bool | is_initial_vertex_connected () const |
Test whether initial vertex is connected or not. More... | |
void | set_initial_vertex_connected () |
Sets the initial vertex as connected. More... | |
void | unset_initial_vertex_connected () |
Sets the initial vertex as non connected. More... | |
void | suspend_initial_vertex_connected () |
Set the initial vertex connection as suspended, it will be resumed when the method to resume the connections is called This method is only used in a distributed context, when the boundary to connect is no longer part of the domain in the processor. More... | |
void | resume_initial_vertex_connected () |
Resumes the initial vertex connection, it may be that after load balancing the boundary to which the connection was suspended be part of the domain. More... | |
bool | is_final_vertex_connected () const |
Test whether final vertex is connected or not. More... | |
void | set_final_vertex_connected () |
Sets the final vertex as connected. More... | |
void | unset_final_vertex_connected () |
Sets the final vertex as non connected. More... | |
void | suspend_final_vertex_connected () |
Set the final vertex connection as suspended, it will be resumed when the method to resume the connections is called This method is only used in a distributed context, when the boundary to connect is no longer part of the domain in the processor. More... | |
void | resume_final_vertex_connected () |
Resumes the final vertex connection, it may be that after load balancing the boundary to which the connection was suspended be part of the domain. More... | |
unsigned | initial_vertex_connected_bnd_id () const |
Gets the id to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_bnd_id () |
Sets the id to which the initial end is connected. More... | |
unsigned | initial_vertex_connected_n_vertex () const |
Gets the vertex number to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_n_vertex () |
Sets the vertex number to which the initial end is connected. More... | |
unsigned | initial_vertex_connected_n_chunk () const |
Gets the boundary chunk to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_n_chunk () |
Sets the boundary chunk to which the initial end is connected. More... | |
unsigned | final_vertex_connected_bnd_id () const |
Gets the id to which the final end is connected. More... | |
unsigned & | final_vertex_connected_bnd_id () |
Sets the id to which the final end is connected. More... | |
unsigned | final_vertex_connected_n_vertex () const |
Sets the vertex number to which the final end is connected. More... | |
unsigned & | final_vertex_connected_n_vertex () |
Gets the vertex number to which the final end is connected. More... | |
unsigned | final_vertex_connected_n_chunk () const |
Gets the boundary chunk to which the final end is connected. More... | |
unsigned & | final_vertex_connected_n_chunk () |
Sets the boundary chunk to which the final end is connected. More... | |
bool | is_initial_vertex_connected_to_curviline () const |
Test whether the initial vertex is connected to a curviline. More... | |
void | set_initial_vertex_connected_to_curviline () |
Sets the initial vertex as connected to a curviline. More... | |
void | unset_initial_vertex_connected_to_curviline () |
Sets the initial vertex as non connected to a curviline. More... | |
bool | is_final_vertex_connected_to_curviline () const |
Test whether the final vertex is connected to a curviline. More... | |
void | set_final_vertex_connected_to_curviline () |
Sets the final vertex as connected to a curviline. More... | |
void | unset_final_vertex_connected_to_curviline () |
Sets the final vertex as non connected to a curviline. More... | |
double | initial_s_connection_value () const |
Gets the s value to which the initial end is connected. More... | |
double & | initial_s_connection_value () |
Sets the s value to which the initial end is connected. More... | |
double | final_s_connection_value () const |
Gets the s value to which the final end is connected. More... | |
double & | final_s_connection_value () |
Sets the s value to which the final end is connected. More... | |
double | tolerance_for_s_connection () const |
Gets the tolerance value for connections among curvilines. More... | |
double & | tolerance_for_s_connection () |
Sets the tolerance value for connections among curvilines. More... | |
Protected Attributes | |
bool | Initial_vertex_connected |
Used for stating if the initial end is connected to another boundary. More... | |
bool | Final_vertex_connected |
Used for stating if the final end is connected to another boundary. More... | |
bool | Initial_vertex_connected_suspended |
Indicates if the connection is suspended because the boundary to connect is no longer part of the domain (only used in a distributed context) More... | |
bool | Final_vertex_connected_suspended |
Indicates if the connection is suspended because the boundary to connect is no longer part of the domain (only used in a distributed context) More... | |
unsigned | Initial_vertex_connected_bnd_id |
Stores the id to which the initial end is connected. More... | |
unsigned | Initial_vertex_connected_n_vertex |
Stores the vertex number used for connection with the initial end. More... | |
unsigned | Initial_vertex_connected_n_chunk |
Stores the chunk number of the boundary to which is connected th initial end. More... | |
unsigned | Final_vertex_connected_bnd_id |
Stores the id to which the initial end is connected. More... | |
unsigned | Final_vertex_connected_n_vertex |
Stores the vertex number used for connection with the final end. More... | |
unsigned | Final_vertex_connected_n_chunk |
Stores the chunk number of the boundary to which is connected th initial end. More... | |
bool | Initial_vertex_connected_to_curviline |
States if the initial vertex is connected to a curviline. More... | |
bool | Final_vertex_connected_to_curviline |
States if the final vertex is connected to a curviline. More... | |
double | Initial_s_connection_value |
Stores the s value used for connecting the initial end with a curviline. More... | |
double | Final_s_connection_value |
Stores the s value used for connecting the final end with a curviline. More... | |
double | Tolerance_for_s_connection |
Tolerance used for connecting the ends to a curviline. More... | |
Private Attributes | |
double | Refinement_tolerance |
Tolerance for refinement of curve sections (neg if refinement is disabled) More... | |
double | Unrefinement_tolerance |
Tolerance for unrefinement of curve sections (neg if refinement is disabled) More... | |
double | Maximum_length |
Maximum allowed distance between two vertices on the polyline representation of the curve section. More... | |
Base class for defining a triangle mesh boundary, this class has the methods that allow to connect the initial and final ends to other triangle mesh boundaries.
Definition at line 162 of file unstructured_two_d_mesh_geometry_base.h.
|
inline |
Empty constructor. Initialises the curve section as non connected.
Definition at line 166 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Empty destructor.
Definition at line 180 of file unstructured_two_d_mesh_geometry_base.h.
|
pure virtual |
Boundary chunk (Used when a boundary is represented by more than one polyline.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
pure virtual |
Boundary id.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
Referenced by connect_final_vertex_to_curviline(), connect_final_vertex_to_polyline(), connect_initial_vertex_to_curviline(), connect_initial_vertex_to_polyline(), oomph::RefineableTriangleMesh< ELEMENT >::get_face_mesh_representation(), oomph::UnstructuredTwoDMeshGeometryBase::set_geom_objects_and_coordinate_limits_for_close_curve(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
void oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline | ( | TriangleMeshCurviLine * | curviline_pt, |
const double & | s_value, | ||
const double & | tolerance_for_connection = 1.0e-14 |
||
) |
Connects the final vertex of the curve section to a desired target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the final vertex and the coordinates on the given s value are close enough by no more than the given tolerance.
target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the final vertex and the coordinates on the given s value are close enough by no more than the given tolerance
Definition at line 1338 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshCurviLine::add_connection_point(), oomph::TriangleMeshCurviLine::boundary_chunk(), oomph::TriangleMeshCurviLine::boundary_id(), boundary_id(), Final_s_connection_value, Final_vertex_connected, Final_vertex_connected_bnd_id, Final_vertex_connected_n_chunk, Final_vertex_connected_to_curviline, final_vertex_coordinate(), oomph::TriangleMeshCurviLine::geom_object_pt(), oomph::GeomObject::position(), Tolerance_for_s_connection, oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
void oomph::TriangleMeshCurveSection::connect_final_vertex_to_polyline | ( | TriangleMeshPolyLine * | polyline_pt, |
const unsigned & | vertex_number, | ||
const double & | tolerance_for_connection = 1.0e-14 |
||
) |
Connects the final vertex of the curve section to a desired target polyline by specifying the vertex number. There is a checking which verifies that the final vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance.
target polyline by specifying the vertex number. There is a checking which verifies that the final vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance
Definition at line 1189 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::TriangleMeshPolyLine::boundary_id(), boundary_id(), Final_vertex_connected, Final_vertex_connected_bnd_id, Final_vertex_connected_n_chunk, Final_vertex_connected_n_vertex, final_vertex_coordinate(), oomph::TriangleMeshPolyLine::nvertex(), and oomph::TriangleMeshPolyLine::vertex_coordinate().
Referenced by oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections().
void oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline | ( | TriangleMeshCurviLine * | curviline_pt, |
const double & | s_value, | ||
const double & | tolerance_for_connection = 1.0e-14 |
||
) |
Connects the initial vertex of the curve section to a desired target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the initial vertex and the coordinates on the given s value are close enough by no more than the given tolerance.
target curviline by specifying the s value (intrinsic value on the geometric object of the curviline) where to connect on the target curviline. There is a checking which verifies that the initial vertex and the coordinates on the given s value are close enough by no more than the given tolerance
Definition at line 1259 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshCurviLine::add_connection_point(), oomph::TriangleMeshCurviLine::boundary_chunk(), oomph::TriangleMeshCurviLine::boundary_id(), boundary_id(), oomph::TriangleMeshCurviLine::geom_object_pt(), Initial_s_connection_value, Initial_vertex_connected, Initial_vertex_connected_bnd_id, Initial_vertex_connected_n_chunk, Initial_vertex_connected_to_curviline, initial_vertex_coordinate(), oomph::GeomObject::position(), Tolerance_for_s_connection, oomph::TriangleMeshCurviLine::zeta_end(), and oomph::TriangleMeshCurviLine::zeta_start().
void oomph::TriangleMeshCurveSection::connect_initial_vertex_to_polyline | ( | TriangleMeshPolyLine * | polyline_pt, |
const unsigned & | vertex_number, | ||
const double & | tolerance_for_connection = 1.0e-14 |
||
) |
Connects the initial vertex of the curve section to a desired target polyline by specifying the vertex number. There is a checking which verifies that the initial vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance.
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
target polyline by specifying the vertex number. There is a checking which verifies that the initial vertex is close enough to the destination vertex on the target polyline by no more than the specified tolerance
Definition at line 1120 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshPolyLine::boundary_chunk(), oomph::TriangleMeshPolyLine::boundary_id(), boundary_id(), Initial_vertex_connected, Initial_vertex_connected_bnd_id, Initial_vertex_connected_n_chunk, Initial_vertex_connected_n_vertex, initial_vertex_coordinate(), oomph::TriangleMeshPolyLine::nvertex(), and oomph::TriangleMeshPolyLine::vertex_coordinate().
Referenced by oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections().
|
inline |
Disable refinement of curve section.
Definition at line 235 of file unstructured_two_d_mesh_geometry_base.h.
References Refinement_tolerance.
|
inline |
Disable unrefinement of curve sections.
Definition at line 276 of file unstructured_two_d_mesh_geometry_base.h.
References Unrefinement_tolerance.
|
inline |
Disables the use of the maximum length criteria on the unrefinement or refinement steps.
Definition at line 291 of file unstructured_two_d_mesh_geometry_base.h.
References Maximum_length.
|
inline |
Enable refinement of curve section to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the refinement tolerance. It defaults to 0.08 and the smaller the number the finer the surface representation.
Definition at line 208 of file unstructured_two_d_mesh_geometry_base.h.
References Refinement_tolerance.
|
inline |
Enable unrefinement of curve sections to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines.
Definition at line 246 of file unstructured_two_d_mesh_geometry_base.h.
References Unrefinement_tolerance.
|
inline |
Sets the s value to which the final end is connected.
Definition at line 565 of file unstructured_two_d_mesh_geometry_base.h.
References Final_s_connection_value.
|
inline |
Gets the s value to which the final end is connected.
Definition at line 559 of file unstructured_two_d_mesh_geometry_base.h.
References Final_s_connection_value.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the id to which the final end is connected.
Definition at line 481 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_bnd_id.
|
inline |
Gets the id to which the final end is connected.
Definition at line 475 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_bnd_id.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the boundary chunk to which the final end is connected.
Definition at line 505 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_n_chunk.
|
inline |
Gets the boundary chunk to which the final end is connected.
Definition at line 499 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_n_chunk.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Gets the vertex number to which the final end is connected.
Definition at line 493 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_n_vertex.
|
inline |
Sets the vertex number to which the final end is connected.
Definition at line 487 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_n_vertex.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
pure virtual |
Get last vertex coordinates.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
Referenced by connect_final_vertex_to_curviline(), connect_final_vertex_to_polyline(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve().
|
inline |
Sets the s value to which the initial end is connected.
Definition at line 553 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_s_connection_value.
|
inline |
Gets the s value to which the initial end is connected.
Definition at line 547 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_s_connection_value.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the id to which the initial end is connected.
Definition at line 445 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_bnd_id.
|
inline |
Gets the id to which the initial end is connected.
Definition at line 439 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_bnd_id.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the boundary chunk to which the initial end is connected.
Definition at line 469 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_n_chunk.
|
inline |
Gets the boundary chunk to which the initial end is connected.
Definition at line 463 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_n_chunk.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the vertex number to which the initial end is connected.
Definition at line 457 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_n_vertex.
|
inline |
Gets the vertex number to which the initial end is connected.
Definition at line 451 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_n_vertex.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
pure virtual |
Get first vertex coordinates.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
Referenced by connect_initial_vertex_to_curviline(), connect_initial_vertex_to_polyline(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve().
|
inline |
Test whether final vertex is connected or not.
Definition at line 395 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Test whether the final vertex is connected to a curviline.
Definition at line 529 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_to_curviline.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Test whether initial vertex is connected or not.
Definition at line 351 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::add_connection_matrix_info_helper(), oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::TriangleMesh< ELEMENT >::create_shared_polylines_connections(), oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Test whether the initial vertex is connected to a curviline.
Definition at line 511 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_to_curviline.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Gets access to the maximum length variable.
Definition at line 297 of file unstructured_two_d_mesh_geometry_base.h.
References Maximum_length.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper(), set_maximum_length(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
pure virtual |
Number of segments that this part of the boundary is to be represented by. This corresponds to the number of straight-line segments in triangle representation.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
|
pure virtual |
Number of vertices.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
pure virtual |
Output the curve_section.
Implemented in oomph::TriangleMeshPolyLine, and oomph::TriangleMeshCurviLine.
|
inline |
Get tolerance for refinement of curve sections to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative refinement is disabled.
Definition at line 229 of file unstructured_two_d_mesh_geometry_base.h.
References Refinement_tolerance.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inline |
Resumes the final vertex connection, it may be that after load balancing the boundary to which the connection was suspended be part of the domain.
Definition at line 429 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected, and Final_vertex_connected_suspended.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::resume_boundary_connections().
|
inline |
Resumes the initial vertex connection, it may be that after load balancing the boundary to which the connection was suspended be part of the domain.
Definition at line 385 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected, and Initial_vertex_connected_suspended.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::resume_boundary_connections().
|
inline |
Sets the final vertex as connected.
Definition at line 401 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the final vertex as connected to a curviline.
Definition at line 535 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_to_curviline.
Referenced by oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the initial vertex as connected.
Definition at line 357 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), oomph::RefineableTriangleMesh< ELEMENT >::create_new_shared_boundaries(), oomph::TriangleMesh< ELEMENT >::create_shared_polyline(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the initial vertex as connected to a curviline.
Definition at line 517 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_to_curviline.
Referenced by oomph::TriangleMeshPolyLine::reverse().
|
inline |
Allows to specify the maximum distance between two vertices that define the associated polyline of the curve section, it only takes effect on the unrefinement and refinement steps.
Definition at line 284 of file unstructured_two_d_mesh_geometry_base.h.
References maximum_length(), and Maximum_length.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inline |
Set tolerance for refinement of curve sections to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the refinement tolerance. (The smaller the number the finer the surface representation). If set to a negative value, we're switching off refinement – equivalent to calling disable_polyline_refinement()
Definition at line 220 of file unstructured_two_d_mesh_geometry_base.h.
References Refinement_tolerance.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inline |
Set tolerance for unrefinement of curve sections to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines. If set to a negative value, we're switching off unrefinement – equivalent to calling disable_curve_section_unrefinement()
Definition at line 261 of file unstructured_two_d_mesh_geometry_base.h.
References Unrefinement_tolerance.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inline |
Set the final vertex connection as suspended, it will be resumed when the method to resume the connections is called This method is only used in a distributed context, when the boundary to connect is no longer part of the domain in the processor.
Definition at line 417 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected, and Final_vertex_connected_suspended.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper().
|
inline |
Set the initial vertex connection as suspended, it will be resumed when the method to resume the connections is called This method is only used in a distributed context, when the boundary to connect is no longer part of the domain in the processor.
Definition at line 373 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected, and Initial_vertex_connected_suspended.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::restore_polyline_connections_helper().
|
inline |
Sets the tolerance value for connections among curvilines.
Definition at line 579 of file unstructured_two_d_mesh_geometry_base.h.
References Tolerance_for_s_connection.
|
inline |
Gets the tolerance value for connections among curvilines.
Definition at line 572 of file unstructured_two_d_mesh_geometry_base.h.
References Tolerance_for_s_connection.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Get tolerance for unrefinement of curve section to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative unrefinement is disabled.
Definition at line 270 of file unstructured_two_d_mesh_geometry_base.h.
References Unrefinement_tolerance.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inline |
Sets the final vertex as non connected.
Definition at line 407 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected.
Referenced by oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the final vertex as non connected to a curviline.
Definition at line 541 of file unstructured_two_d_mesh_geometry_base.h.
References Final_vertex_connected_to_curviline.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the initial vertex as non connected.
Definition at line 363 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected.
Referenced by oomph::TriangleMeshPolyLine::reverse().
|
inline |
Sets the initial vertex as non connected to a curviline.
Definition at line 523 of file unstructured_two_d_mesh_geometry_base.h.
References Initial_vertex_connected_to_curviline.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information(), oomph::UnstructuredTwoDMeshGeometryBase::copy_connection_information_to_sub_polylines(), and oomph::TriangleMeshPolyLine::reverse().
|
protected |
Stores the s value used for connecting the final end with a curviline.
Definition at line 637 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), and final_s_connection_value().
|
protected |
Used for stating if the final end is connected to another boundary.
Definition at line 591 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), connect_final_vertex_to_polyline(), is_final_vertex_connected(), resume_final_vertex_connected(), set_final_vertex_connected(), suspend_final_vertex_connected(), and unset_final_vertex_connected().
|
protected |
Stores the id to which the initial end is connected.
Definition at line 615 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), connect_final_vertex_to_polyline(), and final_vertex_connected_bnd_id().
|
protected |
Stores the chunk number of the boundary to which is connected th initial end.
Definition at line 623 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), connect_final_vertex_to_polyline(), and final_vertex_connected_n_chunk().
|
protected |
Stores the vertex number used for connection with the final end.
Definition at line 619 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_polyline(), and final_vertex_connected_n_vertex().
|
protected |
Indicates if the connection is suspended because the boundary to connect is no longer part of the domain (only used in a distributed context)
Definition at line 601 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by resume_final_vertex_connected(), and suspend_final_vertex_connected().
|
protected |
States if the final vertex is connected to a curviline.
Definition at line 629 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), is_final_vertex_connected_to_curviline(), set_final_vertex_connected_to_curviline(), and unset_final_vertex_connected_to_curviline().
|
protected |
Stores the s value used for connecting the initial end with a curviline.
Definition at line 633 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_curviline(), and initial_s_connection_value().
|
protected |
Used for stating if the initial end is connected to another boundary.
Definition at line 587 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_curviline(), connect_initial_vertex_to_polyline(), is_initial_vertex_connected(), resume_initial_vertex_connected(), set_initial_vertex_connected(), suspend_initial_vertex_connected(), and unset_initial_vertex_connected().
|
protected |
Stores the id to which the initial end is connected.
Definition at line 604 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_curviline(), connect_initial_vertex_to_polyline(), and initial_vertex_connected_bnd_id().
|
protected |
Stores the chunk number of the boundary to which is connected th initial end.
Definition at line 612 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_curviline(), connect_initial_vertex_to_polyline(), and initial_vertex_connected_n_chunk().
|
protected |
Stores the vertex number used for connection with the initial end.
Definition at line 608 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_polyline(), and initial_vertex_connected_n_vertex().
|
protected |
Indicates if the connection is suspended because the boundary to connect is no longer part of the domain (only used in a distributed context)
Definition at line 596 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by resume_initial_vertex_connected(), and suspend_initial_vertex_connected().
|
protected |
States if the initial vertex is connected to a curviline.
Definition at line 626 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_initial_vertex_to_curviline(), is_initial_vertex_connected_to_curviline(), set_initial_vertex_connected_to_curviline(), and unset_initial_vertex_connected_to_curviline().
|
private |
Maximum allowed distance between two vertices on the polyline representation of the curve section.
Definition at line 653 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_use_maximum_length(), maximum_length(), and set_maximum_length().
|
private |
Tolerance for refinement of curve sections (neg if refinement is disabled)
Definition at line 645 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_refinement_tolerance(), enable_refinement_tolerance(), refinement_tolerance(), and set_refinement_tolerance().
|
protected |
Tolerance used for connecting the ends to a curviline.
Definition at line 640 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by connect_final_vertex_to_curviline(), connect_initial_vertex_to_curviline(), and tolerance_for_s_connection().
|
private |
Tolerance for unrefinement of curve sections (neg if refinement is disabled)
Definition at line 649 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_unrefinement_tolerance(), enable_unrefinement_tolerance(), set_unrefinement_tolerance(), and unrefinement_tolerance().