83 void writeOptimFile(
int optim_iter,
double objective,
double gnorm,
double stepsize,
double Favg,
double cost,
double tikh_regul,
double penalty_leakage,
double penalty_dpdm,
double penalty_energy,
double penalty_variation,
double penalty_weightedcost);
Configuration class containing all validated settings.
Definition config.hpp:57
Implementation of the real-valued right-hand-side (RHS) system matrix of the quantum dynamical equati...
Definition mastereq.hpp:92
Output management for quantum control simulations and optimization.
Definition output.hpp:15
void closeTrajectoryDataFiles()
Closes open time evolution data files.
Definition output.cpp:322
bool writeFullState
Flag to determine if evolution of full state vector should be written to file.
Definition output.hpp:30
FILE * vfile
File for writing imaginary part of fullstate evolution.
Definition output.hpp:36
FILE * expectedfile_comp
File for expected energy evolution of the full composite system.
Definition output.hpp:39
void writeGradient(Vec grad)
Writes gradient vector for debugging adjoint calculations.
Definition output.cpp:99
bool writeExpectedEnergy_comp
Flag to determine if evolution of expected energy of the full composite system should be written to f...
Definition output.hpp:32
FILE * optimfile
Output file for logging optimization progress.
Definition output.hpp:25
std::string output_dir
Directory path for output data files.
Definition output.hpp:46
bool writePopulation_comp
Flag to determine if the evolution of the energy level occupations of the full composite system shoul...
Definition output.hpp:34
FILE * ufile
File for writing real part of fullstate evolution.
Definition output.hpp:35
void writeTrajectoryDataFiles(int timestep, double time, const Vec state, MasterEq *mastereq)
Writes time evolution data to files.
Definition output.cpp:250
std::vector< FILE * > expectedfile
Files for expected energy evolution per oscillator.
Definition output.hpp:37
Output()
Definition output.cpp:5
size_t noscillators
Number of oscillators in the system.
Definition output.hpp:29
bool writePopulation
Flag to determine if the evolution of the energy level occupations per oscillator should be written t...
Definition output.hpp:33
int output_optimization_stride
Write output files every N optimization iterations.
Definition output.hpp:47
~Output()
Definition output.cpp:85
FILE * populationfile_comp
File for population evolution of the full composite system.
Definition output.hpp:40
int mpisize_petsc
Size of communicator for PETSc parallelization.
Definition output.hpp:20
int mpirank_init
Rank of processor for initial condition parallelization.
Definition output.hpp:21
bool quietmode
Flag for reduced screen output.
Definition output.hpp:23
int mpirank_petsc
Rank of processor for PETSc parallelization.
Definition output.hpp:19
void openTrajectoryDataFiles(std::string prefix, int initid)
Opens data files for time evolution output for one oscillator.
Definition output.cpp:182
bool writeExpectedEnergy
Flag to determine if evolution of expected energy per oscillator should be written to files.
Definition output.hpp:31
void writeControls(Vec params, MasterEq *mastereq, int ntime, double dt)
Writes current control pulses per oscillator and control parameters.
Definition output.cpp:126
void writeOptimFile(int optim_iter, double objective, double gnorm, double stepsize, double Favg, double cost, double tikh_regul, double penalty_leakage, double penalty_dpdm, double penalty_energy, double penalty_variation, double penalty_weightedcost)
Writes optimization progress to history file.
Definition output.cpp:91
std::vector< FILE * > populationfile
Files for population evolution per oscillator.
Definition output.hpp:38
int output_timestep_stride
Time domain output frequency (write every N time steps)
Definition output.hpp:26
int mpirank_world
Rank of processor in MPI_COMM_WORLD.
Definition output.hpp:18
std::vector< OutputType > output_observables
List of output types applied to all oscillators.
Definition output.hpp:27