aboutsummaryrefslogtreecommitdiff
path: root/src/driver/driver.hh
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-07-29 13:28:18 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-07-29 13:28:18 +0000
commit955d7ea6026d47a2d05457187612649de61efd4e (patch)
tree230d2d89204c016fd830339f10488ce37b32146e /src/driver/driver.hh
parent9ff4c59ad241f4dd9a6ae875f503d723a8bc0ddc (diff)
- inherit from IO
- add new parameters BH_diagnostics_directory h_directory which both default to IO::out_dir - change code to use these for output directories - change code to auto-create output directories if they don't already exist git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1157 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/driver/driver.hh')
-rw-r--r--src/driver/driver.hh31
1 files changed, 21 insertions, 10 deletions
diff --git a/src/driver/driver.hh b/src/driver/driver.hh
index c60d3b6..74fddaa 100644
--- a/src/driver/driver.hh
+++ b/src/driver/driver.hh
@@ -122,26 +122,40 @@ struct solver_info
//
struct IO_info
{
+ // buffer size for file names
+ // ... file names longer than this will be truncated, but
+ // they will NOT overflow the buffer (we always use snprintf(3))
+ enum { file_name_buffer_size = 512 };
+
+ // default permissions for newly created directories
+ // = full access to everyone; the user's umask
+ // should cut this down to something reasonable
+ enum { default_directory_permission = 0777 };
+
enum horizon_file_format horizon_file_format;
bool output_initial_guess;
int output_h_every, output_Theta_every;
// based on the above, do we want to output things now (this time step)?
bool output_h, output_Theta;
+ bool output_BH_diagnostics;
+ const char* BH_diagnostics_directory;
+ const char* BH_diagnostics_base_file_name;
+ const char* BH_diagnostics_file_name_extension;
+
bool output_ghost_zones_for_h;
const char* ASCII_gnuplot_file_name_extension;
const char* HDF5_file_name_extension;
+ const char* h_directory;
const char* h_base_file_name;
const char* Theta_base_file_name;
const char* Delta_h_base_file_name;
+
const char* Jacobian_base_file_name;
+
bool output_OpenDX_control_files;
const char* OpenDX_control_file_name_extension;
- bool output_BH_diagnostics;
- const char* BH_diagnostics_base_file_name;
- const char* BH_diagnostics_file_name_extension;
-
// this is used to choose file names
int time_iteration; // the Cactus time interation number
// (cctk_iteration)
@@ -280,9 +294,8 @@ struct AH_data
struct initial_guess_info initial_guess_info;
bool found_flag; // did we find this horizon (successfully)
- bool OpenDX_control_file_written; // have we written an
- // OpenDX control file
- // (for this horizon) yet?
+ bool h_files_written; // have we written horizon-shape or similar
+ // files for this horizon yet?
struct BH_diagnostics BH_diagnostics;
FILE *BH_diagnostics_fileptr;
@@ -389,12 +402,10 @@ void input_gridfn(patch_system& ps, int unknown_gfn,
void input_gridfn__explicit_name(patch_system& ps, int unknown_gfn,
const struct IO_info& IO_info,
const char file_name[], bool print_msg_flag);
+void setup_h_files(patch_system& ps, const struct IO_info& IO_info, int hn);
void output_gridfn(patch_system& ps, int unknown_gfn,
const struct IO_info& IO_info, const char base_file_name[],
int hn, bool print_msg_flag, int AHF_iteration = 0);
-void output_OpenDX_control_file(const patch_system& ps,
- const struct IO_info& IO_info,
- int hn);
void output_Jacobians(const patch_system& ps,
const Jacobian* Jac_NP_ptr,
const Jacobian* Jac_SD_FDdr_ptr,