23 #include "ConvergenceScheme.h" 27 this->num_instructions = num_instructions;
29 assert( num_instructions > 0 );
30 num_D =
new int[ num_instructions ];
31 energy_convergence =
new double[ num_instructions ];
32 num_max_sweeps =
new int[ num_instructions ];
33 noise_prefac =
new double[ num_instructions ];
34 dvdson_rtol =
new double[ num_instructions ];
41 delete [] energy_convergence;
42 delete [] num_max_sweeps;
43 delete [] noise_prefac;
44 delete [] dvdson_rtol;
52 assert( instruction >= 0 );
53 assert( instruction < num_instructions );
55 assert( energy_conv > 0.0 );
56 assert( max_sweeps > 0 );
57 assert( davidson_rtol > 0.0 );
59 num_D[ instruction ] = D;
60 energy_convergence[ instruction ] = energy_conv;
61 num_max_sweeps[ instruction ] = max_sweeps;
62 noise_prefac[ instruction ] = noise_prefactor;
63 dvdson_rtol[ instruction ] = davidson_rtol;
virtual ~ConvergenceScheme()
Destructor.
double get_energy_conv(const int instruction) const
Get the energy convergence threshold for a particular instruction.
double get_noise_prefactor(const int instruction) const
Get the noise prefactor for a particular instruction.
void set_instruction(const int instruction, const int D, const double energy_conv, const int max_sweeps, const double noise_prefactor, const double davidson_rtol)
Set an instruction.
int get_D(const int instruction) const
Get the number of renormalized states for a particular instruction.
int get_number() const
Get the number of instructions.
int get_max_sweeps(const int instruction) const
Get the maximum number of sweeps for a particular instruction.
double get_dvdson_rtol(const int instruction) const
Get the Davidson residual tolerance for a particular instruction.
ConvergenceScheme(const int num_instructions)
Constructor.