26 #include "TestUtil.hpp"
47 int main(
int argc,
char** argv )
49 MPI_Init( &argc, &argv );
58 if( !strcmp( argv[index],
"-eps" ) )
60 EPS1 = atof( argv[++index] );
62 if( !strcmp( argv[index],
"-input" ) )
66 if( !strcmp( argv[index],
"-radius" ) )
68 Radius = atof( argv[++index] );
70 if( !strcmp( argv[index],
"-deltaT" ) )
72 deltaT = atof( argv[++index] );
101 std::string tag_name(
"DP" );
108 assert( count == (
int)connecVerts.
size() );
109 double* ptr_DP = (
double*)data;
113 std::string velo_tag_name(
"VELO" );
120 assert( count == (
int)connecVerts.
size() );
133 double len1 = newPos.
length();
134 newPos =
Radius * newPos / len1;
136 ptr_DP[0] = newPos[0];
137 ptr_DP[1] = newPos[1];
138 ptr_DP[2] = newPos[2];
147 std::string opts = std::string(
"PARALLEL=READ_PART;PARTITION=PARALLEL_PARTITION" ) +
148 std::string(
";PARALLEL_RESOLVE_SHARED_ENTS" );
156 rval =
mb.
load_file( example.c_str(), &euler_set, opts.c_str() );
168 std::stringstream ste;
169 ste <<
"initial" << rank <<
".vtk";
170 mb.
write_file( ste.str().c_str(), 0, 0, &euler_set, 1 );
180 std::cout <<
"error tolerance epsilon_1=" <<
Radius * 1.e-8 <<
"\n";
190 std::stringstream ss;
191 ss <<
"partial" << rank <<
".vtk";
192 mb.
write_file( ss.str().c_str(), 0, 0, &covering_lagr_set, 1 );
200 std::stringstream outf;
201 outf <<
"intersect" << rank <<
".h5m";
207 std::cout <<
"On rank : " << rank <<
" arrival area: " << arrival_area <<
" intersection area:" << intx_area
208 <<
" rel error: " << fabs( ( intx_area - arrival_area ) / arrival_area ) <<
"\n";