bug workaround

This commit is contained in:
陈浩南 2023-09-28 10:55:47 +08:00
parent 3f16f0b930
commit 1fd8dbfd05

View File

@ -95,8 +95,9 @@ inline Input::Input(std::string filename)
for (unsigned i = 0; i < points.size(); i++)
for (unsigned j = 0; j < 3; j++)
atom_position_to_super_cell(i, j) = points[i]["coordinates"][j].as<double>();
auto super_cell = SuperCellDeformation.value_or(Eigen::Matrix3d::Identity())
* SuperCellMultiplier.cast<double>().asDiagonal() * PrimativeCell;
auto super_cell = SuperCellDeformation
? (*SuperCellDeformation * SuperCellMultiplier.cast<double>().asDiagonal() * PrimativeCell).eval()
: SuperCellMultiplier.cast<double>().asDiagonal() * PrimativeCell;
AtomPosition = atom_position_to_super_cell * super_cell;
}
if (QPointDataInputFile.Format == "yaml")