|
MOAB: Mesh Oriented datABase
(version 5.4.1)
|
#include "Tqdcfr.hpp"#include "moab/Core.hpp"#include "moab/Range.hpp"#include "moab/FileOptions.hpp"#include "TestUtil.hpp"#include <iostream>#include <string>
Include dependency graph for tqdcfr_test.cpp:Go to the source code of this file.
Functions | |
| int | main (int argc, char *argv[]) |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 30 of file tqdcfr_test.cpp.
References ErrorCode, moab::Core::get_last_error(), moab::Core::load_file(), moab::Tqdcfr::load_file(), MB_SUCCESS, MPI_COMM_WORLD, and rank.
{
#ifdef MOAB_HAVE_MPI
MPI_Init( &argc, &argv );
#endif
// Check command line arg
std::string def_file( TestDir + "unittest/io/brick_cubit10.2.cub" );
const char* file = def_file.c_str();
if( argc < 2 )
{
std::cout << "Usage: tqdcfr <cub_file_name>" << std::endl;
// exit(1);
}
else
file = argv[1];
Core* my_impl = new Core();
Tqdcfr* my_tqd = new Tqdcfr( my_impl );
FileOptions opts( NULL );
ErrorCode result = my_tqd->load_file( file, 0, opts, 0, 0 );
if( MB_SUCCESS == result )
std::cout << "Success." << std::endl;
else
{
std::cout << "load_file returned error:" << std::endl;
std::string errs;
result = my_impl->get_last_error( errs );
if( MB_SUCCESS == result )
std::cout << errs << std::endl;
else
std::cout << "(no message)" << std::endl;
}
delete my_tqd;
delete my_impl;
// now check for multiple procs
my_impl = new Core;
my_tqd = new Tqdcfr( my_impl );
result = my_tqd->load_file( file, 0, opts, 0, 0 );
if( MB_SUCCESS == result )
std::cout << "Success." << std::endl;
else
{
std::cout << "load_file returned error:" << std::endl;
std::string errstr;
result = my_impl->get_last_error( errstr );
if( MB_SUCCESS == result )
std::cout << errstr << std::endl;
else
std::cout << "(no message)" << std::endl;
}
delete my_tqd;
delete my_impl;
#ifdef MOAB_HAVE_MPI
int nprocs, rank;
MPI_Comm_size( MPI_COMM_WORLD, &nprocs );
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
// create MOAB instance based on that
my_impl = new Core; //(rank, nprocs);
if( NULL == my_impl ) return 1;
std::string options = "PARALLEL=READ_DELETE;PARTITION=MATERIAL_SET;PARTITION_DISTRIBUTE";
std::cout << "Testing parallel..." << std::endl;
result = my_impl->load_file( file, 0, options.c_str() );
if( MB_SUCCESS == result )
std::cout << "Success." << std::endl;
else
{
std::cout << "load_file returned error:" << std::endl;
std::string errstr;
result = my_impl->get_last_error( errstr );
if( MB_SUCCESS == result )
std::cout << errstr << std::endl;
else
std::cout << "(no message)" << std::endl;
}
delete my_impl; // done with the read
MPI_Finalize();
#endif
return result;
}