mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-28 06:05:29 -04:00
PAO: Abort on convergence failure
This commit is contained in:
parent
991d15c049
commit
0a876ee833
10 changed files with 25 additions and 1 deletions
|
|
@ -101,6 +101,9 @@ CONTAINS
|
|||
CALL section_vals_val_get(pao_section, "MAX_CYCLES", i_val=pao%max_cycles)
|
||||
IF (pao%iw > 0) WRITE (pao%iw, "(A,T40,A,T70,I11)") " PAO|", "MAX_CYCLES", pao%max_cycles
|
||||
|
||||
CALL section_vals_val_get(pao_section, "IGNORE_CONVERGENCE_FAILURE", l_val=pao%ignore_convergence_failure)
|
||||
IF (pao%iw > 0) WRITE (pao%iw, "(A,T40,A,T70,L11)") " PAO|", "IGNORE_CONVERGENCE_FAILURE", pao%ignore_convergence_failure
|
||||
|
||||
CALL section_vals_val_get(pao_section, "PARAMETERIZATION", i_val=pao%parameterization)
|
||||
IF (pao%iw > 0) WRITE (pao%iw, "(A,T40,A,T70,A11)") " PAO|", "PARAMETERIZATION", id2str(pao%parameterization)
|
||||
|
||||
|
|
@ -296,6 +299,15 @@ CONTAINS
|
|||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="IGNORE_CONVERGENCE_FAILURE", &
|
||||
description="If true, only a warning is issued if a PAO "// &
|
||||
"optimization has not converged. By default, a run is aborted "// &
|
||||
"if the required convergence criteria have not been achieved.", &
|
||||
usage="IGNORE_CONVERGENCE_FAILURE logical_value", &
|
||||
default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
! Parametrization **********************************************************
|
||||
CALL keyword_create(keyword, __LOCATION__, name="PARAMETERIZATION", &
|
||||
description="Parametrization of the mapping between the primary and the PAO basis.", &
|
||||
|
|
|
|||
|
|
@ -285,7 +285,11 @@ CONTAINS
|
|||
! check for early abort without convergence?
|
||||
CALL external_control(should_stop, "PAO", start_time=qs_env%start_time, target_time=qs_env%target_time)
|
||||
IF (should_stop .OR. pao%istep >= pao%max_pao) THEN
|
||||
CPWARN("PAO not converged!")
|
||||
IF (pao%ignore_convergence_failure) THEN
|
||||
CPWARN("PAO not converged!")
|
||||
ELSE
|
||||
CPABORT("PAO not converged!")
|
||||
END IF
|
||||
pao_is_done = .TRUE.
|
||||
EXIT
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -168,6 +168,7 @@ MODULE pao_types
|
|||
INTEGER :: optimizer = -1
|
||||
INTEGER :: cg_init_steps = -1
|
||||
LOGICAL :: precondition = .FALSE.
|
||||
LOGICAL :: ignore_convergence_failure = .FALSE.
|
||||
CHARACTER(LEN=default_path_length) :: preopt_dm_file = ""
|
||||
CHARACTER(LEN=default_path_length) :: restart_file = ""
|
||||
TYPE(filename_type), DIMENSION(:), ALLOCATABLE :: ml_training_set
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
EPS_PAO 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 1
|
||||
NUM_GRADIENT_ORDER 6
|
||||
PARAMETERIZATION EQUIVARIANT
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
EPS_PAO 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 1
|
||||
NUM_GRADIENT_ORDER 6
|
||||
PARAMETERIZATION EXP
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
EPS_PAO 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 1
|
||||
NUM_GRADIENT_ORDER 4
|
||||
PARAMETERIZATION FOCK
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
EPS_PAO 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 1
|
||||
NUM_GRADIENT_ORDER 4
|
||||
PARAMETERIZATION GTH
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
EPS_PAO 1.0E-5
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
LINPOT_INITGUESS_DELTA 0.1
|
||||
MAX_PAO 1
|
||||
NUM_GRADIENT_ORDER 2
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
S_PRECONDITIONER NONE
|
||||
&PAO
|
||||
CHECK_GRADIENT_TOL 1.0E-6
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 1
|
||||
PARAMETERIZATION FOCK
|
||||
PREOPT_DM_FILE H2O_ref_LS_DM_SPIN_1_RESTART.dm
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
S_PRECONDITIONER NONE
|
||||
&PAO
|
||||
EPS_PAO 1.0E-6
|
||||
IGNORE_CONVERGENCE_FAILURE
|
||||
MAX_PAO 100
|
||||
PARAMETERIZATION EXP
|
||||
PENALTY_STRENGTH 0.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue