41 std::ofstream out_file(fname.c_str());
45 libmesh_file_error(fname.c_str());
92 libMesh::err <<
"WARNING: DIVA only supports 3D meshes.\n\n"
93 <<
"Exiting without producing output.\n";
131 boundary_mesh.
clear();
137 for (
unsigned int v=0; v<the_mesh.
n_nodes(); v++)
148 for(
unsigned int e=0; e<the_mesh.
n_elem(); e++)
150 for (
unsigned int s=0; s<the_mesh.
elem(e)->
n_sides(); s++)
157 out_file <<
side->node(0)+1 <<
" "
158 <<
side->node(1)+1 <<
" "
159 <<
side->node(2)+1 <<
'\n';
163 out_file <<
side->node(0)+1 <<
" "
164 <<
side->node(3)+1 <<
" "
165 <<
side->node(5)+1 <<
'\n'
167 <<
side->node(3)+1 <<
" "
168 <<
side->node(1)+1 <<
" "
169 <<
side->node(4)+1 <<
'\n'
171 <<
side->node(5)+1 <<
" "
172 <<
side->node(4)+1 <<
" "
173 <<
side->node(2)+1 <<
'\n'
175 <<
side->node(3)+1 <<
" "
176 <<
side->node(4)+1 <<
" "
177 <<
side->node(5)+1 <<
'\n';
185 for(
unsigned int e=0; e<the_mesh.
n_elem(); e++)
187 for (
unsigned int s=0; s<the_mesh.
elem(e)->
n_sides(); s++)
195 out_file <<
side->node(0)+1 <<
" "
196 <<
side->node(1)+1 <<
" "
197 <<
side->node(2)+1 <<
" "
198 <<
side->node(3)+1 <<
'\n';
202 out_file <<
side->node(0)+1 <<
" "
203 <<
side->node(4)+1 <<
" "
204 <<
side->node(8)+1 <<
" "
205 <<
side->node(7)+1 <<
'\n'
207 <<
side->node(4)+1 <<
" "
208 <<
side->node(1)+1 <<
" "
209 <<
side->node(5)+1 <<
" "
210 <<
side->node(8)+1 <<
'\n'
212 <<
side->node(7)+1 <<
" "
213 <<
side->node(8)+1 <<
" "
214 <<
side->node(6)+1 <<
" "
215 <<
side->node(3)+1 <<
'\n'
217 <<
side->node(8)+1 <<
" "
218 <<
side->node(5)+1 <<
" "
219 <<
side->node(2)+1 <<
" "
220 <<
side->node(6)+1 <<
'\n';
234 for(
unsigned int e=0; e<the_mesh.
n_elem(); e++)
236 for (
unsigned short s=0; s<the_mesh.
elem(e)->
n_sides(); s++)
252 for(
unsigned int e=0; e<the_mesh.
n_elem(); e++)
254 for (
unsigned short s=0; s<the_mesh.
elem(e)->
n_sides(); s++)
272 for (
unsigned int e=0; e<the_mesh.
n_elem(); e++)
277 out_file << the_mesh.
elem(e)->
node(0)+1 <<
" "
278 << the_mesh.
elem(e)->
node(1)+1 <<
" "
279 << the_mesh.
elem(e)->
node(2)+1 <<
" "
280 << the_mesh.
elem(e)->
node(3)+1 <<
'\n';
284 out_file << the_mesh.
elem(e)->
node(0)+1 <<
" "
285 << the_mesh.
elem(e)->
node(4)+1 <<
" "
286 << the_mesh.
elem(e)->
node(6)+1 <<
" "
287 << the_mesh.
elem(e)->
node(7)+1 <<
'\n';
289 out_file << the_mesh.
elem(e)->
node(4)+1 <<
" "
290 << the_mesh.
elem(e)->
node(1)+1 <<
" "
291 << the_mesh.
elem(e)->
node(5)+1 <<
" "
292 << the_mesh.
elem(e)->
node(8)+1 <<
'\n';
294 out_file << the_mesh.
elem(e)->
node(6)+1 <<
" "
295 << the_mesh.
elem(e)->
node(5)+1 <<
" "
296 << the_mesh.
elem(e)->
node(2)+1 <<
" "
297 << the_mesh.
elem(e)->
node(9)+1 <<
'\n';
299 out_file << the_mesh.
elem(e)->
node(7)+1 <<
" "
300 << the_mesh.
elem(e)->
node(8)+1 <<
" "
301 << the_mesh.
elem(e)->
node(9)+1 <<
" "
302 << the_mesh.
elem(e)->
node(3)+1 <<
'\n';
304 out_file << the_mesh.
elem(e)->
node(4)+1 <<
" "
305 << the_mesh.
elem(e)->
node(8)+1 <<
" "
306 << the_mesh.
elem(e)->
node(6)+1 <<
" "
307 << the_mesh.
elem(e)->
node(7)+1 <<
'\n';
309 out_file << the_mesh.
elem(e)->
node(4)+1 <<
" "
310 << the_mesh.
elem(e)->
node(5)+1 <<
" "
311 << the_mesh.
elem(e)->
node(6)+1 <<
" "
312 << the_mesh.
elem(e)->
node(8)+1 <<
'\n';
314 out_file << the_mesh.
elem(e)->
node(6)+1 <<
" "
315 << the_mesh.
elem(e)->
node(5)+1 <<
" "
316 << the_mesh.
elem(e)->
node(9)+1 <<
" "
317 << the_mesh.
elem(e)->
node(8)+1 <<
'\n';
319 out_file << the_mesh.
elem(e)->
node(6)+1 <<
" "
320 << the_mesh.
elem(e)->
node(8)+1 <<
" "
321 << the_mesh.
elem(e)->
node(9)+1 <<
" "
322 << the_mesh.
elem(e)->
node(7)+1 <<
'\n';
330 for (
unsigned int e=0; e<the_mesh.
n_elem(); e++)
334 out_file << the_mesh.
elem(e)->
node(0)+1 <<
" "
335 << the_mesh.
elem(e)->
node(1)+1 <<
" "
336 << the_mesh.
elem(e)->
node(2)+1 <<
" "
337 << the_mesh.
elem(e)->
node(3)+1 <<
" "
338 << the_mesh.
elem(e)->
node(4)+1 <<
'\n';
346 for (
unsigned int e=0; e<the_mesh.
n_elem(); e++)
351 out_file << the_mesh.
elem(e)->
node(0)+1 <<
" "
352 << the_mesh.
elem(e)->
node(1)+1 <<
" "
353 << the_mesh.
elem(e)->
node(2)+1 <<
" "
354 << the_mesh.
elem(e)->
node(3)+1 <<
" "
355 << the_mesh.
elem(e)->
node(4)+1 <<
" "
356 << the_mesh.
elem(e)->
node(5)+1 <<
'\n';
359 libmesh_error_msg(
"PRISM18 element type not supported.");
366 for (
unsigned int e=0; e<the_mesh.
n_elem(); e++)
372 std::vector<dof_id_type> conn;
377 out_file << conn[0] <<
' '
const BoundaryInfo & get_boundary_info() const
libmesh_assert(remote_elem)
const bool _is_parallel_format
void sync(UnstructuredMesh &boundary_mesh, MeshData *boundary_mesh_data=libmesh_nullptr, MeshData *this_mesh_data=libmesh_nullptr)
void write_unformatted(std::ostream &out, const bool newline=true) const
const class libmesh_nullptr_t libmesh_nullptr
virtual void write(const std::string &) libmesh_override
const MeshBase & mesh() const
virtual void clear() libmesh_override
std::unique_ptr< T > UniquePtr
virtual const Elem * elem(const dof_id_type i) const =0
void write_stream(std::ostream &out)
OStreamProxy err(std::cerr)
boundary_id_type boundary_id(const Elem *const elem, const unsigned short int side) const
dof_id_type node(const unsigned int i) const
virtual UniquePtr< Elem > build_side(const unsigned int i, bool proxy=true) const =0
virtual unsigned int n_sides() const =0
const Parallel::Communicator & comm() const
unsigned int mesh_dimension() const
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const =0
virtual const Point & point(const dof_id_type i) const =0
virtual unsigned int n_sub_elem() const =0
virtual dof_id_type n_elem() const =0
Elem * neighbor(const unsigned int i) const
virtual ElemType type() const =0
virtual dof_id_type n_nodes() const =0