From 8267999d7658556866c620d776cac35e2912f537 Mon Sep 17 00:00:00 2001 From: Oliver Hahn Date: Mon, 2 Jun 2014 08:17:59 +0200 Subject: [PATCH] added output of maximum particle displacement --- main.cc | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/main.cc b/main.cc index 000b95f..8d091a7 100644 --- a/main.cc +++ b/main.cc @@ -264,6 +264,21 @@ double compute_finest_sigma( grid_hierarchy& u ) return sqrt(sum2-sum*sum); } +double compute_finest_max( grid_hierarchy& u ) +{ + double valmax = 0.0; + for( int ix = 0; ix < (int)(*u.get_grid(u.levelmax())).size(0); ++ix ) + for( int iy = 0; iy < (int)(*u.get_grid(u.levelmax())).size(1); ++iy ) + for( int iz = 0; iz < (int)(*u.get_grid(u.levelmax())).size(2); ++iz ) + { + if( (*u.get_grid(u.levelmax()))(ix,iy,iz) > valmax ) + valmax = (*u.get_grid(u.levelmax()))(ix,iy,iz); + } + + return valmax; +} + + /*****************************************************************************************************/ /*****************************************************************************************************/ @@ -642,9 +657,10 @@ int main (int argc, const char * argv[]) } else //... displacement - the_poisson_solver->gradient(icoord, u, data_forIO ); - - coarsen_density( rh_Poisson, data_forIO, false ); + the_poisson_solver->gradient(icoord, u, data_forIO ); + double dispmax = compute_finest_max( data_forIO ); + LOGINFO("max. %c-displacement of HR particles is %f [mean dx]",'x'+icoord, dispmax*(double)(1ll<write_dm_position(icoord, data_forIO ); } @@ -1248,8 +1264,11 @@ int main (int argc, const char * argv[]) else the_poisson_solver->gradient(icoord, u1, data_forIO ); + double dispmax = compute_finest_max( data_forIO ); + LOGINFO("max. %c-displacement of HR particles is %f [mean dx]",'x'+icoord, dispmax*(double)(1ll<write_dm_position(icoord, data_forIO ); }