Loading include/dca/phys/dca_data/dca_data.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -517,7 +517,7 @@ void DcaData<Parameters>::initializeH0_and_H_i() { } } if (models::has_non_density_interaction<Lattice>::value) { if constexpr (models::has_non_density_interaction<Lattice>) { models::initializeNonDensityInteraction<Lattice>(get_non_density_interactions(), parameters_); } Loading include/dca/phys/dca_step/cluster_solver/shared_tools/accumulation/tp/tp_accumulator.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ protected: constexpr static int n_bands_ = Parameters::model_type::BANDS; constexpr static bool non_density_density_ = models::has_non_density_interaction<typename Parameters::lattice_type>::value; models::has_non_density_interaction<typename Parameters::lattice_type>; CachedNdft<Real, RDmn, WTpExtDmn, WTpExtPosDmn, linalg::CPU, non_density_density_> ndft_obj_; SpGreenFunction G_; Loading include/dca/phys/models/traits.hpp +8 −16 Original line number Diff line number Diff line Loading @@ -24,40 +24,32 @@ namespace models { // dca::phys::models:: template <class Lattice> struct has_non_density_interaction { constexpr static bool value = false; }; static constexpr bool has_non_density_interaction = false; template <class BaseLattice> struct has_non_density_interaction<HundLattice<BaseLattice>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<HundLattice<BaseLattice>> = true; template <class BaseLattice> struct has_non_density_interaction<FeAsLattice<BaseLattice>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<FeAsLattice<BaseLattice>> = true; template <class PointGroup> struct has_non_density_interaction<TwoBandCu<PointGroup>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<TwoBandCu<PointGroup>> = true; template <class Lattice, class HType, class Parameters> std::enable_if_t<has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<has_non_density_interaction<Lattice>> initializeNonDensityInteraction( HType& interaction, const Parameters& pars) { Lattice::initializeNonDensityInteraction(interaction, pars); } template <class Lattice, class HType, class Parameters> std::enable_if_t<has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<has_non_density_interaction<Lattice>> initializeNonDensityInteraction( std::unique_ptr<HType>& interaction, const Parameters& pars) { interaction.reset(new HType); interaction = std::make_unique<HType>(); Lattice::initializeNonDensityInteraction(*interaction, pars); } template <class Lattice, class HType, class Parameters> typename std::enable_if_t<not has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<!has_non_density_interaction<Lattice>> initializeNonDensityInteraction( HType& /*interaction*/, const Parameters& /*pars*/) {} } // namespace models Loading Loading
include/dca/phys/dca_data/dca_data.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -517,7 +517,7 @@ void DcaData<Parameters>::initializeH0_and_H_i() { } } if (models::has_non_density_interaction<Lattice>::value) { if constexpr (models::has_non_density_interaction<Lattice>) { models::initializeNonDensityInteraction<Lattice>(get_non_density_interactions(), parameters_); } Loading
include/dca/phys/dca_step/cluster_solver/shared_tools/accumulation/tp/tp_accumulator.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ protected: constexpr static int n_bands_ = Parameters::model_type::BANDS; constexpr static bool non_density_density_ = models::has_non_density_interaction<typename Parameters::lattice_type>::value; models::has_non_density_interaction<typename Parameters::lattice_type>; CachedNdft<Real, RDmn, WTpExtDmn, WTpExtPosDmn, linalg::CPU, non_density_density_> ndft_obj_; SpGreenFunction G_; Loading
include/dca/phys/models/traits.hpp +8 −16 Original line number Diff line number Diff line Loading @@ -24,40 +24,32 @@ namespace models { // dca::phys::models:: template <class Lattice> struct has_non_density_interaction { constexpr static bool value = false; }; static constexpr bool has_non_density_interaction = false; template <class BaseLattice> struct has_non_density_interaction<HundLattice<BaseLattice>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<HundLattice<BaseLattice>> = true; template <class BaseLattice> struct has_non_density_interaction<FeAsLattice<BaseLattice>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<FeAsLattice<BaseLattice>> = true; template <class PointGroup> struct has_non_density_interaction<TwoBandCu<PointGroup>> { constexpr static bool value = true; }; static constexpr bool has_non_density_interaction<TwoBandCu<PointGroup>> = true; template <class Lattice, class HType, class Parameters> std::enable_if_t<has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<has_non_density_interaction<Lattice>> initializeNonDensityInteraction( HType& interaction, const Parameters& pars) { Lattice::initializeNonDensityInteraction(interaction, pars); } template <class Lattice, class HType, class Parameters> std::enable_if_t<has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<has_non_density_interaction<Lattice>> initializeNonDensityInteraction( std::unique_ptr<HType>& interaction, const Parameters& pars) { interaction.reset(new HType); interaction = std::make_unique<HType>(); Lattice::initializeNonDensityInteraction(*interaction, pars); } template <class Lattice, class HType, class Parameters> typename std::enable_if_t<not has_non_density_interaction<Lattice>::value, void> initializeNonDensityInteraction( std::enable_if_t<!has_non_density_interaction<Lattice>> initializeNonDensityInteraction( HType& /*interaction*/, const Parameters& /*pars*/) {} } // namespace models Loading