00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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
00033
00034
00035
00036
00037 #if defined TRACE_OL
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
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
00058
00059 #endif
00060
00061
00062
00063
00064
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
00068
00069
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
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
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