diff options
Diffstat (limited to 'src/driver/BH_diagnostics.cc')
-rw-r--r-- | src/driver/BH_diagnostics.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/driver/BH_diagnostics.cc b/src/driver/BH_diagnostics.cc index 06f8423..c71b3af 100644 --- a/src/driver/BH_diagnostics.cc +++ b/src/driver/BH_diagnostics.cc @@ -3,6 +3,9 @@ // // BH_diagnostics::BH_diagnostics - initialize a struct BH_diagnostics // +// BH_diagnostics::copy_to_buffer - copy diagnostics to buffer +// BH_diagnostics::copy_from_buffer - copy buffer to diagnostics +// // BH_diagnostics::compute - compute BH diagnostics after an AH has been found /// BH_diagnostics::surface_integral - integrate gridfn over the 2-sphere // @@ -66,6 +69,53 @@ BH_diagnostics::BH_diagnostics() //****************************************************************************** // +// This function copies the diagnostics to a user-supplied buffer. +// +void BH_diagnostics::copy_to_buffer(CCTK_REAL buffer[N_buffer]) + const +{ +buffer[posn__centroid_x] = centroid_x; +buffer[posn__centroid_y] = centroid_y; +buffer[posn__centroid_z] = centroid_z; + +buffer[posn__min_radius] = min_radius; +buffer[posn__max_radius] = max_radius; +buffer[posn__mean_radius] = mean_radius; + +buffer[posn__circumference_xy] = circumference_xy; +buffer[posn__circumference_xz] = circumference_xz; +buffer[posn__circumference_yz] = circumference_yz; +buffer[posn__area] = area; +buffer[posn__m_irreducible] = m_irreducible; +} + +//****************************************************************************** + +// +// This function copies a user-supplied buffer to the diagnostics. +// +void BH_diagnostics::copy_from_buffer(const CCTK_REAL buffer[N_buffer]) +{ +centroid_x = buffer[posn__centroid_x]; +centroid_y = buffer[posn__centroid_y]; +centroid_z = buffer[posn__centroid_z]; + + min_radius = buffer[posn__min_radius]; + max_radius = buffer[posn__max_radius]; +mean_radius = buffer[posn__mean_radius]; + +circumference_xy = buffer[posn__circumference_xy]; +circumference_xz = buffer[posn__circumference_xz]; +circumference_yz = buffer[posn__circumference_yz]; + area = buffer[posn__area]; + m_irreducible = buffer[posn__m_irreducible]; +} + +//****************************************************************************** +//****************************************************************************** +//****************************************************************************** + +// // Given that an apparent horizon has been found, this function computes // various black hole diagnostics. // |