#include #include #include "moab/Interface.hpp" #include "moab/Core.hpp" #include "moab/ParallelComm.hpp" using namespace moab; const unsigned int dim = 3; int main(int argc, char **argv) { ErrorCode result; Core instance; std::ostringstream opts; opts << "PARALLEL=READ_PART;PARTITION=PARALLEL_PARTITION"; result = instance.load_file("./mesh.h5m", 0, opts.str().c_str()); if (MB_SUCCESS != result) { std::cout << "Failed to read file." << std::endl; std::cout << " Error code: " << instance.get_error_string(result) << " (" << result << ")" << std::endl; MPI_Abort(MPI_COMM_WORLD,1); return EXIT_FAILURE; } ParallelComm* pcomm = ParallelComm::get_pcomm(&instance, 0); if (pcomm->rank() == 0) std::cout<rank()<<" Resolve shared entities"<resolve_shared_ents( 0, dim); assert(MB_SUCCESS==result); if (result != MB_SUCCESS) { std::cout<rank()<<" Error in resolve shared entities"<rank() == 0) std::cout<<"Waiting for resolve shared entities to complete"<rank() == 0) std::cout<rank()<<" Resolve shared entities completed"<rank() == 0) std::cout<rank()<<" Exchange ghost cells"<exchange_ghost_cells(dim,dim-1,1,0,true,true); assert(MB_SUCCESS==result); if (result != MB_SUCCESS) { std::cout<rank()<<" Error in exchange ghost cells"<rank() == 0) std::cout<<"Waiting for exchance ghost cells to complete"<rank() == 0) std::cout<rank()<<" Exchange ghost cells completed"<