.TH "sc::Convergence" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::Convergence \- The \fBConvergence\fP class is used by the optimizer to determine when an optimization is converged\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SavableState\fP\&. .PP Inherited by \fBsc::MolEnergyConvergence\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBConvergence\fP (double tolerance)" .br .ti -1c .RI "\fBConvergence\fP (\fBStateIn\fP &)" .br .ti -1c .RI "\fBConvergence\fP (const \fBRef\fP< \fBKeyVal\fP > &)" .br .RI "The \fBKeyVal\fP constructor reads the following keywords: " .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "virtual void \fBget_grad\fP (const \fBRef\fP< \fBFunction\fP > &)" .br .RI "Set the current gradient and displacement\&. " .ti -1c .RI "virtual void \fBget_x\fP (const \fBRef\fP< \fBFunction\fP > &)" .br .ti -1c .RI "virtual void \fBset_nextx\fP (const \fBRefSCVector\fP &)" .br .ti -1c .RI "virtual void \fBreset\fP ()" .br .RI "Set the current gradient and displacement to null\&. " .ti -1c .RI "virtual int \fBconverged\fP ()" .br .RI "Return nonzero if the optimization has converged\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "void \fBcheck_conv\fP (const char *heading, double val, double bound, int &pass, int &fail)" .br .ti -1c .RI "void \fBset_defaults\fP ()" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBRefSCVector\fP \fBgrad_\fP" .br .ti -1c .RI "\fBRefSCVector\fP \fBx_\fP" .br .ti -1c .RI "\fBRefSCVector\fP \fBnextx_\fP" .br .ti -1c .RI "int \fBuse_max_disp_\fP" .br .ti -1c .RI "double \fBmax_disp_\fP" .br .ti -1c .RI "int \fBuse_max_grad_\fP" .br .ti -1c .RI "double \fBmax_grad_\fP" .br .ti -1c .RI "int \fBuse_rms_disp_\fP" .br .ti -1c .RI "double \fBrms_disp_\fP" .br .ti -1c .RI "int \fBuse_rms_grad_\fP" .br .ti -1c .RI "double \fBrms_grad_\fP" .br .ti -1c .RI "int \fBuse_graddisp_\fP" .br .ti -1c .RI "double \fBgraddisp_\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBConvergence\fP class is used by the optimizer to determine when an optimization is converged\&. The \fBKeyVal\fP input for \fBConvergence\fP is given below\&. Giving none of these keywords is the same as giving the following input: .PP .nf conv: ( max_disp = 1\&.0e-6 max_grad = 1\&.0e-6 graddisp = 1\&.0e-6 ) .fi .PP .SH "Constructor & Destructor Documentation" .PP .SS "sc::Convergence::Convergence (const \fBRef\fP< \fBKeyVal\fP > &)" .PP The \fBKeyVal\fP constructor reads the following keywords: .IP "\fB\fCmax_disp\fP\fP" 1c The value of the maximum displacement must be less then the value of this keyword for the calculation to be converged\&. The default is to not check this parameter\&. However, if no other keyword are given, default convergence parameters are chosen as described above\&. .PP .IP "\fB\fCmax_grad\fP\fP" 1c The value of the maximum gradient must be less then the value of this keyword for the calculation to be converged\&. The default is to not check this parameter\&. However, if no other keyword are given, default convergence parameters are chosen as described above\&. .PP .IP "\fB\fCrms_disp\fP\fP" 1c The value of the RMS of the displacements must be less then the value of this keyword for the calculation to be converged\&. The default is to not check this parameter\&. However, if no other keyword are given, default convergence parameters are chosen as described above\&. .PP .IP "\fB\fCrms_grad\fP\fP" 1c The value of the RMS of the gradients must be less then the value of this keyword for the calculation to be converged\&. The default is to not check this parameter\&. However, if no other keyword are given, default convergence parameters are chosen as described above\&. .PP .IP "\fB\fCgraddisp\fP\fP" 1c The value of the scalar product of the gradient vector with the displacement vector must be less then the value of this keyword for the calculation to be converged\&. The default is to not check this parameter\&. However, if no other keyword are given, default convergence parameters are chosen as described above\&. .PP .PP .SH "Member Function Documentation" .PP .SS "void sc::Convergence::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::SavableState\fP\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.