aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--param.ccl4
-rw-r--r--schedule.ccl2
-rw-r--r--src/EHFinder_ReadData.F9018
3 files changed, 16 insertions, 8 deletions
diff --git a/param.ccl b/param.ccl
index 1d2a5ab..45e7cfb 100644
--- a/param.ccl
+++ b/param.ccl
@@ -21,6 +21,10 @@ KEYWORD eh_shift_type "Do we use numerical or analytic metric information"
"analytic" :: "Use external analytic metric"
} "analytic"
+BOOLEAN read_conformal_factor_once "Should the conformal factor only be read once"
+{
+} "yes"
+
KEYWORD initial_f "Initial surface choice"
{
"sphere" :: "spherical surface"
diff --git a/schedule.ccl b/schedule.ccl
index b26c5ab..76ae893 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -251,7 +251,7 @@ if (CCTK_Equals(eh_shift_type,"numerical"))
} "Read in shift from file"
}
-if (CCTK_Equals(metric_type,"static conformal") && CCTK_Equals(eh_metric_type,"numerical"))
+if (CCTK_Equals(metric_type,"static conformal") && CCTK_Equals(eh_metric_type,"numerical") && !read_conformal_factor_once)
{
schedule EHFinder_Read_Conformal at CCTK_PRESTEP
{
diff --git a/src/EHFinder_ReadData.F90 b/src/EHFinder_ReadData.F90
index 75d633f..08e3ce8 100644
--- a/src/EHFinder_ReadData.F90
+++ b/src/EHFinder_ReadData.F90
@@ -27,7 +27,7 @@ subroutine EHFinder_Read_Metric(CCTK_ARGUMENTS)
! saved) and the current iteration and save it in a string variable.
write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ saved_iteration_every * cctk_iteration
! Trim the string variable.
iteration_string = adjustl(iteration_string)
@@ -79,7 +79,7 @@ subroutine EHFinder_Read_Lapse(CCTK_ARGUMENTS)
CCTK_INT :: nc, res
write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ saved_iteration_every * cctk_iteration
iteration_string = adjustl(iteration_string)
nc = len_trim(iteration_string)
@@ -108,7 +108,7 @@ subroutine EHFinder_Read_Shift(CCTK_ARGUMENTS)
CCTK_INT :: i, nc, ntot, res
write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ saved_iteration_every * cctk_iteration
iteration_string = adjustl(iteration_string)
nc = len_trim(iteration_string)
@@ -144,8 +144,12 @@ subroutine EHFinder_Read_Conformal(CCTK_ARGUMENTS)
character(len=10) :: iteration_string
CCTK_INT :: nc, res
- write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ if ( read_conformal_factor_once .gt. 0 ) then
+ write(iteration_string,'(i10)') 0
+ else
+ write(iteration_string,'(i10)') last_iteration_number - &
+ saved_iteration_every * cctk_iteration
+ end if
iteration_string = adjustl(iteration_string)
nc = len_trim(iteration_string)
@@ -173,7 +177,7 @@ subroutine EHFinder_Read_Mask(CCTK_ARGUMENTS)
CCTK_INT :: nc, res
write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ saved_iteration_every * cctk_iteration
iteration_string = adjustl(iteration_string)
nc = len_trim(iteration_string)
@@ -202,7 +206,7 @@ subroutine EHFinder_ReadData(CCTK_ARGUMENTS)
CCTK_INT :: i, nc, ntot, res
write(iteration_string,'(i10)') last_iteration_number - &
- saved_iteration_every *cctk_iteration
+ saved_iteration_every * cctk_iteration
iteration_string = adjustl(iteration_string)
nc = len_trim(iteration_string)