Quandary
Loading...
Searching...
No Matches
hamiltonianfilereader.hpp
Go to the documentation of this file.
1#include "defs.hpp"
2#include <math.h>
3#include <optional>
4#include <petscts.h>
5#include <vector>
6#include <assert.h>
7#include <iostream>
8#include <fstream>
9#include <controlbasis.hpp>
10
11#pragma once
12
21 protected:
22
24 PetscInt dim_rho;
25 std::optional<std::string> hamiltonian_file_Hsys;
26 std::optional<std::string> hamiltonian_file_Hc;
29 bool quietmode;
30
31 public:
33
43 HamiltonianFileReader(std::optional<std::string> hamiltonian_file_Hsys, std::optional<std::string> hamiltonian_file_Hc, DecoherenceType decoherence_type_, PetscInt dim_rho_, bool quietmode_);
44
46
53 void receiveHsys(Mat& Ad, Mat& Bd);
54
64 void receiveHc(std::vector<Mat>& Ac_vec, std::vector<Mat>& Bc_vec);
65};
Interface for reading Hamiltonian data from files.
Definition hamiltonianfilereader.hpp:20
DecoherenceType decoherence_type
Type of solver (Lindblad vs Schroedinger)
Definition hamiltonianfilereader.hpp:23
~HamiltonianFileReader()
Definition hamiltonianfilereader.cpp:19
void receiveHc(std::vector< Mat > &Ac_vec, std::vector< Mat > &Bc_vec)
Receives real and imaginary control operators from file.
Definition hamiltonianfilereader.cpp:109
int mpirank_world
Rank of global MPI communicator.
Definition hamiltonianfilereader.hpp:27
HamiltonianFileReader()
Definition hamiltonianfilereader.cpp:4
std::optional< std::string > hamiltonian_file_Hsys
Filename for system Hamiltonian data.
Definition hamiltonianfilereader.hpp:25
int mpisize_world
Rank of global MPI communicator.
Definition hamiltonianfilereader.hpp:28
void receiveHsys(Mat &Ad, Mat &Bd)
Reads the constant system Hamiltonian from file.
Definition hamiltonianfilereader.cpp:22
PetscInt dim_rho
Dimension of the Hilbert space (N)
Definition hamiltonianfilereader.hpp:24
bool quietmode
Flag for quiet mode operation.
Definition hamiltonianfilereader.hpp:29
std::optional< std::string > hamiltonian_file_Hc
Filename for control Hamiltonian data.
Definition hamiltonianfilereader.hpp:26
Core type definitions and enumerations for Quandary quantum optimal control.
DecoherenceType
Available Lindblad operator types for open quantum systems, or NONE for closed quantum systems.
Definition defs.hpp:31