From 40175991071dc969257db6acdaae14f489b02455 Mon Sep 17 00:00:00 2001 From: Matthias Krack Date: Fri, 28 Apr 2023 19:01:35 +0200 Subject: [PATCH] Add cell symmetry keyword hexagonal_gamma_120 --- src/input_cp2k_subsys.F | 18 +- src/motion/cell_opt_utils.F | 35 ++- src/subsys/cell_types.F | 32 ++- tests/Fist/regtest-13/Si_nosym_hexagonal.inp | 103 +++++++ .../regtest-13/Si_nosym_hexagonal_abc.inp | 100 +++++++ .../regtest-13/Si_sym_hexagonal_gamma_120.inp | 104 +++++++ tests/Fist/regtest-13/TEST_FILES | 3 + tests/Fist/regtest-opt/TEST_FILES | 4 +- .../cell_sym_hexagonal_gamma_120.inp | 269 ++++++++++++++++++ .../cell_sym_hexagonal_gamma_60.inp | 269 ++++++++++++++++++ 10 files changed, 900 insertions(+), 37 deletions(-) create mode 100644 tests/Fist/regtest-13/Si_nosym_hexagonal.inp create mode 100644 tests/Fist/regtest-13/Si_nosym_hexagonal_abc.inp create mode 100644 tests/Fist/regtest-13/Si_sym_hexagonal_gamma_120.inp create mode 100644 tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_120.inp create mode 100644 tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_60.inp diff --git a/src/input_cp2k_subsys.F b/src/input_cp2k_subsys.F index 5b98210949..ef8e80aab7 100644 --- a/src/input_cp2k_subsys.F +++ b/src/input_cp2k_subsys.F @@ -19,10 +19,11 @@ MODULE input_cp2k_subsys VandeVondele2005a,& VandeVondele2007 USE cell_types, ONLY: & - cell_sym_cubic, cell_sym_hexagonal, cell_sym_monoclinic, cell_sym_monoclinic_gamma_ab, & - cell_sym_none, cell_sym_orthorhombic, cell_sym_rhombohedral, cell_sym_tetragonal_ab, & - cell_sym_tetragonal_ac, cell_sym_tetragonal_bc, cell_sym_triclinic, use_perd_none, & - use_perd_x, use_perd_xy, use_perd_xyz, use_perd_xz, use_perd_y, use_perd_yz, use_perd_z + cell_sym_cubic, cell_sym_hexagonal_gamma_120, cell_sym_hexagonal_gamma_60, & + cell_sym_monoclinic, cell_sym_monoclinic_gamma_ab, cell_sym_none, cell_sym_orthorhombic, & + cell_sym_rhombohedral, cell_sym_tetragonal_ab, cell_sym_tetragonal_ac, & + cell_sym_tetragonal_bc, cell_sym_triclinic, use_perd_none, use_perd_x, use_perd_xy, & + use_perd_xyz, use_perd_xz, use_perd_y, use_perd_yz, use_perd_z USE cp_output_handling, ONLY: cp_print_key_section_create,& debug_print_level,& high_print_level,& @@ -211,7 +212,7 @@ SUBROUTINE create_cell_section_low(section, periodic) usage="SYMMETRY monoclinic", & enum_desc=s2a("No cell symmetry", & "Triclinic (a ≠ b ≠ c ≠ a, α ≠ β ≠ γ ≠ α ≠ 90°)", & - "Monoclinic (a ≠ b ≠ c ≠ a, α = γ = 90°, β ≠ 90°)", & + "Monoclinic (a ≠ b ≠ c, α = γ = 90°, β ≠ 90°)", & "Monoclinic (a = b ≠ c, α = β = 90°, γ ≠ 90°)", & "Orthorhombic (a ≠ b ≠ c, α = β = γ = 90°)", & "Tetragonal (a = b ≠ c, α = β = γ = 90°)", & @@ -219,14 +220,17 @@ SUBROUTINE create_cell_section_low(section, periodic) "Tetragonal (a ≠ b = c, α = β = γ = 90°)", & "Tetragonal (alias for TETRAGONAL_AB)", & "Rhombohedral (a = b = c, α = β = γ ≠ 90°)", & + "Hexagonal (alias for HEXAGONAL_GAMMA_60)", & "Hexagonal (a = b ≠ c, α = β = 90°, γ = 60°)", & + "Hexagonal (a = b ≠ c, α = β = 90°, γ = 120°)", & "Cubic (a = b = c, α = β = γ = 90°)"), & enum_c_vals=s2a("NONE", "TRICLINIC", "MONOCLINIC", "MONOCLINIC_GAMMA_AB", "ORTHORHOMBIC", & "TETRAGONAL_AB", "TETRAGONAL_AC", "TETRAGONAL_BC", "TETRAGONAL", "RHOMBOHEDRAL", & - "HEXAGONAL", "CUBIC"), & + "HEXAGONAL", "HEXAGONAL_GAMMA_60", "HEXAGONAL_GAMMA_120", "CUBIC"), & enum_i_vals=(/cell_sym_none, cell_sym_triclinic, cell_sym_monoclinic, cell_sym_monoclinic_gamma_ab, & cell_sym_orthorhombic, cell_sym_tetragonal_ab, cell_sym_tetragonal_ac, cell_sym_tetragonal_bc, & - cell_sym_tetragonal_ab, cell_sym_rhombohedral, cell_sym_hexagonal, cell_sym_cubic/), & + cell_sym_tetragonal_ab, cell_sym_rhombohedral, cell_sym_hexagonal_gamma_60, & + cell_sym_hexagonal_gamma_60, cell_sym_hexagonal_gamma_120, cell_sym_cubic/), & default_i_val=cell_sym_none) CALL section_add_keyword(section, keyword) CALL keyword_release(keyword) diff --git a/src/motion/cell_opt_utils.F b/src/motion/cell_opt_utils.F index ed5a000b36..5f55c96c7a 100644 --- a/src/motion/cell_opt_utils.F +++ b/src/motion/cell_opt_utils.F @@ -13,9 +13,10 @@ ! ************************************************************************************************** MODULE cell_opt_utils USE cell_types, ONLY: & - cell_sym_cubic, cell_sym_hexagonal, cell_sym_monoclinic, cell_sym_monoclinic_gamma_ab, & - cell_sym_orthorhombic, cell_sym_rhombohedral, cell_sym_tetragonal_ab, & - cell_sym_tetragonal_ac, cell_sym_tetragonal_bc, cell_sym_triclinic, cell_type + cell_sym_cubic, cell_sym_hexagonal_gamma_120, cell_sym_hexagonal_gamma_60, & + cell_sym_monoclinic, cell_sym_monoclinic_gamma_ab, cell_sym_orthorhombic, & + cell_sym_rhombohedral, cell_sym_tetragonal_ab, cell_sym_tetragonal_ac, & + cell_sym_tetragonal_bc, cell_sym_triclinic, cell_type USE cp_files, ONLY: close_file,& open_file USE cp_log_handling, ONLY: cp_get_default_logger,& @@ -320,9 +321,8 @@ SUBROUTINE apply_cell_constraints(gradient, cell, keep_angles, keep_symmetry, co INTEGER, INTENT(IN) :: constraint_id REAL(KIND=dp) :: a, a_length, ab_length, b_length, cosa, & - cosah, cosgamma, deriv_gamma, g, & - gamma, norm, norm_b, norm_c, sina, & - sinah, singamma + cosah, cosg, deriv_gamma, g, gamma, & + norm, norm_b, norm_c, sina, sinah, sing IF (keep_angles) THEN ! If we want to keep the angles constant we have to project out the @@ -378,13 +378,20 @@ SUBROUTINE apply_cell_constraints(gradient, cell, keep_angles, keep_symmetry, co gradient(2) = 0.0_dp gradient(4) = 0.0_dp gradient(5) = 0.0_dp - CASE (cell_sym_hexagonal) + CASE (cell_sym_hexagonal_gamma_60) g = 0.5_dp*(gradient(1) + 0.5_dp*(gradient(2) + sqrt3*gradient(3))) gradient(1) = g gradient(2) = 0.5_dp*g gradient(3) = sqrt3*gradient(2) gradient(4) = 0.0_dp gradient(5) = 0.0_dp + CASE (cell_sym_hexagonal_gamma_120) + g = 0.5_dp*(gradient(1) - 0.5_dp*(gradient(2) - sqrt3*gradient(3))) + gradient(1) = g + gradient(2) = -0.5_dp*g + gradient(3) = -sqrt3*gradient(2) + gradient(4) = 0.0_dp + gradient(5) = 0.0_dp CASE (cell_sym_rhombohedral) a = (angle(cell%hmat(:, 3), cell%hmat(:, 2)) + & angle(cell%hmat(:, 1), cell%hmat(:, 3)) + & @@ -407,7 +414,7 @@ SUBROUTINE apply_cell_constraints(gradient, cell, keep_angles, keep_symmetry, co gradient(2) = 0.0_dp gradient(5) = 0.0_dp CASE (cell_sym_monoclinic_gamma_ab) - ! Cell symmetry with a=b, alpha=beta=90deg and gammma unequal 90deg + ! Cell symmetry with a = b, alpha = beta = 90 degree and gammma not equal 90 degree a_length = SQRT(cell%hmat(1, 1)*cell%hmat(1, 1) + & cell%hmat(2, 1)*cell%hmat(2, 1) + & cell%hmat(3, 1)*cell%hmat(3, 1)) @@ -416,14 +423,14 @@ SUBROUTINE apply_cell_constraints(gradient, cell, keep_angles, keep_symmetry, co cell%hmat(3, 2)*cell%hmat(3, 2)) ab_length = 0.5_dp*(a_length + b_length) gamma = angle(cell%hmat(:, 1), cell%hmat(:, 2)) - cosgamma = COS(gamma) - singamma = SIN(gamma) + cosg = COS(gamma) + sing = SIN(gamma) ! Here, g is the average derivative of the cell vector length ab_length, and deriv_gamma is the derivative of the angle gamma - g = 0.5_dp*(gradient(1) + cosgamma*gradient(2) + singamma*gradient(3)) - deriv_gamma = (gradient(3)*cosgamma - gradient(2)*singamma)/b_length + g = 0.5_dp*(gradient(1) + cosg*gradient(2) + sing*gradient(3)) + deriv_gamma = (gradient(3)*cosg - gradient(2)*sing)/b_length gradient(1) = g - gradient(2) = g*cosgamma - ab_length*singamma*deriv_gamma - gradient(3) = g*singamma + ab_length*cosgamma*deriv_gamma + gradient(2) = g*cosg - ab_length*sing*deriv_gamma + gradient(3) = g*sing + ab_length*cosg*deriv_gamma gradient(4) = 0.0_dp gradient(5) = 0.0_dp CASE (cell_sym_triclinic) diff --git a/src/subsys/cell_types.F b/src/subsys/cell_types.F index 6e90b779f2..d329abb551 100644 --- a/src/subsys/cell_types.F +++ b/src/subsys/cell_types.F @@ -39,8 +39,9 @@ MODULE cell_types cell_sym_tetragonal_ac = 6, & cell_sym_tetragonal_bc = 7, & cell_sym_rhombohedral = 8, & - cell_sym_hexagonal = 9, & - cell_sym_cubic = 10 + cell_sym_hexagonal_gamma_60 = 9, & + cell_sym_hexagonal_gamma_120 = 10, & + cell_sym_cubic = 11 INTEGER, PARAMETER, PUBLIC :: use_perd_x = 0, & use_perd_y = 1, & @@ -318,9 +319,9 @@ SUBROUTINE init_cell(cell, hmat, periodic) REAL(KIND=dp), PARAMETER :: eps_hmat = 1.0E-14_dp INTEGER :: dim - REAL(KIND=dp) :: a, acosa, acosah, acosgamma, alpha, & - asina, asinah, asingamma, beta, gamma, & - norm, norm_c + REAL(KIND=dp) :: a, acosa, acosah, acosg, alpha, asina, & + asinah, asing, beta, gamma, norm, & + norm_c REAL(KIND=dp), DIMENSION(3) :: abc IF (PRESENT(hmat)) cell%hmat(:, :) = hmat(:, :) @@ -367,13 +368,14 @@ SUBROUTINE init_cell(cell, hmat, periodic) cell%hmat(1, 1) = abc(1); cell%hmat(1, 2) = 0.0_dp; cell%hmat(1, 3) = 0.0_dp cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = abc(2); cell%hmat(2, 3) = 0.0_dp cell%hmat(3, 1) = 0.0_dp; cell%hmat(3, 2) = 0.0_dp; cell%hmat(3, 3) = abc(3) - CASE (cell_sym_hexagonal) + CASE (cell_sym_hexagonal_gamma_60, cell_sym_hexagonal_gamma_120) CALL get_cell(cell=cell, abc=abc) a = 0.5_dp*(abc(1) + abc(2)) - acosa = 0.5_dp*a - asina = sqrt3*acosa - cell%hmat(1, 1) = a; cell%hmat(1, 2) = acosa; cell%hmat(1, 3) = 0.0_dp - cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = asina; cell%hmat(2, 3) = 0.0_dp + acosg = 0.5_dp*a + asing = sqrt3*acosg + IF (cell%symmetry_id == cell_sym_hexagonal_gamma_120) acosg = -acosg + cell%hmat(1, 1) = a; cell%hmat(1, 2) = acosg; cell%hmat(1, 3) = 0.0_dp + cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = asing; cell%hmat(2, 3) = 0.0_dp cell%hmat(3, 1) = 0.0_dp; cell%hmat(3, 2) = 0.0_dp; cell%hmat(3, 3) = abc(3) CASE (cell_sym_rhombohedral) CALL get_cell(cell=cell, abc=abc) @@ -397,14 +399,14 @@ SUBROUTINE init_cell(cell, hmat, periodic) cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = abc(2); cell%hmat(2, 3) = 0.0_dp cell%hmat(3, 1) = 0.0_dp; cell%hmat(3, 2) = 0.0_dp; cell%hmat(3, 3) = abc(3)*SIN(beta) CASE (cell_sym_monoclinic_gamma_ab) - ! Cell symmetry with a=b, alpha=beta=90deg and gammma unequal 90deg + ! Cell symmetry with a = b, alpha = beta = 90 degree and gammma not equal 90 degree CALL get_cell(cell=cell, abc=abc) a = 0.5_dp*(abc(1) + abc(2)) gamma = angle(cell%hmat(:, 1), cell%hmat(:, 2)) - acosgamma = a*COS(gamma) - asingamma = a*SIN(gamma) - cell%hmat(1, 1) = a; cell%hmat(1, 2) = acosgamma; cell%hmat(1, 3) = 0.0_dp - cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = asingamma; cell%hmat(2, 3) = 0.0_dp + acosg = a*COS(gamma) + asing = a*SIN(gamma) + cell%hmat(1, 1) = a; cell%hmat(1, 2) = acosg; cell%hmat(1, 3) = 0.0_dp + cell%hmat(2, 1) = 0.0_dp; cell%hmat(2, 2) = asing; cell%hmat(2, 3) = 0.0_dp cell%hmat(3, 1) = 0.0_dp; cell%hmat(3, 2) = 0.0_dp; cell%hmat(3, 3) = abc(3) CASE (cell_sym_triclinic) ! Nothing to do diff --git a/tests/Fist/regtest-13/Si_nosym_hexagonal.inp b/tests/Fist/regtest-13/Si_nosym_hexagonal.inp new file mode 100644 index 0000000000..cc160903da --- /dev/null +++ b/tests/Fist/regtest-13/Si_nosym_hexagonal.inp @@ -0,0 +1,103 @@ +@SET Sqrt3 1.7320508075688772 + +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + &SPLINE + EPS_SPLINE 1.0E-8 + &END + &NONBONDED + &TERSOFF + ATOMS Si Si + A 1.8308E3 + B 4.7118E2 + lambda1 2.4799 + lambda2 1.7322 + alpha 0.00 + beta 1.0999E-6 + n 7.8734E-1 + c 1.0039E5 + d 1.6218E1 + h -5.9826E-1 + lambda3 1.7322 + bigR 2.85 + bigD 0.15 + RCUT 10.0 + &END TERSOFF + &END NONBONDED + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &SUBSYS + &CELL + A 3.850/2 -3.850*${Sqrt3}/2 0 + B 3.850/2 3.850*${Sqrt3}/2 0 + C 0 0 6.366 + MULTIPLE_UNIT_CELL 3 3 3 + PERIODIC XYZ + &END CELL + &TOPOLOGY + MULTIPLE_UNIT_CELL 3 3 3 + CONNECTIVITY OFF + &END TOPOLOGY + &COORD + SCALED + Si 1/3 2/3 0.063 + Si 1/3 2/3 0.437 + Si 2/3 1/3 0.563 + Si 2/3 1/3 0.937 + &END COORD + &PRINT + &ATOMIC_COORDINATES + &END + &CELL + &END + &END + &END SUBSYS + STRESS_TENSOR ANALYTICAL + &PRINT + &STRESS_TENSOR + &END STRESS_TENSOR + &END PRINT +&END FORCE_EVAL +&GLOBAL + PREFERRED_DIAG_LIBRARY ScaLAPACK + PRINT_LEVEL medium + PROJECT Si_direct_cell_opt + RUN_TYPE CELL_OPT +&END GLOBAL +&MOTION + &CELL_OPT + EXTERNAL_PRESSURE [bar] 1.0 + CONSTRAINT none + KEEP_ANGLES no + KEEP_SYMMETRY no + MAX_DR 0.00001 + MAX_FORCE 0.000001 + MAX_ITER 400 + OPTIMIZER BFGS + PRESSURE_TOLERANCE [bar] 10.0 + RMS_DR 0.000003 + RMS_FORCE 0.0000003 + TYPE direct_cell_opt + &BFGS + TRUST_RADIUS 0.1 + USE_MODEL_HESSIAN no + USE_RAT_FUN_OPT on + &END BFGS + &END CELL_OPT + &PRINT + &CELL on + &END CELL + &RESTART on + BACKUP_COPIES 0 + &END RESTART + &RESTART_HISTORY off + &END RESTART_HISTORY + &END PRINT +&END MOTION diff --git a/tests/Fist/regtest-13/Si_nosym_hexagonal_abc.inp b/tests/Fist/regtest-13/Si_nosym_hexagonal_abc.inp new file mode 100644 index 0000000000..88d1a70d08 --- /dev/null +++ b/tests/Fist/regtest-13/Si_nosym_hexagonal_abc.inp @@ -0,0 +1,100 @@ +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + &SPLINE + EPS_SPLINE 1.0E-8 + &END + &NONBONDED + &TERSOFF + ATOMS Si Si + A 1.8308E3 + B 4.7118E2 + lambda1 2.4799 + lambda2 1.7322 + alpha 0.00 + beta 1.0999E-6 + n 7.8734E-1 + c 1.0039E5 + d 1.6218E1 + h -5.9826E-1 + lambda3 1.7322 + bigR 2.85 + bigD 0.15 + RCUT 10.0 + &END TERSOFF + &END NONBONDED + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &SUBSYS + &CELL + ABC 3.850 3.850 6.366 + ANGLES 90.0 90.0 120.0 + MULTIPLE_UNIT_CELL 3 3 3 + PERIODIC XYZ + &END CELL + &TOPOLOGY + MULTIPLE_UNIT_CELL 3 3 3 + CONNECTIVITY OFF + &END TOPOLOGY + &COORD + SCALED + Si 1/3 2/3 0.063 + Si 1/3 2/3 0.437 + Si 2/3 1/3 0.563 + Si 2/3 1/3 0.937 + &END COORD + &PRINT + &ATOMIC_COORDINATES + &END + &CELL + &END + &END + &END SUBSYS + STRESS_TENSOR ANALYTICAL + &PRINT + &STRESS_TENSOR + &END STRESS_TENSOR + &END PRINT +&END FORCE_EVAL +&GLOBAL + PREFERRED_DIAG_LIBRARY ScaLAPACK + PRINT_LEVEL medium + PROJECT Si_direct_cell_opt + RUN_TYPE CELL_OPT +&END GLOBAL +&MOTION + &CELL_OPT + EXTERNAL_PRESSURE [bar] 1.0 + CONSTRAINT none + KEEP_ANGLES no + KEEP_SYMMETRY no + MAX_DR 0.00001 + MAX_FORCE 0.000001 + MAX_ITER 400 + OPTIMIZER BFGS + PRESSURE_TOLERANCE [bar] 10.0 + RMS_DR 0.000003 + RMS_FORCE 0.0000003 + TYPE direct_cell_opt + &BFGS + TRUST_RADIUS 0.1 + USE_MODEL_HESSIAN no + USE_RAT_FUN_OPT on + &END BFGS + &END CELL_OPT + &PRINT + &CELL on + &END CELL + &RESTART on + BACKUP_COPIES 0 + &END RESTART + &RESTART_HISTORY off + &END RESTART_HISTORY + &END PRINT +&END MOTION diff --git a/tests/Fist/regtest-13/Si_sym_hexagonal_gamma_120.inp b/tests/Fist/regtest-13/Si_sym_hexagonal_gamma_120.inp new file mode 100644 index 0000000000..ba74cfe80f --- /dev/null +++ b/tests/Fist/regtest-13/Si_sym_hexagonal_gamma_120.inp @@ -0,0 +1,104 @@ +@SET Sqrt3 1.7320508075688772 + +&FORCE_EVAL + METHOD FIST + &MM + &FORCEFIELD + &SPLINE + EPS_SPLINE 1.0E-8 + &END + &NONBONDED + &TERSOFF + ATOMS Si Si + A 1.8308E3 + B 4.7118E2 + lambda1 2.4799 + lambda2 1.7322 + alpha 0.00 + beta 1.0999E-6 + n 7.8734E-1 + c 1.0039E5 + d 1.6218E1 + h -5.9826E-1 + lambda3 1.7322 + bigR 2.85 + bigD 0.15 + RCUT 10.0 + &END TERSOFF + &END NONBONDED + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &SUBSYS + &CELL + A 3.850/2 -3.850*${Sqrt3}/2 0 + B 3.850/2 3.850*${Sqrt3}/2 0 + C 0 0 6.366 + MULTIPLE_UNIT_CELL 3 3 3 + PERIODIC XYZ + SYMMETRY hexagonal_gamma_120 + &END CELL + &TOPOLOGY + MULTIPLE_UNIT_CELL 3 3 3 + CONNECTIVITY OFF + &END TOPOLOGY + &COORD + SCALED + Si 1/3 2/3 0.063 + Si 1/3 2/3 0.437 + Si 2/3 1/3 0.563 + Si 2/3 1/3 0.937 + &END COORD + &PRINT + &ATOMIC_COORDINATES + &END + &CELL + &END + &END + &END SUBSYS + STRESS_TENSOR ANALYTICAL + &PRINT + &STRESS_TENSOR + &END STRESS_TENSOR + &END PRINT +&END FORCE_EVAL +&GLOBAL + PREFERRED_DIAG_LIBRARY ScaLAPACK + PRINT_LEVEL medium + PROJECT Si_direct_cell_opt + RUN_TYPE CELL_OPT +&END GLOBAL +&MOTION + &CELL_OPT + EXTERNAL_PRESSURE [bar] 1.0 + CONSTRAINT none + KEEP_ANGLES no + KEEP_SYMMETRY no + MAX_DR 0.00001 + MAX_FORCE 0.000001 + MAX_ITER 400 + OPTIMIZER BFGS + PRESSURE_TOLERANCE [bar] 10.0 + RMS_DR 0.000003 + RMS_FORCE 0.0000003 + TYPE direct_cell_opt + &BFGS + TRUST_RADIUS 0.1 + USE_MODEL_HESSIAN no + USE_RAT_FUN_OPT on + &END BFGS + &END CELL_OPT + &PRINT + &CELL on + &END CELL + &RESTART on + BACKUP_COPIES 0 + &END RESTART + &RESTART_HISTORY off + &END RESTART_HISTORY + &END PRINT +&END MOTION diff --git a/tests/Fist/regtest-13/TEST_FILES b/tests/Fist/regtest-13/TEST_FILES index 90526a3271..bfdf064641 100644 --- a/tests/Fist/regtest-13/TEST_FILES +++ b/tests/Fist/regtest-13/TEST_FILES @@ -11,4 +11,7 @@ Pt_1H2O_eam_tersoff.inp 11 1.0E-14 Si_direct_cell_opt.inp 11 1.0E-13 -20.281318879181363 Si_direct_cell_opt_sym.inp 11 1.0E-13 -20.281318879182081 Si_geo_opt_cell_opt.inp 11 1.0E-13 -20.281318879181441 +Si_nosym_hexagonal_abc.inp 11 1.0E-13 -18.375043216682144 +Si_nosym_hexagonal.inp 11 1.0E-13 -18.375043216690411 +Si_sym_hexagonal_gamma_120.inp 11 1.0E-13 -18.375043216681973 #EOF diff --git a/tests/Fist/regtest-opt/TEST_FILES b/tests/Fist/regtest-opt/TEST_FILES index 54f69e38ae..203ea09a63 100644 --- a/tests/Fist/regtest-opt/TEST_FILES +++ b/tests/Fist/regtest-opt/TEST_FILES @@ -41,7 +41,9 @@ cs_cell_opt_lbfgs_geo_opt_lbfgs.inp 11 4e-09 - mc_cs_geo_opt_lbfgs.inp 11 1e-08 -136.663104867266583 # Cell symmetry constraint cell_sym_cubic.inp 11 1e-10 -129.12247913626771 -cell_sym_hexagonal.inp 11 4e-09 -129.05206532770148 +cell_sym_hexagonal_gamma_120.inp 11 4e-09 -129.05206532631195 +cell_sym_hexagonal_gamma_60.inp 11 4e-09 -129.05206533232612 +cell_sym_hexagonal.inp 11 4e-09 -129.05206533232612 cell_sym_monoclinic.inp 11 3e-09 -129.28637033131494 cell_sym_monoclinic_gamma_ab.inp 11 3e-09 -129.23692670296523 cell_sym_none.inp 11 4e-09 -129.28637032411459 diff --git a/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_120.inp b/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_120.inp new file mode 100644 index 0000000000..9db9fe9e58 --- /dev/null +++ b/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_120.inp @@ -0,0 +1,269 @@ +@SET cell_sym hexagonal_gamma_120 + +&GLOBAL + PROJECT cell_sym_${cell_sym} + PRINT_LEVEL low + RUN_TYPE cell_opt +&END GLOBAL + +&MOTION + &CELL_OPT + EXTERNAL_PRESSURE [bar] 0.0 + KEEP_ANGLES no + KEEP_SYMMETRY yes + MAX_DR 0.001 + MAX_FORCE 0.0001 + MAX_ITER 200 + OPTIMIZER LBFGS + PRESSURE_TOLERANCE [bar] 100.0 + RMS_DR 0.0003 + RMS_FORCE 0.00003 + TYPE direct_cell_opt + &END CELL_OPT + &PRINT + &CELL on + &EACH + MD 1 + &END EACH + &END CELL + &RESTART on + ADD_LAST NUMERIC + BACKUP_COPIES 0 + &EACH + MD 1000 + &END EACH + &END RESTART + &RESTART_HISTORY off + &END RESTART_HISTORY + &STRESS off + &EACH + MD 1 + &END EACH + &END STRESS + &STRUCTURE_DATA + POSITION 1..12 + POSITION_SCALED 1..12 + &END STRUCTURE_DATA + &TRAJECTORY + FORMAT xyz + &EACH + GEO_OPT 1 + MD 1 + &END EACH + &END TRAJECTORY + &VELOCITIES off + &EACH + MD 1 + &END EACH + &END VELOCITIES + &END PRINT +&END MOTION + +&FORCE_EVAL + METHOD Fist + STRESS_TENSOR analytical + &MM + &FORCEFIELD + &SHELL O + CORE_CHARGE +0.077 + SHELL_CHARGE -2.077 + MASS_FRACTION 0.1 + SPRING [eV*angstrom^-2] 27.29 + MAX_DISTANCE [angstrom] 0.5 + &END SHELL + &SHELL Zr + CORE_CHARGE +2.65 + SHELL_CHARGE +1.35 + MASS_FRACTION 0.01 + SPRING [eV*angstrom^-2] 169.617 + MAX_DISTANCE [angstrom] 0.5 + &END SHELL + &NONBONDED + &WILLIAMS + ATOMS O O + A [eV] 22764.30 + B [angstrom^-1] 1/0.1490 + C [eV*angstrom^6] 27.890 + RCUT [angstrom] 10.4 + &END WILLIAMS + &WILLIAMS + ATOMS O Zr + A [eV] 985.869 + B [angstrom^-1] 1/0.3760 + C [eV*angstrom^6] 0.0 + RCUT [angstrom] 10.4 + &END WILLIAMS + &WILLIAMS + ATOMS Zr Zr + A [eV] 0.0 + B [angstrom^-1] 0.0 + C [eV*angstrom^6] 0.0 + RCUT [angstrom] 10.4 + &END WILLIAMS + &END NONBONDED + &SPLINE + EMAX_ACCURACY [hartree] 0.02 + EMAX_SPLINE [hartree] 1.0E4 + EPS_SPLINE [hartree] 1.0E-7 + R0_NB [angstrom] 0.1 + &END SPLINE + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE spme + ALPHA [angstrom^-1] 0.35 + GMAX 16 16 16 + &RS_GRID + DISTRIBUTION_TYPE automatic + &END RS_GRID + &END EWALD + &END POISSON + &PRINT + &FF_INFO off + SPLINE_DATA + SPLINE_INFO + &END FF_INFO + &END PRINT + &END MM + &PRINT + &FORCES off + &END FORCES + &GRID_INFORMATION off + &END GRID_INFORMATION + &PROGRAM_RUN_INFO + &EACH + CELL_OPT 1 + GEO_OPT 1 + &END EACH + &END PROGRAM_RUN_INFO + &STRESS_TENSOR + &EACH + GEO_OPT 1 + &END EACH + &END STRESS_TENSOR + &END PRINT + &SUBSYS + &CELL + A 10.33800000 0.00000000 0.00000000 + B 0.00000000 10.46400000 0.00000000 + C -1.71705209 0.00000000 10.54309519 + SYMMETRY ${cell_sym} + &END CELL + &COORD + SCALED + Zr 0.137900 0.020200 0.104450 ZrO2 1 + Zr 0.137900 0.229800 0.354450 ZrO2 1 + Zr 0.362100 0.270200 0.145550 ZrO2 1 + Zr 0.362100 0.479800 0.395550 ZrO2 1 + O 0.034500 0.171000 0.172500 ZrO2 1 + O 0.034500 0.079000 0.422500 ZrO2 1 + O 0.465500 0.421000 0.077500 ZrO2 1 + O 0.465500 0.329000 0.327500 ZrO2 1 + O 0.225500 0.379000 0.239500 ZrO2 1 + O 0.225500 0.371000 0.489500 ZrO2 1 + O 0.274500 0.129000 0.010500 ZrO2 1 + O 0.274500 0.121000 0.260500 ZrO2 1 + Zr 0.137900 0.020200 0.604450 ZrO2 2 + Zr 0.137900 0.229800 0.854450 ZrO2 2 + Zr 0.362100 0.270200 0.645550 ZrO2 2 + Zr 0.362100 0.479800 0.895550 ZrO2 2 + O 0.034500 0.171000 0.672500 ZrO2 2 + O 0.034500 0.079000 0.922500 ZrO2 2 + O 0.465500 0.421000 0.577500 ZrO2 2 + O 0.465500 0.329000 0.827500 ZrO2 2 + O 0.225500 0.379000 0.739500 ZrO2 2 + O 0.225500 0.371000 0.989500 ZrO2 2 + O 0.274500 0.129000 0.510500 ZrO2 2 + O 0.274500 0.121000 0.760500 ZrO2 2 + Zr 0.137900 0.520200 0.104450 ZrO2 3 + Zr 0.137900 0.729800 0.354450 ZrO2 3 + Zr 0.362100 0.770200 0.145550 ZrO2 3 + Zr 0.362100 0.979800 0.395550 ZrO2 3 + O 0.034500 0.671000 0.172500 ZrO2 3 + O 0.034500 0.579000 0.422500 ZrO2 3 + O 0.465500 0.921000 0.077500 ZrO2 3 + O 0.465500 0.829000 0.327500 ZrO2 3 + O 0.225500 0.879000 0.239500 ZrO2 3 + O 0.225500 0.871000 0.489500 ZrO2 3 + O 0.274500 0.629000 0.010500 ZrO2 3 + O 0.274500 0.621000 0.260500 ZrO2 3 + Zr 0.137900 0.520200 0.604450 ZrO2 4 + Zr 0.137900 0.729800 0.854450 ZrO2 4 + Zr 0.362100 0.770200 0.645550 ZrO2 4 + Zr 0.362100 0.979800 0.895550 ZrO2 4 + O 0.034500 0.671000 0.672500 ZrO2 4 + O 0.034500 0.579000 0.922500 ZrO2 4 + O 0.465500 0.921000 0.577500 ZrO2 4 + O 0.465500 0.829000 0.827500 ZrO2 4 + O 0.225500 0.879000 0.739500 ZrO2 4 + O 0.225500 0.871000 0.989500 ZrO2 4 + O 0.274500 0.629000 0.510500 ZrO2 4 + O 0.274500 0.621000 0.760500 ZrO2 4 + Zr 0.637900 0.020200 0.104450 ZrO2 5 + Zr 0.637900 0.229800 0.354450 ZrO2 5 + Zr 0.862100 0.270200 0.145550 ZrO2 5 + Zr 0.862100 0.479800 0.395550 ZrO2 5 + O 0.534500 0.171000 0.172500 ZrO2 5 + O 0.534500 0.079000 0.422500 ZrO2 5 + O 0.965500 0.421000 0.077500 ZrO2 5 + O 0.965500 0.329000 0.327500 ZrO2 5 + O 0.725500 0.379000 0.239500 ZrO2 5 + O 0.725500 0.371000 0.489500 ZrO2 5 + O 0.774500 0.129000 0.010500 ZrO2 5 + O 0.774500 0.121000 0.260500 ZrO2 5 + Zr 0.637900 0.020200 0.604450 ZrO2 6 + Zr 0.637900 0.229800 0.854450 ZrO2 6 + Zr 0.862100 0.270200 0.645550 ZrO2 6 + Zr 0.862100 0.479800 0.895550 ZrO2 6 + O 0.534500 0.171000 0.672500 ZrO2 6 + O 0.534500 0.079000 0.922500 ZrO2 6 + O 0.965500 0.421000 0.577500 ZrO2 6 + O 0.965500 0.329000 0.827500 ZrO2 6 + O 0.725500 0.379000 0.739500 ZrO2 6 + O 0.725500 0.371000 0.989500 ZrO2 6 + O 0.774500 0.129000 0.510500 ZrO2 6 + O 0.774500 0.121000 0.760500 ZrO2 6 + Zr 0.637900 0.520200 0.104450 ZrO2 7 + Zr 0.637900 0.729800 0.354450 ZrO2 7 + Zr 0.862100 0.770200 0.145550 ZrO2 7 + Zr 0.862100 0.979800 0.395550 ZrO2 7 + O 0.534500 0.671000 0.172500 ZrO2 7 + O 0.534500 0.579000 0.422500 ZrO2 7 + O 0.965500 0.921000 0.077500 ZrO2 7 + O 0.965500 0.829000 0.327500 ZrO2 7 + O 0.725500 0.879000 0.239500 ZrO2 7 + O 0.725500 0.871000 0.489500 ZrO2 7 + O 0.774500 0.629000 0.010500 ZrO2 7 + O 0.774500 0.621000 0.260500 ZrO2 7 + Zr 0.637900 0.520200 0.604450 ZrO2 8 + Zr 0.637900 0.729800 0.854450 ZrO2 8 + Zr 0.862100 0.770200 0.645550 ZrO2 8 + Zr 0.862100 0.979800 0.895550 ZrO2 8 + O 0.534500 0.671000 0.672500 ZrO2 8 + O 0.534500 0.579000 0.922500 ZrO2 8 + O 0.965500 0.921000 0.577500 ZrO2 8 + O 0.965500 0.829000 0.827500 ZrO2 8 + O 0.725500 0.879000 0.739500 ZrO2 8 + O 0.725500 0.871000 0.989500 ZrO2 8 + O 0.774500 0.629000 0.510500 ZrO2 8 + O 0.774500 0.621000 0.760500 ZrO2 8 + &END COORD + &PRINT + &ATOMIC_COORDINATES + &END ATOMIC_COORDINATES + &CELL + &END CELL + &KINDS + &END KINDS + &MOLECULES off + &END MOLECULES + &SYMMETRY off + &END SYMMETRY + &END PRINT + &TOPOLOGY + CONNECTIVITY user + DISABLE_EXCLUSION_LISTS + PARA_RES off + &END TOPOLOGY + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_60.inp b/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_60.inp new file mode 100644 index 0000000000..3953207bb2 --- /dev/null +++ b/tests/Fist/regtest-opt/cell_sym_hexagonal_gamma_60.inp @@ -0,0 +1,269 @@ +@SET cell_sym hexagonal_gamma_60 + +&GLOBAL + PROJECT cell_sym_${cell_sym} + PRINT_LEVEL low + RUN_TYPE cell_opt +&END GLOBAL + +&MOTION + &CELL_OPT + EXTERNAL_PRESSURE [bar] 0.0 + KEEP_ANGLES no + KEEP_SYMMETRY yes + MAX_DR 0.001 + MAX_FORCE 0.0001 + MAX_ITER 200 + OPTIMIZER LBFGS + PRESSURE_TOLERANCE [bar] 100.0 + RMS_DR 0.0003 + RMS_FORCE 0.00003 + TYPE direct_cell_opt + &END CELL_OPT + &PRINT + &CELL on + &EACH + MD 1 + &END EACH + &END CELL + &RESTART on + ADD_LAST NUMERIC + BACKUP_COPIES 0 + &EACH + MD 1000 + &END EACH + &END RESTART + &RESTART_HISTORY off + &END RESTART_HISTORY + &STRESS off + &EACH + MD 1 + &END EACH + &END STRESS + &STRUCTURE_DATA + POSITION 1..12 + POSITION_SCALED 1..12 + &END STRUCTURE_DATA + &TRAJECTORY + FORMAT xyz + &EACH + GEO_OPT 1 + MD 1 + &END EACH + &END TRAJECTORY + &VELOCITIES off + &EACH + MD 1 + &END EACH + &END VELOCITIES + &END PRINT +&END MOTION + +&FORCE_EVAL + METHOD Fist + STRESS_TENSOR analytical + &MM + &FORCEFIELD + &SHELL O + CORE_CHARGE +0.077 + SHELL_CHARGE -2.077 + MASS_FRACTION 0.1 + SPRING [eV*angstrom^-2] 27.29 + MAX_DISTANCE [angstrom] 0.5 + &END SHELL + &SHELL Zr + CORE_CHARGE +2.65 + SHELL_CHARGE +1.35 + MASS_FRACTION 0.01 + SPRING [eV*angstrom^-2] 169.617 + MAX_DISTANCE [angstrom] 0.5 + &END SHELL + &NONBONDED + &WILLIAMS + ATOMS O O + A [eV] 22764.30 + B [angstrom^-1] 1/0.1490 + C [eV*angstrom^6] 27.890 + RCUT [angstrom] 10.4 + &END WILLIAMS + &WILLIAMS + ATOMS O Zr + A [eV] 985.869 + B [angstrom^-1] 1/0.3760 + C [eV*angstrom^6] 0.0 + RCUT [angstrom] 10.4 + &END WILLIAMS + &WILLIAMS + ATOMS Zr Zr + A [eV] 0.0 + B [angstrom^-1] 0.0 + C [eV*angstrom^6] 0.0 + RCUT [angstrom] 10.4 + &END WILLIAMS + &END NONBONDED + &SPLINE + EMAX_ACCURACY [hartree] 0.02 + EMAX_SPLINE [hartree] 1.0E4 + EPS_SPLINE [hartree] 1.0E-7 + R0_NB [angstrom] 0.1 + &END SPLINE + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE spme + ALPHA [angstrom^-1] 0.35 + GMAX 16 16 16 + &RS_GRID + DISTRIBUTION_TYPE automatic + &END RS_GRID + &END EWALD + &END POISSON + &PRINT + &FF_INFO off + SPLINE_DATA + SPLINE_INFO + &END FF_INFO + &END PRINT + &END MM + &PRINT + &FORCES off + &END FORCES + &GRID_INFORMATION off + &END GRID_INFORMATION + &PROGRAM_RUN_INFO + &EACH + CELL_OPT 1 + GEO_OPT 1 + &END EACH + &END PROGRAM_RUN_INFO + &STRESS_TENSOR + &EACH + GEO_OPT 1 + &END EACH + &END STRESS_TENSOR + &END PRINT + &SUBSYS + &CELL + A 10.33800000 0.00000000 0.00000000 + B 0.00000000 10.46400000 0.00000000 + C -1.71705209 0.00000000 10.54309519 + SYMMETRY ${cell_sym} + &END CELL + &COORD + SCALED + Zr 0.137900 0.020200 0.104450 ZrO2 1 + Zr 0.137900 0.229800 0.354450 ZrO2 1 + Zr 0.362100 0.270200 0.145550 ZrO2 1 + Zr 0.362100 0.479800 0.395550 ZrO2 1 + O 0.034500 0.171000 0.172500 ZrO2 1 + O 0.034500 0.079000 0.422500 ZrO2 1 + O 0.465500 0.421000 0.077500 ZrO2 1 + O 0.465500 0.329000 0.327500 ZrO2 1 + O 0.225500 0.379000 0.239500 ZrO2 1 + O 0.225500 0.371000 0.489500 ZrO2 1 + O 0.274500 0.129000 0.010500 ZrO2 1 + O 0.274500 0.121000 0.260500 ZrO2 1 + Zr 0.137900 0.020200 0.604450 ZrO2 2 + Zr 0.137900 0.229800 0.854450 ZrO2 2 + Zr 0.362100 0.270200 0.645550 ZrO2 2 + Zr 0.362100 0.479800 0.895550 ZrO2 2 + O 0.034500 0.171000 0.672500 ZrO2 2 + O 0.034500 0.079000 0.922500 ZrO2 2 + O 0.465500 0.421000 0.577500 ZrO2 2 + O 0.465500 0.329000 0.827500 ZrO2 2 + O 0.225500 0.379000 0.739500 ZrO2 2 + O 0.225500 0.371000 0.989500 ZrO2 2 + O 0.274500 0.129000 0.510500 ZrO2 2 + O 0.274500 0.121000 0.760500 ZrO2 2 + Zr 0.137900 0.520200 0.104450 ZrO2 3 + Zr 0.137900 0.729800 0.354450 ZrO2 3 + Zr 0.362100 0.770200 0.145550 ZrO2 3 + Zr 0.362100 0.979800 0.395550 ZrO2 3 + O 0.034500 0.671000 0.172500 ZrO2 3 + O 0.034500 0.579000 0.422500 ZrO2 3 + O 0.465500 0.921000 0.077500 ZrO2 3 + O 0.465500 0.829000 0.327500 ZrO2 3 + O 0.225500 0.879000 0.239500 ZrO2 3 + O 0.225500 0.871000 0.489500 ZrO2 3 + O 0.274500 0.629000 0.010500 ZrO2 3 + O 0.274500 0.621000 0.260500 ZrO2 3 + Zr 0.137900 0.520200 0.604450 ZrO2 4 + Zr 0.137900 0.729800 0.854450 ZrO2 4 + Zr 0.362100 0.770200 0.645550 ZrO2 4 + Zr 0.362100 0.979800 0.895550 ZrO2 4 + O 0.034500 0.671000 0.672500 ZrO2 4 + O 0.034500 0.579000 0.922500 ZrO2 4 + O 0.465500 0.921000 0.577500 ZrO2 4 + O 0.465500 0.829000 0.827500 ZrO2 4 + O 0.225500 0.879000 0.739500 ZrO2 4 + O 0.225500 0.871000 0.989500 ZrO2 4 + O 0.274500 0.629000 0.510500 ZrO2 4 + O 0.274500 0.621000 0.760500 ZrO2 4 + Zr 0.637900 0.020200 0.104450 ZrO2 5 + Zr 0.637900 0.229800 0.354450 ZrO2 5 + Zr 0.862100 0.270200 0.145550 ZrO2 5 + Zr 0.862100 0.479800 0.395550 ZrO2 5 + O 0.534500 0.171000 0.172500 ZrO2 5 + O 0.534500 0.079000 0.422500 ZrO2 5 + O 0.965500 0.421000 0.077500 ZrO2 5 + O 0.965500 0.329000 0.327500 ZrO2 5 + O 0.725500 0.379000 0.239500 ZrO2 5 + O 0.725500 0.371000 0.489500 ZrO2 5 + O 0.774500 0.129000 0.010500 ZrO2 5 + O 0.774500 0.121000 0.260500 ZrO2 5 + Zr 0.637900 0.020200 0.604450 ZrO2 6 + Zr 0.637900 0.229800 0.854450 ZrO2 6 + Zr 0.862100 0.270200 0.645550 ZrO2 6 + Zr 0.862100 0.479800 0.895550 ZrO2 6 + O 0.534500 0.171000 0.672500 ZrO2 6 + O 0.534500 0.079000 0.922500 ZrO2 6 + O 0.965500 0.421000 0.577500 ZrO2 6 + O 0.965500 0.329000 0.827500 ZrO2 6 + O 0.725500 0.379000 0.739500 ZrO2 6 + O 0.725500 0.371000 0.989500 ZrO2 6 + O 0.774500 0.129000 0.510500 ZrO2 6 + O 0.774500 0.121000 0.760500 ZrO2 6 + Zr 0.637900 0.520200 0.104450 ZrO2 7 + Zr 0.637900 0.729800 0.354450 ZrO2 7 + Zr 0.862100 0.770200 0.145550 ZrO2 7 + Zr 0.862100 0.979800 0.395550 ZrO2 7 + O 0.534500 0.671000 0.172500 ZrO2 7 + O 0.534500 0.579000 0.422500 ZrO2 7 + O 0.965500 0.921000 0.077500 ZrO2 7 + O 0.965500 0.829000 0.327500 ZrO2 7 + O 0.725500 0.879000 0.239500 ZrO2 7 + O 0.725500 0.871000 0.489500 ZrO2 7 + O 0.774500 0.629000 0.010500 ZrO2 7 + O 0.774500 0.621000 0.260500 ZrO2 7 + Zr 0.637900 0.520200 0.604450 ZrO2 8 + Zr 0.637900 0.729800 0.854450 ZrO2 8 + Zr 0.862100 0.770200 0.645550 ZrO2 8 + Zr 0.862100 0.979800 0.895550 ZrO2 8 + O 0.534500 0.671000 0.672500 ZrO2 8 + O 0.534500 0.579000 0.922500 ZrO2 8 + O 0.965500 0.921000 0.577500 ZrO2 8 + O 0.965500 0.829000 0.827500 ZrO2 8 + O 0.725500 0.879000 0.739500 ZrO2 8 + O 0.725500 0.871000 0.989500 ZrO2 8 + O 0.774500 0.629000 0.510500 ZrO2 8 + O 0.774500 0.621000 0.760500 ZrO2 8 + &END COORD + &PRINT + &ATOMIC_COORDINATES + &END ATOMIC_COORDINATES + &CELL + &END CELL + &KINDS + &END KINDS + &MOLECULES off + &END MOLECULES + &SYMMETRY off + &END SYMMETRY + &END PRINT + &TOPOLOGY + CONNECTIVITY user + DISABLE_EXCLUSION_LISTS + PARA_RES off + &END TOPOLOGY + &END SUBSYS +&END FORCE_EVAL