Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

kira_diag.C

Go to the documentation of this file.
00001 
00002        //=======================================================//    _\|/_
00003       //  __  _____           ___                    ___       //      /|\ ~
00004      //  /      |      ^     |   \  |         ^     |   \     //          _\|/_
00005     //   \__    |     / \    |___/  |        / \    |___/    //            /|\ ~
00006    //       \   |    /___\   |  \   |       /___\   |   \   // _\|/_
00007   //     ___/   |   /     \  |   \  |____  /     \  |___/  //   /|\ ~
00008  //                                                       //            _\|/_
00009 //=======================================================//              /|\ ~
00010 
00011 // kira_diag:  Starlab kira/diag-specific functions.
00012 
00013 #include "hdyn.h"
00014 
00015 #ifndef TOOLBOX
00016 
00017 kira_diag::kira_diag() {                    // (Steve's 6/00
00018                                             //  preferences...)
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;        // SPZ mod
00033     report_continue_unperturbed                 = false;
00034     report_end_unperturbed                      = false;        // SPZ mod
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     // Acceptance criteria involve both system time and node label.
00075     // Only a single time range and label are allowed, for now.
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

Generated at Sun Feb 24 09:57:06 2002 for STARLAB by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001