mirror of
https://github.com/CHN-beta/ufo.git
synced 2024-10-22 19:58:44 +08:00
bug fix
This commit is contained in:
parent
0a299493c7
commit
6e741ee944
@ -30,8 +30,12 @@ namespace Eigen
|
||||
{
|
||||
constexpr inline auto serialize(auto & archive, Eigen::Matrix3d& matrix)
|
||||
{ return archive(std::span(matrix.data(), matrix.size())); }
|
||||
constexpr inline auto serialize(auto & archive, const Eigen::Matrix3d& matrix)
|
||||
{ return archive(std::span(matrix.data(), matrix.size())); }
|
||||
constexpr inline auto serialize(auto & archive, Eigen::Vector3d& vector)
|
||||
{ return archive(std::span(vector.data(), vector.size())); }
|
||||
constexpr inline auto serialize(auto & archive, const Eigen::Vector3d& vector)
|
||||
{ return archive(std::span(vector.data(), vector.size())); }
|
||||
}
|
||||
|
||||
// 在相位中, 约定为使用 $\exp (2 \pi i \vec{q} \cdot \vec{r})$ 来表示原子的运动状态
|
||||
@ -138,7 +142,7 @@ struct Output
|
||||
};
|
||||
std::vector<QPointDataType_> QPointData;
|
||||
|
||||
void write(std::string filename, std::string format, unsigned percision = 10);
|
||||
void write(std::string filename, std::string format, unsigned percision = 10) const;
|
||||
Output() = default;
|
||||
Output(std::string filename);
|
||||
|
||||
|
@ -102,7 +102,6 @@ inline Input::Input(std::string filename)
|
||||
QPointData.resize(phonon.size());
|
||||
for (unsigned i = 0; i < phonon.size(); i++)
|
||||
{
|
||||
QPointData[i].QPoint.resize(3);
|
||||
for (unsigned j = 0; j < 3; j++)
|
||||
QPointData[i].QPoint(j) = phonon[i]["q-position"][j].as<double>();
|
||||
auto band = phonon[i]["band"].as<std::vector<YAML::Node>>();
|
||||
@ -158,7 +157,7 @@ inline Input::Input(std::string filename)
|
||||
}
|
||||
}
|
||||
|
||||
inline void Output::write(std::string filename, std::string format, unsigned percision)
|
||||
inline void Output::write(std::string filename, std::string format, unsigned percision) const
|
||||
{
|
||||
if (format == "yaml")
|
||||
std::ofstream(filename) << [&]
|
||||
@ -230,7 +229,7 @@ inline void Output::write(std::string filename, std::string format, unsigned per
|
||||
static_assert(sizeof(char) == sizeof(std::byte));
|
||||
std::ofstream file(filename, std::ios::binary | std::ios::out);
|
||||
file.exceptions(std::ios::badbit | std::ios::failbit);
|
||||
file.write(reinterpret_cast<char*>(data.data()), data.size());
|
||||
file.write(reinterpret_cast<const char*>(data.data()), data.size());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,6 @@ PrimativeCellBasisNumber: [ 8, 8, 8 ]
|
||||
AtomPositionInputFile: { FileName: "/home/chn/Documents/lammps-SiC/14/14.2/14.2.2/14.2.2.4/band.yaml", Format: "yaml" }
|
||||
QPointDataInputFile: { FileName: "/home/chn/Documents/lammps-SiC/14/14.2/14.2.2/14.2.2.4/band.yaml", Format: "yaml" }
|
||||
QPointDataOutputFile:
|
||||
- { FileName: "test/14.2.2.result.yaml", Format: "yaml-human-readable" }
|
||||
- { FileName: "test/14.2.2.result.yaml", Format: "yaml" }
|
||||
- { FileName: "test/14.2.2.result.human-readable.yaml", Format: "yaml-human-readable" }
|
||||
- { FileName: "test/14.2.2.result.zpp", Format: "zpp" }
|
||||
|
Loading…
Reference in New Issue
Block a user