aboutsummaryrefslogtreecommitdiff
path: root/src/driver/BH_diagnostics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/driver/BH_diagnostics.cc')
-rw-r--r--src/driver/BH_diagnostics.cc50
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.
//