17 #include <TestUtil.hpp>
27 std::string tag_name(
"Tracer" );
32 std::string tag_name2(
"TracerAverage" );
36 std::string tag_name4(
"Area" );
55 rval =
mb.
tag_iterate( tagTracer, connecVerts.
begin(), connecVerts.
end(), count, data );CHECK_ERR( rval );
57 assert( count == (
int)connecVerts.
size() );
58 double* ptr_DP = (
double*)data;
66 double params[] = { M_PI, M_PI / 3, M_PI, -M_PI / 3, 0.1, 0.9, 1., 0.5 };
71 rval =
mb.
get_coords( &oldV, 1, &( posi[0] ) );CHECK_ERR( rval );
92 double params[] = { p1[0], p1[1], p1[2], p2[0], p2[1], p2[2], 1, 5. };
97 rval =
mb.
get_coords( &oldV, 1, &( posi[0] ) );CHECK_ERR( rval );
110 double params[] = { M_PI, M_PI / 3, M_PI, -M_PI / 3, 0.1, 0.9, 0.5 };
115 rval =
mb.
get_coords( &oldV, 1, &( posi[0] ) );CHECK_ERR( rval );
131 while( iter != polygons.
end() )
133 rval =
mb.
tag_iterate( tagElem, iter, polygons.
end(), count, data );CHECK_ERR( rval );
134 double* ptr = (
double*)data;
136 rval =
mb.
tag_iterate( tagArea, iter, polygons.
end(), count, data );CHECK_ERR( rval );
137 double* ptrArea = (
double*)data;
138 for(
int i = 0; i < count; i++, ++iter, ptr++, ptrArea++ )
143 if( num_nodes == 0 )
return MB_FAILURE;
144 std::vector< double > nodeVals( num_nodes );
146 rval =
mb.
tag_get_data( tagTracer, conn, num_nodes, &nodeVals[0] );CHECK_ERR( rval );
147 for(
int j = 0; j < num_nodes; j++ )
148 average += nodeVals[j];
149 average /= num_nodes;
153 std::vector< double > coords;
154 coords.resize( 3 * num_nodes );
155 rval =
mb.
get_coords( conn, num_nodes, &coords[0] );CHECK_ERR( rval );
169 int main(
int argc,
char** argv )
174 std::cout <<
" usage: create_dp <input> <output> -t <time> -dt <delta_t> [-skipdp] -f "
184 char* input_mesh1 = argv[1];
186 while( index < argc )
188 if( !strcmp( argv[index],
"-t" ) )
190 t = atof( argv[++index] );
192 if( !strcmp( argv[index],
"-dt" ) )
194 dt = atof( argv[++index] );
197 if( !strcmp( argv[index],
"-h" ) )
199 std::cout <<
" usage: create_dp <input> <output> -t <time> -dt <delta_t> [-skipdp] "
203 if( !strcmp( argv[index],
"-f" ) )
208 if( !strcmp( argv[index],
"-skipdp" ) )
222 std::cout <<
" -t " <<
t <<
" -dt " << dt <<
" input: " << input_mesh1 <<
" output: " <<
output <<
"\n";
227 std::cout <<
" do not add DP tag \n";
235 double *x_ptr, *y_ptr, *z_ptr;
239 assert( count == (
int)verts.
size() );
242 std::string tag_name(
"DP" );
249 assert( count_tag == (
int)verts.
size() );
250 double* ptr_DP = (
double*)data;
252 for(
int v = 0; v < count; v++ )
255 CartVect pos( x_ptr[v], y_ptr[v], z_ptr[v] );
258 ptr_DP[0] = newPos[0];
259 ptr_DP[1] = newPos[1];
260 ptr_DP[2] = newPos[2];