27 #ifndef OOMPH_GENERIC_TRIANGLE_MESH_HEADER
28 #define OOMPH_GENERIC_TRIANGLE_MESH_HEADER
32 #include <oomph-lib-config.h>
57 #ifdef OOMPH_HAS_TRIANGLE_LIB
59 TriangleHelper::initialise_triangulateio(Triangulateio);
62 Use_triangulateio_restart =
true;
80 #ifdef OOMPH_HAS_TRIANGLE_LIB
82 TriangleHelper::clear_triangulateio(Triangulateio);
90 std::ofstream outfile;
98 #ifdef OOMPH_HAS_TRIANGLE_LIB
100 bool use_triangulateio_restart()
const
102 return Use_triangulateio_restart;
106 void enable_triangulateio_restart()
108 Use_triangulateio_restart =
true;
112 void disable_triangulateio_restart()
114 Use_triangulateio_restart =
false;
118 TriangulateIO& triangulateio_representation()
120 return Triangulateio;
126 void write_triangulateio(TriangulateIO& triangulate_io,
std::string&
s);
131 void clear_triangulateio()
133 TriangleHelper::clear_triangulateio(Triangulateio);
138 void dump_triangulateio(std::ostream& dump_file);
143 virtual void dump_distributed_info_for_restart(std::ostream& dump_file)
145 std::ostringstream error_stream;
146 error_stream <<
"Empty default dump disributed info. method called.\n";
147 error_stream <<
"This should be overloaded in a specific TriangleMesh\n";
150 "TriangleMeshBase::dump_distributed_info_for_restart()",
156 virtual void dump_info_to_reset_halo_haloed_scheme(std::ostream& dump_file)
158 std::ostringstream error_stream;
159 error_stream <<
"Empty default dump info. to reset halo haloed scheme.\n";
160 error_stream <<
"This should be overloaded in a specific TriangleMesh\n";
163 "TriangleMeshBase::dump_info_to_reset_halo_haloed_scheme()",
169 virtual void read_distributed_info_for_restart(std::istream& restart_file)
171 std::ostringstream error_stream;
172 error_stream <<
"Empty default read disributed info. method called.\n";
173 error_stream <<
"This should be overloaded in a specific TriangleMesh\n";
176 "TriangleMeshBase::read_distributed_info_for_restart()",
182 virtual void reestablish_distribution_info_for_restart(
183 OomphCommunicator* comm_pt, std::istream& restart_file)
185 std::ostringstream error_stream;
186 error_stream <<
"Empty default reestablish disributed info method "
188 error_stream <<
"This should be overloaded in a specific "
189 <<
"RefineableTriangleMesh\n";
192 "TriangleMeshBase::reestablish_distribution_info_for_restart()",
199 virtual void update_polyline_representation_from_restart()
201 std::ostringstream error_stream;
202 error_stream <<
"Empty default update polylines representation from "
203 <<
"restart method called.\n";
204 error_stream <<
"This should be overloaded in a specific "
205 <<
"RefineableTriangleMesh\n";
208 "TriangleMeshBase::update_polyline_representation_from_restart()",
214 void remesh_from_triangulateio(std::istream& restart_file);
218 virtual void remesh_from_internal_triangulateio()
220 std::ostringstream error_stream;
221 error_stream <<
"Empty default remesh function called.\n";
222 error_stream <<
"This should be overloaded in a specific TriangleMesh\n";
233 std::ostringstream error_stream;
234 error_stream <<
"Empty default load balancing function called.\n";
235 error_stream <<
"This should be overloaded in a specific TriangleMesh\n";
237 "TriangleMeshBase::load_balance()",
247 std::ostringstream error_stream;
248 error_stream <<
"Empty default reset boundary element info function"
250 error_stream <<
"This should be overloaded in a specific "
253 "TriangleMeshBase::reset_boundary_element_info()",
258 #ifdef OOMPH_HAS_TRIANGLE_LIB
261 TriangulateIO Triangulateio;
265 bool Use_triangulateio_restart;
Definition: oomph_definitions.h:222
Definition: generic/triangle_mesh.h:52
TriangleMeshBase(const TriangleMeshBase &node)=delete
Broken copy constructor.
void setup_boundary_element_info()
Definition: generic/triangle_mesh.h:88
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.
Definition: generic/triangle_mesh.h:242
virtual void load_balance(const Vector< unsigned > &target_domain_for_local_non_halo_element)
Virtual function to perform the load balance rutines.
Definition: generic/triangle_mesh.h:230
virtual ~TriangleMeshBase()
Broken assignment operator.
Definition: generic/triangle_mesh.h:78
TriangleMeshBase()
Constructor.
Definition: generic/triangle_mesh.h:55
Definition: unstructured_two_d_mesh_geometry_base.h:1738
RealScalar s
Definition: level1_cplx_impl.h:130
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86