Loading build-aux/summit_load_modules.sh +2 −2 Original line number Diff line number Diff line Loading @@ -6,12 +6,12 @@ # Usage: source summit_load_modules.sh module reset module load gcc/6.4.0 module load gcc/8.1.1 module load cuda module load magma/2.5.1 module load hdf5 module load fftw module load cmake module load magma module load netlib-lapack module load essl Loading include/dca/function/function.hpp +20 −13 Original line number Diff line number Diff line Loading @@ -50,17 +50,26 @@ public: function(const std::string& name = default_name_); // Copy constructor // Constructs the function with the name name and a copy of the elements of other. // Constructs the function with the a copy of elements and name of other. // Precondition: The other function has been resetted, if the domain had been initialized after // the other function's construction. function(const function<scalartype, domain>& other, const std::string& name = default_name_); function(const function<scalartype, domain>& other); // Same as above, but with name = 'name'. function(const function<scalartype, domain>& other, const std::string& name) : function(other) { name_ = name; } // Move constructor // Constructs the function with the name name and the elements of other using move semantics. // Constructs the function with elements and name of other using move semantics. // Precondition: The other function has been resetted, if the domain had been initialized after // the other function's construction. // Postcondition: The other function is in a non-specified state. function(function<scalartype, domain>&& other, const std::string& name = default_name_); function(function<scalartype, domain>&& other); // Same as above, but with name = 'name'. function(function<scalartype, domain>&& other, const std::string& name) : function(std::move(other)) { name_ = name; } // Copy assignment operator // Replaces the function's elements with a copy of the elements of other. Loading Loading @@ -191,7 +200,6 @@ public: void operator*=(const function<scalartype, domain>& other); void operator/=(const function<scalartype, domain>& other); void operator=(scalartype c); void operator+=(scalartype c); void operator-=(scalartype c); Loading Loading @@ -267,9 +275,8 @@ function<scalartype, domain>::function(const std::string& name) } template <typename scalartype, class domain> function<scalartype, domain>::function(const function<scalartype, domain>& other, const std::string& name) : name_(name), function<scalartype, domain>::function(const function<scalartype, domain>& other) : name_(other.name_), function_type(__PRETTY_FUNCTION__), dmn(), Nb_elements(dmn.get_size()), Loading @@ -286,8 +293,8 @@ function<scalartype, domain>::function(const function<scalartype, domain>& other } template <typename scalartype, class domain> function<scalartype, domain>::function(function<scalartype, domain>&& other, const std::string& name) : name_(name), function<scalartype, domain>::function(function<scalartype, domain>&& other) : name_(std::move(other.name_)), function_type(__PRETTY_FUNCTION__), dmn(), Nb_elements(dmn.get_size()), Loading Loading @@ -623,7 +630,7 @@ void function<scalartype, domain>::unpack(const concurrency_t& concurrency, char concurrency.unpack(buffer, buffer_size, position, *this); } } // func } // dca } // namespace func } // namespace dca #endif // DCA_FUNCTION_FUNCTION_HPP include/dca/phys/dca_analysis/bse_solver/bse_cluster_solver.hpp +2 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,8 @@ void BseClusterSolver<ParametersType, DcaDataType, ScalarType>::load_G_II_0( for (int n2 = 0; n2 < b::dmn_size(); n2++) { for (int m1 = 0; m1 < b::dmn_size(); m1++) { for (int m2 = 0; m2 < b::dmn_size(); m2++) { switch (parameters.get_four_point_type()) { // TODO: allow more than one channel. switch (parameters.get_four_point_channels()[0]) { case PARTICLE_HOLE_TRANSVERSE: { G_II_0(n1, n2, k, w_vertex, m1, m2, k, w_vertex) = -data_.G_k_w(n1, e_UP, m2, e_UP, k, w) * Loading include/dca/phys/dca_analysis/bse_solver/bse_lattice_solver.hpp +6 −6 Original line number Diff line number Diff line Loading @@ -401,7 +401,8 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::diagonalizeGamma #ifndef DCA_ANALYSIS_TEST_WITH_FULL_DIAGONALIZATION // Diagonalize the symmetric matrix \sqrt{\chi_0}\Gamma\sqrt{\chi_0}. // The origin in momentum space has always index = 0. if (parameters.get_four_point_type() == PARTICLE_PARTICLE_UP_DOWN && // TODO: loop over multiple channels. if (parameters.get_four_point_channels()[0] == PARTICLE_PARTICLE_UP_DOWN && parameters.get_four_point_momentum_transfer_index() == 0 && parameters.get_four_point_frequency_transfer() == 0) { diagonalizeGammaChi0Symmetric(); Loading Loading @@ -618,8 +619,7 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::diagonalize_fold { if (concurrency.id() == concurrency.first()) std::cout << "\n\n\t diagonalize P_Gamma_chi_0_lattice_P " << dca::util::print_time() << " ..."; std::cout << "\n\n\t diagonalize P_Gamma_chi_0_lattice_P " << dca::util::print_time() << " ..."; dca::linalg::Vector<std::complex<ScalarType>, dca::linalg::CPU> L("L (BseLatticeSolver)", M); Loading Loading @@ -924,8 +924,8 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::characterizeLead } } } // analysis } // phys } // dca } // namespace analysis } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_ANALYSIS_BSE_SOLVER_BSE_LATTICE_SOLVER_HPP include/dca/phys/dca_analysis/bse_solver/bse_solver.hpp +7 −3 Original line number Diff line number Diff line Loading @@ -101,6 +101,10 @@ BseSolver<ParametersType, DcaDataType>::BseSolver(ParametersType& parameters, Dc wave_functions_names_("wave-functions-names"), harmonics_("harmonics") { if (parameters_.get_four_point_channels().size() != 1) { throw(std::logic_error("The analysis code can analyze exactly one channel.")); } initialize_wave_functions(); { Loading Loading @@ -227,8 +231,8 @@ void BseSolver<ParametersType, DcaDataType>::calculateSusceptibilities() { bse_lattice_solver_.diagonalizeGammaChi0(); } } // analysis } // phys } // dca } // namespace analysis } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_ANALYSIS_BSE_SOLVER_BSE_SOLVER_HPP Loading
build-aux/summit_load_modules.sh +2 −2 Original line number Diff line number Diff line Loading @@ -6,12 +6,12 @@ # Usage: source summit_load_modules.sh module reset module load gcc/6.4.0 module load gcc/8.1.1 module load cuda module load magma/2.5.1 module load hdf5 module load fftw module load cmake module load magma module load netlib-lapack module load essl Loading
include/dca/function/function.hpp +20 −13 Original line number Diff line number Diff line Loading @@ -50,17 +50,26 @@ public: function(const std::string& name = default_name_); // Copy constructor // Constructs the function with the name name and a copy of the elements of other. // Constructs the function with the a copy of elements and name of other. // Precondition: The other function has been resetted, if the domain had been initialized after // the other function's construction. function(const function<scalartype, domain>& other, const std::string& name = default_name_); function(const function<scalartype, domain>& other); // Same as above, but with name = 'name'. function(const function<scalartype, domain>& other, const std::string& name) : function(other) { name_ = name; } // Move constructor // Constructs the function with the name name and the elements of other using move semantics. // Constructs the function with elements and name of other using move semantics. // Precondition: The other function has been resetted, if the domain had been initialized after // the other function's construction. // Postcondition: The other function is in a non-specified state. function(function<scalartype, domain>&& other, const std::string& name = default_name_); function(function<scalartype, domain>&& other); // Same as above, but with name = 'name'. function(function<scalartype, domain>&& other, const std::string& name) : function(std::move(other)) { name_ = name; } // Copy assignment operator // Replaces the function's elements with a copy of the elements of other. Loading Loading @@ -191,7 +200,6 @@ public: void operator*=(const function<scalartype, domain>& other); void operator/=(const function<scalartype, domain>& other); void operator=(scalartype c); void operator+=(scalartype c); void operator-=(scalartype c); Loading Loading @@ -267,9 +275,8 @@ function<scalartype, domain>::function(const std::string& name) } template <typename scalartype, class domain> function<scalartype, domain>::function(const function<scalartype, domain>& other, const std::string& name) : name_(name), function<scalartype, domain>::function(const function<scalartype, domain>& other) : name_(other.name_), function_type(__PRETTY_FUNCTION__), dmn(), Nb_elements(dmn.get_size()), Loading @@ -286,8 +293,8 @@ function<scalartype, domain>::function(const function<scalartype, domain>& other } template <typename scalartype, class domain> function<scalartype, domain>::function(function<scalartype, domain>&& other, const std::string& name) : name_(name), function<scalartype, domain>::function(function<scalartype, domain>&& other) : name_(std::move(other.name_)), function_type(__PRETTY_FUNCTION__), dmn(), Nb_elements(dmn.get_size()), Loading Loading @@ -623,7 +630,7 @@ void function<scalartype, domain>::unpack(const concurrency_t& concurrency, char concurrency.unpack(buffer, buffer_size, position, *this); } } // func } // dca } // namespace func } // namespace dca #endif // DCA_FUNCTION_FUNCTION_HPP
include/dca/phys/dca_analysis/bse_solver/bse_cluster_solver.hpp +2 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,8 @@ void BseClusterSolver<ParametersType, DcaDataType, ScalarType>::load_G_II_0( for (int n2 = 0; n2 < b::dmn_size(); n2++) { for (int m1 = 0; m1 < b::dmn_size(); m1++) { for (int m2 = 0; m2 < b::dmn_size(); m2++) { switch (parameters.get_four_point_type()) { // TODO: allow more than one channel. switch (parameters.get_four_point_channels()[0]) { case PARTICLE_HOLE_TRANSVERSE: { G_II_0(n1, n2, k, w_vertex, m1, m2, k, w_vertex) = -data_.G_k_w(n1, e_UP, m2, e_UP, k, w) * Loading
include/dca/phys/dca_analysis/bse_solver/bse_lattice_solver.hpp +6 −6 Original line number Diff line number Diff line Loading @@ -401,7 +401,8 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::diagonalizeGamma #ifndef DCA_ANALYSIS_TEST_WITH_FULL_DIAGONALIZATION // Diagonalize the symmetric matrix \sqrt{\chi_0}\Gamma\sqrt{\chi_0}. // The origin in momentum space has always index = 0. if (parameters.get_four_point_type() == PARTICLE_PARTICLE_UP_DOWN && // TODO: loop over multiple channels. if (parameters.get_four_point_channels()[0] == PARTICLE_PARTICLE_UP_DOWN && parameters.get_four_point_momentum_transfer_index() == 0 && parameters.get_four_point_frequency_transfer() == 0) { diagonalizeGammaChi0Symmetric(); Loading Loading @@ -618,8 +619,7 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::diagonalize_fold { if (concurrency.id() == concurrency.first()) std::cout << "\n\n\t diagonalize P_Gamma_chi_0_lattice_P " << dca::util::print_time() << " ..."; std::cout << "\n\n\t diagonalize P_Gamma_chi_0_lattice_P " << dca::util::print_time() << " ..."; dca::linalg::Vector<std::complex<ScalarType>, dca::linalg::CPU> L("L (BseLatticeSolver)", M); Loading Loading @@ -924,8 +924,8 @@ void BseLatticeSolver<ParametersType, DcaDataType, ScalarType>::characterizeLead } } } // analysis } // phys } // dca } // namespace analysis } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_ANALYSIS_BSE_SOLVER_BSE_LATTICE_SOLVER_HPP
include/dca/phys/dca_analysis/bse_solver/bse_solver.hpp +7 −3 Original line number Diff line number Diff line Loading @@ -101,6 +101,10 @@ BseSolver<ParametersType, DcaDataType>::BseSolver(ParametersType& parameters, Dc wave_functions_names_("wave-functions-names"), harmonics_("harmonics") { if (parameters_.get_four_point_channels().size() != 1) { throw(std::logic_error("The analysis code can analyze exactly one channel.")); } initialize_wave_functions(); { Loading Loading @@ -227,8 +231,8 @@ void BseSolver<ParametersType, DcaDataType>::calculateSusceptibilities() { bse_lattice_solver_.diagonalizeGammaChi0(); } } // analysis } // phys } // dca } // namespace analysis } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_ANALYSIS_BSE_SOLVER_BSE_SOLVER_HPP