diff --git a/include/ufo/ufo.impl.hpp b/include/ufo/ufo.impl.hpp index c6e368d..12a8be1 100644 --- a/include/ufo/ufo.impl.hpp +++ b/include/ufo/ufo.impl.hpp @@ -95,9 +95,8 @@ 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(); - auto super_cell = SuperCellDeformation - ? (*SuperCellDeformation * SuperCellMultiplier.cast().asDiagonal() * PrimativeCell).eval() - : SuperCellMultiplier.cast().asDiagonal() * PrimativeCell; + auto super_cell = SuperCellDeformation.value_or(Eigen::Matrix3d::Identity()) + * SuperCellMultiplier.cast().asDiagonal() * PrimativeCell; AtomPosition = atom_position_to_super_cell * super_cell; } if (QPointDataInputFile.Format == "yaml")