Skip to content

Commit 90aa88e

Browse files
committed
ENH: force mesh example to use ghosts in loop
1 parent 251dd13 commit 90aa88e

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

examples/test_tpetra_mesh.cpp

+15-1
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,25 @@ void run_test(mesh_data &mesh)
112112
//this loops over all ghosts as well to test load balancing
113113
for(int itimestep = 0; itimestep < ntimesteps; itimestep++){
114114
FOR_ALL(ielem,0,mesh.rnum_elem, {
115+
real_t sum = 0;
116+
real_t square_sum = 0;
117+
//compute arbitrary scaling function that adds node coords and divides by sqrt of square sum
115118
for(int inode=0; inode < 8; inode++){
116119
int local_node_index = nodes_in_elem_distributed(ielem,inode);
117120
if(local_node_index < nlocal_nodes){
118121
for(int idim=0; idim < num_dim; idim++){
119-
node_coords_distributed(local_node_index, idim) += constant_velocity*timestep;
122+
sum += node_coords_distributed(local_node_index, idim);
123+
square_sum += node_coords_distributed(local_node_index, idim)*node_coords_distributed(local_node_index, idim);
124+
}
125+
}
126+
}
127+
128+
//update coords based on evaluated element sum function
129+
for(int inode=0; inode < 8; inode++){
130+
int local_node_index = nodes_in_elem_distributed(ielem,inode);
131+
if(local_node_index < nlocal_nodes){
132+
for(int idim=0; idim < num_dim; idim++){
133+
node_coords_distributed(local_node_index, idim) += sum/sqrt(square_sum)*timestep;
120134
}
121135
}
122136
}

0 commit comments

Comments
 (0)