QCMacro.hpp

Go to the documentation of this file.
00001 //*****************************************************************************//
00002 //                                                                             //
00003 //   Copyright (c) 2005                                                        //
00004 //      INRIA -Futurs Bordeaux                                                 //
00005 //      22400 TALENCE                                                          //
00006 //      France                                                                 //
00007 //                                                                             //
00008 //*****************************************************************************//
00009 //                                                                             //
00010 //               *** NOTICE OF PROPRIETARY INFORMATION ***                     //
00011 //                                                                             //
00012 // The information contained in this file is considered proprietary and the    //
00013 // exclusive property of  INRIA. This information may not be disclosed,        //
00014 // duplicated or used, in whole or in part, for  any purpose  whatsoever       //
00015 // without express written authorization from INRIA                            //
00016 //                                                                             //
00017 //*****************************************************************************//
00018 
00019 
00020 #ifndef QC_MACRO_H_
00021 #define QC_MACRO_H_
00022 
00023 #include "config.h"
00024 #include "QCCommon.hpp"
00025 #
00026 #if defined(HAVE_MPI) && defined(WITH_MPI_SUPPORT)  
00027 #    define MYRANK ""
00028 #else
00029 #    define MYRANK ""
00030 #endif
00031 //
00032 //#define QC_REPORT_TIME
00033 //#define QC_REPORT_DOMAIN_INFO // Give information on load in termes of partition
00034 
00035 //  TRACE DEFINE 
00036 //
00037 #if defined TRACE_OL
00038 //#   define DEV_OL
00039 //#   define QC_TRACE_IN_FILE
00040   //#   define TRACE_END
00041 //#define TRACE_OUT
00042 // #define TRACE
00043 // #define TRACE_MPI
00044 //#define TRACE_DENSITY
00045 //#   define TRACE_INIT
00046 //#   define TRACE_PARTITIONNER
00047 //#   define QC_DEBUG_KIMIKA
00048 //#   define DEBUG_INIT_SUBDOMAIN 
00049 #endif
00050 
00051 #if defined TRACE_ALL
00052 #      define TRACE_INIT
00053 #      define TRACE_ENERGY
00054 #      define TRACE_SCF_ALGO
00055 #      define TRACE_PARTITIONNER
00056 #      define QC_TRACE_IN_FILE
00057 //#      define TRACE_OUT
00058 //#      define TRACE_END
00059 #endif
00060 //
00061 //  VERBOSE
00062 //
00063 //#define QC_INVENTOR_PART        // Save all partitions in the inventor format
00064 //#define QC_VERBOSE
00065 #define QC_VERBOSE_SCF            // writes the errors and the energy at each iteration of SCF algorithm
00066 #define QC_VERBOSE_GNUPLOT        // writes the errors and the energy at each iteration of SCF algorithm
00067 //#define QC_VERBOSE_ENERGY
00068 //#define QC_VERBOSE_FERMI
00069 //#define QC_VERBOSE_FERMI_LEVEL2
00070 
00071 #ifndef QC_NO_OUTPUT_CONTRIB
00072 #  define QC_OUTPUT_DENSITY_CONTRIB
00073 #  define QC_OUTPUT_FOCK_CONTRIB
00074 #  define QC_OUTPUT_HAMILTON_CONTRIB
00075 #endif
00076 //
00077 //  DEBUG
00078 //
00079 //#define DEBUG_INIT_SUBDOMAIN 
00080 //#define QC_DEBUG_KIMIKA
00081 //
00082 // DEBUG remote sub domain contributions
00083 //
00084 //#define QC_DEBUG_HAMILTON_CONTRIB_LEVEL2
00085 //#define QC_DEBUG_FOCK_CONTRIB_LEVEL2
00086 //#define QC_DEBUG_DENSITY_CONTRIB_LEVEL2
00087 //#define QC_DEBUG_DENSITY_SR
00088 //#define QC_DEBUG_DENSITY_MPI
00089 //
00090 //
00091 //  DO NOT MODIFY THE LAST OF THE FILE
00092 //
00093 #ifdef TRACE
00094 #define QC_TRACE(a)\
00095         std::cout << MYRANK <<"TRACE            "<< a <<std::endl;
00096 #else
00097 #define QC_TRACE(a)
00098 #endif
00099 #ifdef TRACE_INIT
00100 #define QC_TRACE_INIT(a) \
00101         std::cout << MYRANK << "TRACE::INIT      "<< a <<std::endl;
00102 #else
00103 #define QC_TRACE_INIT(a)
00104 #endif
00105 #ifdef TRACE_OUT
00106 #define QC_TRACE_OUT(a) \
00107         std::cout << MYRANK << "TRACE::OUT       "<< a <<std::endl;
00108 #else
00109 #define QC_TRACE_OUT(a)
00110 #endif
00111 
00112 #ifdef TRACE_END
00113 #define QC_TRACE_END(a) \
00114         std::cout << MYRANK << "TRACE::END       "<< a <<std::endl;
00115 #else
00116 #define QC_TRACE_END(a)
00117 #endif
00118 
00119 #ifdef TRACE_PARTITIONNER
00120 #define QC_TRACE_PART(a) \
00121         std::cout << MYRANK <<"TRACE::PARTITION "<< a <<std::endl;
00122 #else
00123 #define QC_TRACE_PART(a) 
00124 #endif
00125 
00126 #ifdef TRACE_ENERGY
00127 #     define QC_VERBOSE_FERMI
00128 #     define QC_TRACE_ENER(a) \
00129         std::cout << MYRANK <<"TRACE::ENERGY    "<< a <<std::endl;
00130 #else
00131 #     define QC_TRACE_ENER(a) 
00132 #endif
00133 #ifdef TRACE_DENSITY
00134 #     define QC_DEBUG_DENSITY_CONTRIB_LEVEL2
00135 #     define QC_VERBOSE_DENSITY
00136 #     define QC_TRACE_DENSITY(a) \
00137         std::cout << MYRANK <<"TRACE::DENSITY    "<< a <<std::endl;
00138 #else
00139 #     define QC_TRACE_DENSITY(a) 
00140 #endif
00141 
00142 #ifdef TRACE_SCF_ALGO
00143 #define QC_TRACE_SCF(a) \
00144         std::cout << MYRANK<<"TRACE::SCF ALGO  "<< a <<std::endl;
00145  #else
00146 #define QC_TRACE_SCF(a)
00147 #endif
00148 #ifdef TRACE_MPI
00149 #define QC_TRACE_MPI(a)\
00150         std::cout << MYRANK <<"TRACE::MPI       "<< a <<std::endl;
00151 #else
00152 #define QC_TRACE_MPI(a)
00153 #endif
00154 
00155 #endif

Generated on Sat Jan 28 21:07:26 2006 for QC++ by  doxygen 1.4.4