From 745353d0896b31bb239abf6dd909dec29bfc866a Mon Sep 17 00:00:00 2001 From: chn Date: Tue, 1 Apr 2025 18:15:43 +0800 Subject: [PATCH] project-to-atom: fix --- src/project-to-atom.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/project-to-atom.cpp b/src/project-to-atom.cpp index e7b82d8..8b8d6e1 100644 --- a/src/project-to-atom.cpp +++ b/src/project-to-atom.cpp @@ -15,13 +15,12 @@ void ufo::project_to_atom(std::string config_file) auto input = biu::deserialize(biu::read(config.InputFile)); input.SelectedAtom = config.SelectedAtom; for (auto& qpoint : input.Super.Qpoint) for (auto& mode : qpoint.Mode) - mode.WeightOnSelectedAtom = mode.EigenVector.rowwise().norm().cwiseProduct + mode.WeightOnSelectedAtom = mode.EigenVector.rowwise().squaredNorm().cwiseProduct ( ranges::views::iota(0ul, input.Super.AtomPosition.rows() * 1ul) | ranges::views::transform([&](auto i) { return config.SelectedAtom.contains(i) ? 1. : 0.; }) - | ranges::to_vector - | biu::toEigen<> + | ranges::to_vector | biu::toEigen<> ).sum() * (input.Super.AtomPosition.rows() * 1. / config.SelectedAtom.size()); std::ofstream(config.OutputFile, std::ios::binary) << biu::serialize(input); log.info("Summary:");