[Commits] [svn:einsteintoolkit] Hydro_Analysis/trunk/src/ (Rev. 107)

None at einsteintoolkit.org None at einsteintoolkit.org
Sun May 2 15:49:45 CDT 2010


User: bmundim
Date: 2010/05/02 03:49 PM

Added:
 /trunk/src/
  GRHydro_Separation.F90

Removed:
 /trunk/src/
  Whisky_Separation.F90

Modified:
 /trunk/src/
  make.code.defn

Log:
 file/parameter string replacement from whisky to GRHydro

File Changes:

Directory: /trunk/src/
======================

File [added]: GRHydro_Separation.F90
Delta lines: +164 -0
===================================================================
--- trunk/src/GRHydro_Separation.F90	                        (rev 0)
+++ trunk/src/GRHydro_Separation.F90	2010-05-02 20:49:45 UTC (rev 107)
@@ -0,0 +1,164 @@
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+ 
+ /*@@
+   @routine    Hydro_Analysis_FindSeparation
+   @date       Thu May 20 12:35:20 2004
+   @author     Ian Hawke
+   @desc 
+   Finds the separation (in coordinate and proper distance)
+   between the NS. Equal mass symmetry is assumed so it is
+   actually the distance between the origin and the location
+   of maximum density. This is along a straight line, not a
+   geodesic, so still not perfect.
+   @enddesc 
+   @calls     
+   @calledby   
+   @history 
+ 
+   @endhistory 
+
+@@*/
+
+subroutine Hydro_Analysis_FindSeparation(CCTK_ARGUMENTS)
+
+  implicit none
+
+  DECLARE_CCTK_ARGUMENTS
+  DECLARE_CCTK_PARAMETERS
+  DECLARE_CCTK_FUNCTIONS
+
+  CCTK_REAL :: separation_dx, separation_dy, separation_dz
+  CCTK_REAL, dimension(:), allocatable :: separation_x, separation_y, &
+       separation_z
+  CCTK_REAL, dimension(:), allocatable :: s_gxx, s_gxy, s_gxz, &
+       s_gyy, s_gyz, s_gzz
+  CCTK_INT :: ierr, i
+  CCTK_INT :: param_table_handle, interp_handle, coord_system_handle
+  CCTK_INT :: vindex
+
+  CCTK_POINTER, dimension(3) :: interp_coords
+  CCTK_INT, dimension(6) :: in_array_indices
+  CCTK_POINTER, dimension(6) :: out_arrays
+  CCTK_INT, dimension(6) :: out_array_type_codes
+
+!!$  Proper separation requires interpolation
+
+  allocate(separation_x(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       separation_y(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       separation_z(Hydro_Analysis_rho_max_origin_distance_npoints), STAT=ierr)
+
+  if (ierr .ne. 0) then
+    call CCTK_WARN(0, "Failed to allocate separation coordinate arrays")
+  end if
+  
+  separation_dx = Hydro_Analysis_rho_max_loc(1) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
+  separation_dy = Hydro_Analysis_rho_max_loc(2) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
+  separation_dz = Hydro_Analysis_rho_max_loc(3) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
+
+  do i = 1, Hydro_Analysis_rho_max_origin_distance_npoints
+    
+    separation_x(i) = i * separation_dx
+    separation_y(i) = i * separation_dy
+    separation_z(i) = i * separation_dz
+
+  end do
+  
+  allocate(s_gxx(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       s_gxy(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       s_gxz(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       s_gyy(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       s_gyz(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       s_gzz(Hydro_Analysis_rho_max_origin_distance_npoints), &
+       STAT=ierr)
+
+  if (ierr .ne. 0) then
+    call CCTK_WARN(0, "Failed to allocate separation metric arrays")
+  end if
+
+  param_table_handle = -1
+  interp_handle = -1
+  coord_system_handle = -1
+
+  call Util_TableCreateFromString (param_table_handle, "order = 2")
+  if (param_table_handle .lt. 0) then
+    call CCTK_WARN(0,"Cannot create parameter table for interpolator")
+  endif
+
+  call CCTK_InterpHandle (interp_handle, "uniform cartesian")
+  if (interp_handle.lt.0) then
+    call CCTK_WARN(0,"Cannot get handle for interpolation ! Forgot to activate an implementation providing interpolation operators (e.g. LocalInterp)?")
+  endif
+
+  call CCTK_CoordSystemHandle (coord_system_handle, "cart3d")
+  if (coord_system_handle .lt. 0) then
+    call CCTK_WARN(0,"Cannot get handle for cart3d coordinate system ! Forgot to activate an implementation providing coordinates (e.g. LocalInterp)?")
+  endif
+
+!     fill in the input/output arrays for the interpolator
+  interp_coords(1) = CCTK_PointerTo(separation_x)
+  interp_coords(2) = CCTK_PointerTo(separation_y)
+  interp_coords(3) = CCTK_PointerTo(separation_z)
+  
+  call CCTK_VarIndex (vindex, "admbase::gxx")
+  in_array_indices(1) = vindex
+  call CCTK_VarIndex (vindex, "admbase::gyy")
+  in_array_indices(2) = vindex
+  call CCTK_VarIndex (vindex, "admbase::gzz")
+  in_array_indices(3) = vindex
+  call CCTK_VarIndex (vindex, "admbase::gxy")
+  in_array_indices(4) = vindex
+  call CCTK_VarIndex (vindex, "admbase::gxz")
+  in_array_indices(5) = vindex
+  call CCTK_VarIndex (vindex, "admbase::gyz")
+  in_array_indices(6) = vindex
+  
+  out_arrays(1) = CCTK_PointerTo(s_gxx)
+  out_arrays(2) = CCTK_PointerTo(s_gyy)
+  out_arrays(3) = CCTK_PointerTo(s_gzz)
+  out_arrays(4) = CCTK_PointerTo(s_gxy)
+  out_arrays(5) = CCTK_PointerTo(s_gxz)
+  out_arrays(6) = CCTK_PointerTo(s_gyz)
+  
+  out_array_type_codes = CCTK_VARIABLE_REAL
+  
+!     Interpolation.
+
+  call CCTK_InterpGridArrays (ierr, cctkGH, 3, interp_handle,&
+       param_table_handle, coord_system_handle,&
+       Hydro_Analysis_rho_max_origin_distance_npoints, CCTK_VARIABLE_REAL, interp_coords,&
+       6, in_array_indices,&
+       6, out_array_type_codes, out_arrays)
+  if (ierr < 0) then
+    call CCTK_WARN (1, "interpolator call returned an error code");
+  endif
+  
+!     release parameter table
+  call Util_TableDestroy (ierr, param_table_handle)
+  
+!        Integrate using trapezoidal rule.
+  
+  Hydro_Analysis_rho_max_origin_distance = 0.d0
+
+  do i=2, Hydro_Analysis_rho_max_origin_distance_npoints
+    
+    Hydro_Analysis_rho_max_origin_distance = Hydro_Analysis_rho_max_origin_distance + 0.5d0 &
+         *(sqrt(s_gxx(i-1)*separation_dx**2  + &
+                s_gyy(i-1)*separation_dy**2  + &
+                s_gzz(i-1)*separation_dz**2 &
+        + 2.d0*(s_gxy(i-1)*separation_dx*separation_dy + &
+                s_gxz(i-1)*separation_dx*separation_dz + &
+                s_gyz(i-1)*separation_dy*separation_dz)) &
+         + sqrt(s_gxx(i  )*separation_dx**2  + &
+                s_gyy(i  )*separation_dy**2  + &
+                s_gzz(i  )*separation_dz**2 &
+        + 2.d0*(s_gxy(i  )*separation_dx*separation_dy + &
+                s_gxz(i  )*separation_dx*separation_dz + &
+                s_gyz(i  )*separation_dy*separation_dz)))
+    
+  end do
+    
+end subroutine Hydro_Analysis_FindSeparation
+

File [removed]: Whisky_Separation.F90
Delta lines: +0 -164
===================================================================
--- trunk/src/Whisky_Separation.F90	2010-04-29 07:37:53 UTC (rev 106)
+++ trunk/src/Whisky_Separation.F90	2010-05-02 20:49:45 UTC (rev 107)
@@ -1,164 +0,0 @@
-#include "cctk.h"
-#include "cctk_Parameters.h"
-#include "cctk_Arguments.h"
-#include "cctk_Functions.h"
- 
- /*@@
-   @routine    Hydro_Analysis_FindSeparation
-   @date       Thu May 20 12:35:20 2004
-   @author     Ian Hawke
-   @desc 
-   Finds the separation (in coordinate and proper distance)
-   between the NS. Equal mass symmetry is assumed so it is
-   actually the distance between the origin and the location
-   of maximum density. This is along a straight line, not a
-   geodesic, so still not perfect.
-   @enddesc 
-   @calls     
-   @calledby   
-   @history 
- 
-   @endhistory 
-
-@@*/
-
-subroutine Hydro_Analysis_FindSeparation(CCTK_ARGUMENTS)
-
-  implicit none
-
-  DECLARE_CCTK_ARGUMENTS
-  DECLARE_CCTK_PARAMETERS
-  DECLARE_CCTK_FUNCTIONS
-
-  CCTK_REAL :: separation_dx, separation_dy, separation_dz
-  CCTK_REAL, dimension(:), allocatable :: separation_x, separation_y, &
-       separation_z
-  CCTK_REAL, dimension(:), allocatable :: s_gxx, s_gxy, s_gxz, &
-       s_gyy, s_gyz, s_gzz
-  CCTK_INT :: ierr, i
-  CCTK_INT :: param_table_handle, interp_handle, coord_system_handle
-  CCTK_INT :: vindex
-
-  CCTK_POINTER, dimension(3) :: interp_coords
-  CCTK_INT, dimension(6) :: in_array_indices
-  CCTK_POINTER, dimension(6) :: out_arrays
-  CCTK_INT, dimension(6) :: out_array_type_codes
-
-!!$  Proper separation requires interpolation
-
-  allocate(separation_x(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       separation_y(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       separation_z(Hydro_Analysis_rho_max_origin_distance_npoints), STAT=ierr)
-
-  if (ierr .ne. 0) then
-    call CCTK_WARN(0, "Failed to allocate separation coordinate arrays")
-  end if
-  
-  separation_dx = Hydro_Analysis_rho_max_loc(1) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
-  separation_dy = Hydro_Analysis_rho_max_loc(2) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
-  separation_dz = Hydro_Analysis_rho_max_loc(3) / dble(Hydro_Analysis_rho_max_origin_distance_npoints)
-
-  do i = 1, Hydro_Analysis_rho_max_origin_distance_npoints
-    
-    separation_x(i) = i * separation_dx
-    separation_y(i) = i * separation_dy
-    separation_z(i) = i * separation_dz
-
-  end do
-  
-  allocate(s_gxx(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       s_gxy(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       s_gxz(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       s_gyy(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       s_gyz(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       s_gzz(Hydro_Analysis_rho_max_origin_distance_npoints), &
-       STAT=ierr)
-
-  if (ierr .ne. 0) then
-    call CCTK_WARN(0, "Failed to allocate separation metric arrays")
-  end if
-
-  param_table_handle = -1
-  interp_handle = -1
-  coord_system_handle = -1
-
-  call Util_TableCreateFromString (param_table_handle, "order = 2")
-  if (param_table_handle .lt. 0) then
-    call CCTK_WARN(0,"Cannot create parameter table for interpolator")
-  endif
-
-  call CCTK_InterpHandle (interp_handle, "uniform cartesian")
-  if (interp_handle.lt.0) then
-    call CCTK_WARN(0,"Cannot get handle for interpolation ! Forgot to activate an implementation providing interpolation operators (e.g. LocalInterp)?")
-  endif
-
-  call CCTK_CoordSystemHandle (coord_system_handle, "cart3d")
-  if (coord_system_handle .lt. 0) then
-    call CCTK_WARN(0,"Cannot get handle for cart3d coordinate system ! Forgot to activate an implementation providing coordinates (e.g. LocalInterp)?")
-  endif
-
-!     fill in the input/output arrays for the interpolator
-  interp_coords(1) = CCTK_PointerTo(separation_x)
-  interp_coords(2) = CCTK_PointerTo(separation_y)
-  interp_coords(3) = CCTK_PointerTo(separation_z)
-  
-  call CCTK_VarIndex (vindex, "admbase::gxx")
-  in_array_indices(1) = vindex
-  call CCTK_VarIndex (vindex, "admbase::gyy")
-  in_array_indices(2) = vindex
-  call CCTK_VarIndex (vindex, "admbase::gzz")
-  in_array_indices(3) = vindex
-  call CCTK_VarIndex (vindex, "admbase::gxy")
-  in_array_indices(4) = vindex
-  call CCTK_VarIndex (vindex, "admbase::gxz")
-  in_array_indices(5) = vindex
-  call CCTK_VarIndex (vindex, "admbase::gyz")
-  in_array_indices(6) = vindex
-  
-  out_arrays(1) = CCTK_PointerTo(s_gxx)
-  out_arrays(2) = CCTK_PointerTo(s_gyy)
-  out_arrays(3) = CCTK_PointerTo(s_gzz)
-  out_arrays(4) = CCTK_PointerTo(s_gxy)
-  out_arrays(5) = CCTK_PointerTo(s_gxz)
-  out_arrays(6) = CCTK_PointerTo(s_gyz)
-  
-  out_array_type_codes = CCTK_VARIABLE_REAL
-  
-!     Interpolation.
-
-  call CCTK_InterpGridArrays (ierr, cctkGH, 3, interp_handle,&
-       param_table_handle, coord_system_handle,&
-       Hydro_Analysis_rho_max_origin_distance_npoints, CCTK_VARIABLE_REAL, interp_coords,&
-       6, in_array_indices,&
-       6, out_array_type_codes, out_arrays)
-  if (ierr < 0) then
-    call CCTK_WARN (1, "interpolator call returned an error code");
-  endif
-  
-!     release parameter table
-  call Util_TableDestroy (ierr, param_table_handle)
-  
-!        Integrate using trapezoidal rule.
-  
-  Hydro_Analysis_rho_max_origin_distance = 0.d0
-
-  do i=2, Hydro_Analysis_rho_max_origin_distance_npoints
-    
-    Hydro_Analysis_rho_max_origin_distance = Hydro_Analysis_rho_max_origin_distance + 0.5d0 &
-         *(sqrt(s_gxx(i-1)*separation_dx**2  + &
-                s_gyy(i-1)*separation_dy**2  + &
-                s_gzz(i-1)*separation_dz**2 &
-        + 2.d0*(s_gxy(i-1)*separation_dx*separation_dy + &
-                s_gxz(i-1)*separation_dx*separation_dz + &
-                s_gyz(i-1)*separation_dy*separation_dz)) &
-         + sqrt(s_gxx(i  )*separation_dx**2  + &
-                s_gyy(i  )*separation_dy**2  + &
-                s_gzz(i  )*separation_dz**2 &
-        + 2.d0*(s_gxy(i  )*separation_dx*separation_dy + &
-                s_gxz(i  )*separation_dx*separation_dz + &
-                s_gyz(i  )*separation_dy*separation_dz)))
-    
-  end do
-    
-end subroutine Hydro_Analysis_FindSeparation
-

File [modified]: make.code.defn
Delta lines: +1 -1
===================================================================
--- trunk/src/make.code.defn	2010-04-29 07:37:53 UTC (rev 106)
+++ trunk/src/make.code.defn	2010-05-02 20:49:45 UTC (rev 107)
@@ -1,7 +1,7 @@
 # Main make.code.defn file for thorn Hydro_Analysis
 
 # Source files in this directory
-SRCS = Hydro_Analysis.c Whisky_Separation.F90
+SRCS = Hydro_Analysis.c GRHydro_Separation.F90
 
 # Subdirectories containing source files
 SUBDIRS = 



More information about the Commits mailing list