00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "hdyn.h"
00014
00015 #ifndef TOOLBOX
00016
00017 kira_diag::kira_diag() {
00018
00019
00020 name = NULL;
00021 t1 = -VERY_LARGE_NUMBER;
00022 t2 = VERY_LARGE_NUMBER;
00023
00024 kira_runtime_flag = 0;
00025
00026 kira_main = false;
00027 check_heartbeat = true;
00028 n_check_heartbeat = 50000;
00029 n_check_runtime = 2500;
00030
00031 unpert_function_id = false;
00032 report_start_unperturbed = false;
00033 report_continue_unperturbed = false;
00034 report_end_unperturbed = false;
00035 report_pericenter_reflection = false;
00036 report_impending_multiple_status = false;
00037 report_zero_unpert_steps = false;
00038 report_multiple = true;
00039 unpert_report_level = 0;
00040 end_unpert_report_level = 0;
00041 multiple_report_level = 0;
00042
00043 tree = true;
00044 tree_level = 0;
00045
00046 ev_function_id = false;
00047 ev = false;
00048 grape = true;
00049 grape_level = 0;
00050 timestep_check = true;
00051 correct = false;
00052 slow_perturbed = false;
00053
00054 kira_ev = false;
00055
00056 slow = true;
00057 slow_level = 0;
00058
00059 report_stellar_evolution = false;
00060 report_stellar_mass_loss = false;
00061 report_binary_mass_loss = false;
00062
00063 report_adjust_perturbed_list = false;
00064
00065 report_correct_perturber_list = false;
00066
00067 report_close_encounters = 0;
00068
00069 report_kepler_trig_error = false;
00070 }
00071
00072 bool kira_diag::check_diag(hdyn *b)
00073 {
00074
00075
00076
00077 if (b->get_system_time() < t1 || b->get_system_time() > t2) return false;
00078
00079 if (name && !clump_contains(b, name)) return false;
00080
00081 return true;
00082 }
00083
00084 #define PRS(x) s << " " << #x << " = " << x << endl
00085
00086 void kira_diag::print(ostream &s)
00087 {
00088 s << endl << "kira_diag settings:" << endl;
00089
00090 PRS(kira_main);
00091
00092 PRS(kira_runtime_flag);
00093 PRS(check_heartbeat);
00094 PRS(n_check_heartbeat);
00095 PRS(n_check_runtime);
00096
00097 PRS(unpert_function_id);
00098 PRS(report_start_unperturbed);
00099 PRS(report_continue_unperturbed);
00100 PRS(report_end_unperturbed);
00101 PRS(report_pericenter_reflection);
00102 PRS(report_impending_multiple_status);
00103 PRS(report_zero_unpert_steps);
00104 PRS(report_multiple);
00105 PRS(unpert_report_level);
00106 PRS(end_unpert_report_level);
00107 PRS(multiple_report_level);
00108
00109 PRS(tree);
00110 PRS(tree_level);
00111
00112 PRS(ev_function_id);
00113 PRS(ev);
00114 PRS(grape);
00115 PRS(grape_level);
00116 PRS(timestep_check);
00117 PRS(correct);
00118 PRS(slow_perturbed);
00119
00120 PRS(kira_ev);
00121
00122 PRS(slow);
00123 PRS(slow_level);
00124
00125 PRS(report_stellar_evolution);
00126 PRS(report_stellar_mass_loss);
00127 PRS(report_binary_mass_loss);
00128
00129 PRS(report_adjust_perturbed_list);
00130
00131 PRS(report_correct_perturber_list);
00132 }
00133
00134 #endif