Go to the documentation of this file. 1 #include "libmesh/distributed_mesh.h"
2 #include "libmesh/replicated_mesh.h"
3 #include "libmesh/checkpoint_io.h"
4 #include "libmesh/mesh_generation.h"
5 #include "libmesh/parallel.h"
6 #include "libmesh/partitioner.h"
22 CPPUNIT_TEST( testAsciiDistRepSplitter );
23 CPPUNIT_TEST( testBinaryDistRepSplitter );
24 CPPUNIT_TEST( testAsciiRepDistSplitter );
25 CPPUNIT_TEST( testBinaryRepDistSplitter );
26 CPPUNIT_TEST( testAsciiRepRepSplitter );
27 CPPUNIT_TEST( testBinaryRepRepSplitter );
28 CPPUNIT_TEST( testAsciiDistDistSplitter );
29 CPPUNIT_TEST( testBinaryDistDistSplitter );
32 CPPUNIT_TEST_SUITE_END();
46 template <
typename MeshA,
typename MeshB>
50 #ifdef LIBMESH_HAVE_XDR
55 const unsigned int n_procs = using_distmesh ?
56 std::min(static_cast<processor_id_type>(2),
TestCommWorld->size()) :
63 const std::string filename =
64 std::string(
"checkpoint_splitter.cp") + (binary ?
"r" :
"a");
106 std::size_t read_in_elements = 0;
116 CPPUNIT_ASSERT_EQUAL(static_cast<dof_id_type>(read_in_elements), original_n_elem);
118 #endif // LIBMESH_HAVE_XDR
123 testSplitter<DistributedMesh, ReplicatedMesh>(
false,
true);
128 testSplitter<DistributedMesh, ReplicatedMesh>(
true,
true);
133 testSplitter<ReplicatedMesh, DistributedMesh>(
false,
true);
138 testSplitter<ReplicatedMesh, DistributedMesh>(
true,
true);
143 testSplitter<ReplicatedMesh, ReplicatedMesh>(
false,
false);
148 testSplitter<ReplicatedMesh, ReplicatedMesh>(
true,
false);
153 testSplitter<DistributedMesh, DistributedMesh>(
false,
true);
158 testSplitter<DistributedMesh, DistributedMesh>(
true,
true);
virtual element_iterator pid_elements_begin(processor_id_type proc_id)=0
Iterate over all elements with a specified processor id.
CPPUNIT_TEST_SUITE_REGISTRATION(CheckpointIOTest)
void testAsciiDistDistSplitter()
bool parallel() const
Get/Set the flag indicating if we should read/write binary.
void testAsciiRepRepSplitter()
void testAsciiDistRepSplitter()
virtual element_iterator pid_elements_end(processor_id_type proc_id)=0
virtual dof_id_type n_elem() const =0
The libMesh namespace provides an interface to certain functionality in the library.
const Parallel::Communicator & comm() const
void testAsciiRepDistSplitter()
processor_id_type n_processors() const
processor_id_type processor_id() const
libMesh::Parallel::Communicator * TestCommWorld
uint8_t processor_id_type
bool binary() const
Get/Set the flag indicating if we should read/write binary.
void testBinaryRepDistSplitter()
virtual void read(const std::string &input_name) override
This method implements reading a mesh from a specified file.
void testBinaryDistDistSplitter()
const processor_id_type & current_n_processors() const
Get/Set the n_processors to use.
Real distance(const Point &p)
const std::vector< processor_id_type > & current_processor_ids() const
Get/Set the processor id or processor ids to use.
void testSplitter(bool binary, bool using_distmesh)
void testBinaryDistRepSplitter()
virtual void write(const std::string &name) override
This method implements writing a mesh to a specified file.
void testBinaryRepRepSplitter()
The CheckpointIO class can be used to write simplified restart files that can be used to restart simu...
virtual void partition(const unsigned int n_parts)
Call the default partitioner (currently metis_partition()).