38 if (input.
theory ==
"kohn_sham") {
39 auto policy = std::make_unique<execution::PlanewaveSerialExecutionPolicy>();
42 iterator->set_owned_execution_policy(std::move(policy));
45 throw std::runtime_error(
"Unsupported theory: " + input.
theory);
59 std::function<std::unique_ptr<PlanewaveKohnShamSCFIterator>(
const InputData&)>;
62inline std::unique_ptr<PlanewaveKohnShamSCFIterator>
std::function< std::unique_ptr< PlanewaveKohnShamSCFIterator >(const InputData &)> IteratorFactory
std::unique_ptr< PlanewaveKohnShamSCFIterator > create_iterator(const InputData &input)
std::unique_ptr< PlanewaveKohnShamSCFIterator > create_kohn_sham_iterator(const InputData &input, const execution::PlanewaveExecutionPolicy &execution_policy)