Loading include/dca/phys/dca_loop/dca_loop.hpp +4 −3 Original line number Diff line number Diff line Loading @@ -137,12 +137,13 @@ DcaLoop<ParametersType, DcaDataType, MCIntegratorType>::DcaLoop(ParametersType& update_chemical_potential_obj(parameters, MOMS, cluster_mapping_obj), monte_carlo_integrator_(parameters_ref, MOMS_ref) { output_file_(concurrency.id() == concurrency.first() ? std::make_shared<io::HDF5Writer>(false) : nullptr), monte_carlo_integrator_(parameters_ref, MOMS_ref, output_file_) { if (concurrency.id() == concurrency.first()) { file_name_ = parameters.get_directory() + parameters.get_filename_dca(); output_file_ = std::make_shared<io::HDF5Writer>(false); dca::util::SignalHandler::registerFile(output_file_); std::cout << "\n\n\t" << __FUNCTION__ << " has started \t" << dca::util::print_time() << "\n\n"; Loading include/dca/phys/dca_step/cluster_solver/ctaux/ctaux_cluster_solver.hpp +3 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ private: public: CtauxClusterSolver(Parameters& parameters_ref, Data& MOMS_ref, io::HDF5Writer* /*writer*/ = nullptr); const std::shared_ptr<io::HDF5Writer>& /*writer*/ = nullptr); template <typename Writer> void write(Writer& writer); Loading Loading @@ -162,9 +162,8 @@ private: }; template <dca::linalg::DeviceType device_t, class Parameters, class Data> CtauxClusterSolver<device_t, Parameters, Data>::CtauxClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* /*writer*/) CtauxClusterSolver<device_t, Parameters, Data>::CtauxClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : parameters_(parameters_ref), data_(data_ref), concurrency_(parameters_.get_concurrency()), Loading include/dca/phys/dca_step/cluster_solver/ctint/ctint_cluster_solver.hpp +4 −3 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ public: using Data = DcaData<Parameters>; static constexpr linalg::DeviceType device = device_t; CtintClusterSolver(Parameters& parameters_ref, Data& Data_ref); CtintClusterSolver(Parameters& parameters_ref, Data& Data_ref, const std::shared_ptr<io::HDF5Writer>& = nullptr); ~CtintClusterSolver(); Loading Loading @@ -147,8 +148,8 @@ private: }; template <dca::linalg::DeviceType device_t, class Parameters, bool use_submatrix> CtintClusterSolver<device_t, Parameters, use_submatrix>::CtintClusterSolver(Parameters& parameters_ref, Data& data_ref) CtintClusterSolver<device_t, Parameters, use_submatrix>::CtintClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : parameters_(parameters_ref), concurrency_(parameters_.get_concurrency()), data_(data_ref), Loading include/dca/phys/dca_step/cluster_solver/ss_ct_hyb/ss_ct_hyb_cluster_solver.hpp +6 −5 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ public: static constexpr linalg::DeviceType device = device_t; public: SsCtHybClusterSolver(parameters_type& parameters_ref, Data& MOMS_ref); SsCtHybClusterSolver(parameters_type& parameters_ref, Data& MOMS_ref, const std::shared_ptr<io::HDF5Writer>& = nullptr); void initialize(int dca_iteration); Loading Loading @@ -144,7 +145,7 @@ private: template <dca::linalg::DeviceType device_t, class parameters_type, class Data> SsCtHybClusterSolver<device_t, parameters_type, Data>::SsCtHybClusterSolver( parameters_type& parameters_ref, Data& data_ref) parameters_type& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : cthyb::ss_hybridization_solver_routines<parameters_type, Data>(parameters_ref, data_ref), parameters_(parameters_ref), Loading Loading @@ -570,8 +571,8 @@ auto SsCtHybClusterSolver<device_t, parameters_type, Data>::local_GS_r_w() const return GS_r_w; } } // solver } // phys } // dca } // namespace solver } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_STEP_CLUSTER_SOLVER_SS_CT_HYB_SS_CT_HYB_CLUSTER_SOLVER_HPP include/dca/phys/dca_step/cluster_solver/stdthread_qmci/stdthread_qmci_cluster_solver.hpp +5 −6 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public: using StdThreadAccumulatorType = stdthreadqmci::StdThreadQmciAccumulator<Accumulator>; StdThreadQmciClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* file = nullptr); const std::shared_ptr<io::HDF5Writer>& file = nullptr); void initialize(int dca_iteration); Loading Loading @@ -107,16 +107,15 @@ private: std::vector<dca::io::Buffer> config_dump_; stdthreadqmci::QmciAutocorrelationData<typename BaseClass::Walker> autocorrelation_data_; io::HDF5Writer* writer_ = nullptr; std::shared_ptr<io::HDF5Writer> writer_; bool last_iteration_ = false; unsigned measurements_ = 0; }; template <class QmciSolver> StdThreadQmciClusterSolver<QmciSolver>::StdThreadQmciClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* writer) StdThreadQmciClusterSolver<QmciSolver>::StdThreadQmciClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& writer) : BaseClass(parameters_ref, data_ref), nr_walkers_(parameters_.get_walkers()), Loading Loading @@ -232,7 +231,7 @@ double StdThreadQmciClusterSolver<QmciSolver>::finalize(dca_info_struct_t& dca_i // Write and reset autocorrelation. autocorrelation_data_.sumConcurrency(concurrency_); if (writer_) if (writer_ && *writer_) // Writer exists and it is open. autocorrelation_data_.write(*writer_, dca_iteration_); autocorrelation_data_.reset(); Loading Loading
include/dca/phys/dca_loop/dca_loop.hpp +4 −3 Original line number Diff line number Diff line Loading @@ -137,12 +137,13 @@ DcaLoop<ParametersType, DcaDataType, MCIntegratorType>::DcaLoop(ParametersType& update_chemical_potential_obj(parameters, MOMS, cluster_mapping_obj), monte_carlo_integrator_(parameters_ref, MOMS_ref) { output_file_(concurrency.id() == concurrency.first() ? std::make_shared<io::HDF5Writer>(false) : nullptr), monte_carlo_integrator_(parameters_ref, MOMS_ref, output_file_) { if (concurrency.id() == concurrency.first()) { file_name_ = parameters.get_directory() + parameters.get_filename_dca(); output_file_ = std::make_shared<io::HDF5Writer>(false); dca::util::SignalHandler::registerFile(output_file_); std::cout << "\n\n\t" << __FUNCTION__ << " has started \t" << dca::util::print_time() << "\n\n"; Loading
include/dca/phys/dca_step/cluster_solver/ctaux/ctaux_cluster_solver.hpp +3 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ private: public: CtauxClusterSolver(Parameters& parameters_ref, Data& MOMS_ref, io::HDF5Writer* /*writer*/ = nullptr); const std::shared_ptr<io::HDF5Writer>& /*writer*/ = nullptr); template <typename Writer> void write(Writer& writer); Loading Loading @@ -162,9 +162,8 @@ private: }; template <dca::linalg::DeviceType device_t, class Parameters, class Data> CtauxClusterSolver<device_t, Parameters, Data>::CtauxClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* /*writer*/) CtauxClusterSolver<device_t, Parameters, Data>::CtauxClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : parameters_(parameters_ref), data_(data_ref), concurrency_(parameters_.get_concurrency()), Loading
include/dca/phys/dca_step/cluster_solver/ctint/ctint_cluster_solver.hpp +4 −3 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ public: using Data = DcaData<Parameters>; static constexpr linalg::DeviceType device = device_t; CtintClusterSolver(Parameters& parameters_ref, Data& Data_ref); CtintClusterSolver(Parameters& parameters_ref, Data& Data_ref, const std::shared_ptr<io::HDF5Writer>& = nullptr); ~CtintClusterSolver(); Loading Loading @@ -147,8 +148,8 @@ private: }; template <dca::linalg::DeviceType device_t, class Parameters, bool use_submatrix> CtintClusterSolver<device_t, Parameters, use_submatrix>::CtintClusterSolver(Parameters& parameters_ref, Data& data_ref) CtintClusterSolver<device_t, Parameters, use_submatrix>::CtintClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : parameters_(parameters_ref), concurrency_(parameters_.get_concurrency()), data_(data_ref), Loading
include/dca/phys/dca_step/cluster_solver/ss_ct_hyb/ss_ct_hyb_cluster_solver.hpp +6 −5 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ public: static constexpr linalg::DeviceType device = device_t; public: SsCtHybClusterSolver(parameters_type& parameters_ref, Data& MOMS_ref); SsCtHybClusterSolver(parameters_type& parameters_ref, Data& MOMS_ref, const std::shared_ptr<io::HDF5Writer>& = nullptr); void initialize(int dca_iteration); Loading Loading @@ -144,7 +145,7 @@ private: template <dca::linalg::DeviceType device_t, class parameters_type, class Data> SsCtHybClusterSolver<device_t, parameters_type, Data>::SsCtHybClusterSolver( parameters_type& parameters_ref, Data& data_ref) parameters_type& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& /*writer*/) : cthyb::ss_hybridization_solver_routines<parameters_type, Data>(parameters_ref, data_ref), parameters_(parameters_ref), Loading Loading @@ -570,8 +571,8 @@ auto SsCtHybClusterSolver<device_t, parameters_type, Data>::local_GS_r_w() const return GS_r_w; } } // solver } // phys } // dca } // namespace solver } // namespace phys } // namespace dca #endif // DCA_PHYS_DCA_STEP_CLUSTER_SOLVER_SS_CT_HYB_SS_CT_HYB_CLUSTER_SOLVER_HPP
include/dca/phys/dca_step/cluster_solver/stdthread_qmci/stdthread_qmci_cluster_solver.hpp +5 −6 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public: using StdThreadAccumulatorType = stdthreadqmci::StdThreadQmciAccumulator<Accumulator>; StdThreadQmciClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* file = nullptr); const std::shared_ptr<io::HDF5Writer>& file = nullptr); void initialize(int dca_iteration); Loading Loading @@ -107,16 +107,15 @@ private: std::vector<dca::io::Buffer> config_dump_; stdthreadqmci::QmciAutocorrelationData<typename BaseClass::Walker> autocorrelation_data_; io::HDF5Writer* writer_ = nullptr; std::shared_ptr<io::HDF5Writer> writer_; bool last_iteration_ = false; unsigned measurements_ = 0; }; template <class QmciSolver> StdThreadQmciClusterSolver<QmciSolver>::StdThreadQmciClusterSolver(Parameters& parameters_ref, Data& data_ref, io::HDF5Writer* writer) StdThreadQmciClusterSolver<QmciSolver>::StdThreadQmciClusterSolver( Parameters& parameters_ref, Data& data_ref, const std::shared_ptr<io::HDF5Writer>& writer) : BaseClass(parameters_ref, data_ref), nr_walkers_(parameters_.get_walkers()), Loading Loading @@ -232,7 +231,7 @@ double StdThreadQmciClusterSolver<QmciSolver>::finalize(dca_info_struct_t& dca_i // Write and reset autocorrelation. autocorrelation_data_.sumConcurrency(concurrency_); if (writer_) if (writer_ && *writer_) // Writer exists and it is open. autocorrelation_data_.write(*writer_, dca_iteration_); autocorrelation_data_.reset(); Loading