From 270d4606bcdd581c5251a51179f96c8c6b01bd4c Mon Sep 17 00:00:00 2001 From: diener Date: Fri, 13 Jun 2003 09:06:12 +0000 Subject: Added a parameter read_conformal_factor_once to support reading the conformal factor only once (since it's not changed during the evolution). The user now only has to output staticconformal::psi at iteration 0, thereby saving some diskspace. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@117 2a26948c-0e4f-0410-aee8-f1d3e353619c --- param.ccl | 4 ++++ schedule.ccl | 2 +- src/EHFinder_ReadData.F90 | 18 +++++++++++------- 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) -- cgit v1.2.3