Loading...
Searching...
No Matches
factory.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * Factory for planewave Kohn-Sham quantum system checkpoint managers.
5 *
6 * Supported formats: "q3" (Q3 native binary, default).
7 */
8
9#include <memory>
10#include <stdexcept>
11#include <string>
12
15
16namespace q3 {
17
18inline std::unique_ptr<KohnShamQuantumSystemCheckpoint>
19create_quantum_system_checkpoint(const std::string& format = "q3") {
20 if (format == "q3") {
21 return std::make_unique<Q3PlanewaveKohnShamQuantumSystemCheckpoint>();
22 }
23 throw std::runtime_error("Unknown quantum system checkpoint format: " + format);
24}
25
26} // namespace q3
std::unique_ptr< KohnShamQuantumSystemCheckpoint > create_quantum_system_checkpoint(const std::string &format="q3")
Definition factory.hpp:19