CP2K 2.4 (Revision 12889)

input_constants.f90

Go to the documentation of this file.
00001 !-----------------------------------------------------------------------------!
00002 !   CP2K: A general program to perform molecular dynamics simulations         !
00003 !   Copyright (C) 2000 - 2013  CP2K developers group                          !
00004 !-----------------------------------------------------------------------------!
00005 
00006 ! *****************************************************************************
00015 MODULE input_constants
00016   USE f77_blas
00017   USE kinds,                           ONLY: dp
00018 
00019   IMPLICIT NONE
00020   PRIVATE
00021 
00022   ! Tags for development/release versions
00023   INTEGER, PARAMETER, PUBLIC               :: id_development_version=0,
00024                                               id_release_version=1
00025 
00026   ! Program Names
00027   INTEGER, PARAMETER, PUBLIC               :: do_atom=1,
00028                                               do_farming=2,
00029                                               do_test=3,
00030                                               do_cp2k=4,
00031                                               do_optimize_input=5,
00032                                               do_opt_basis=6
00033 
00034   INTEGER, PARAMETER, PUBLIC               :: opt_force_matching=1
00035 
00036   INTEGER, PARAMETER, PUBLIC               :: do_full_density=0,
00037                                               do_spin_density=1
00038 
00039   INTEGER, PARAMETER, PUBLIC               :: do_no_et=0,
00040                                               do_et_ddapc=1,
00041                                               do_et_becke=2
00042   ! Method Names
00043   INTEGER, PARAMETER, PUBLIC               :: do_qs=1,
00044                                               do_fist=2,
00045                                               do_qmmm=4,
00046                                               do_eip=5,
00047                                               do_ep=6,
00048                                               do_mixed=7
00049 
00050   ! QMMM
00051   REAL(KIND=dp), PARAMETER, PUBLIC         :: RADIUS_QMMM_DEFAULT = 0.80_dp, ! Angstrom
00052                                               ALPHA_IMOMM_DEFAULT = 1.38_dp,
00053                                               CHARGE_SCALE_FACTOR = 1.00_dp
00054   ! BAND
00055   INTEGER, PARAMETER, PUBLIC               :: band_md_opt=0,
00056                                               band_diis_opt=1
00057 
00058   INTEGER, PARAMETER, PUBLIC               :: do_band_cartesian=0,
00059                                               do_band_collective=1
00060   ! Weight_types
00061   INTEGER, PARAMETER, PUBLIC               :: weight_type_unit=0,
00062                                               weight_type_mass=1
00063 
00064   ! Blacs type of distribution
00065   INTEGER, PARAMETER, PUBLIC               :: BLACS_GRID_SQUARE = 1,
00066                                               BLACS_GRID_ROW    = 2,
00067                                               BLACS_GRID_COL    = 3
00068 
00069   ! diag methods
00070   INTEGER, PARAMETER, PUBLIC               :: do_diag_syevd = 1,
00071                                               do_diag_syevx = 2
00072   ! initial matrix methods methods
00073   INTEGER, PARAMETER, PUBLIC               :: do_mat_random = 1,
00074                                               do_mat_read = 2
00075 
00076   ! EWALD methods
00077   INTEGER, PARAMETER, PUBLIC               :: do_ewald_none=1,
00078                                               do_ewald_ewald=2,
00079                                               do_ewald_pme=3,
00080                                               do_ewald_spme=4
00081 
00082   INTEGER, PARAMETER, PUBLIC               :: do_constr_none=1,
00083                                               do_constr_atomic=2,
00084                                               do_constr_molec=3
00085 
00086   INTEGER, PARAMETER, PUBLIC               :: do_cell_cp2k=1,
00087                                               do_cell_xsc=2
00088 
00089   INTEGER, PARAMETER, PUBLIC               :: plane_def_atoms=0,
00090                                               plane_def_vec=1
00091 
00092   INTEGER, PARAMETER, PUBLIC               :: rmsd_all=0,
00093                                               rmsd_list=1,
00094                                               rmsd_weightlist=2
00095 
00096   INTEGER, PARAMETER, PUBLIC               :: do_rep_interleaved=0,
00097                                               do_rep_blocked=1
00098 
00099   ! MD Ensemble
00100   INTEGER, PARAMETER, PUBLIC               :: nve_ensemble=1,
00101                                               nvt_ensemble=2,
00102                                               npt_i_ensemble=3,
00103                                               npt_f_ensemble=4,
00104                                               nph_uniaxial_ensemble=5,
00105                                               nph_uniaxial_damped_ensemble=6,
00106                                               nph_ensemble=7,
00107                                               isokin_ensemble=8,
00108                                               reftraj_ensemble=9,
00109                                               langevin_ensemble=10,
00110                                               npe_f_ensemble=11,
00111                                               npe_i_ensemble=12,
00112                                               nvt_adiabatic_ensemble=13
00113 
00114   INTEGER, PARAMETER, PUBLIC               :: do_thermo_same_as_part=100,
00115                                               do_thermo_nose=101,
00116                                               do_thermo_csvr=102,
00117                                               do_thermo_gle=103, 
00118                                               do_thermo_al=104
00119 
00120 
00121   ! Run Types
00122   INTEGER, PARAMETER, PUBLIC               :: none_run=1,
00123                                               energy_run=2,
00124                                               energy_force_run=3,
00125                                               mol_dyn_run=4,
00126                                               geo_opt_run=5,
00127                                               mon_car_run=6,
00128                                               electronic_spectra_run=7,
00129                                               debug_run=8,
00130                                               bsse_run=9,
00131                                               linear_response_run=10,
00132                                               pint_run=11,
00133                                               vib_anal=12,
00134                                               do_band=13,
00135                                               cell_opt_run=14,
00136                                               real_time_propagation=15,
00137                                               ehrenfest=16, 
00138                                               do_tamc=17
00139 
00140   ! Run Types of Atom Code
00141   INTEGER, PARAMETER, PUBLIC               :: atom_no_run=1,
00142                                               atom_energy_run=2,
00143                                               atom_basis_run=3,
00144                                               atom_pseudo_run=4
00145 
00146   ! Integral types in Atom Code
00147   INTEGER, PARAMETER, PUBLIC               :: do_analytic=1,
00148                                               do_semi_analytic=2,
00149                                               do_numeric=3
00150   ! Basis set type for Atom Code
00151   INTEGER, PARAMETER, PUBLIC               :: gaussian=1,
00152                                               geometrical_gto=2,
00153                                               contracted_gto=3,
00154                                               slater=4,
00155                                               numerical=5
00156   ! Method type for Atom Code
00157   INTEGER, PARAMETER, PUBLIC               :: do_rks_atom=1,
00158                                               do_uks_atom=2,
00159                                               do_rhf_atom=3,
00160                                               do_uhf_atom=4,
00161                                               do_rohf_atom=5
00162   ! Relativistic correction for Atom Code
00163   INTEGER, PARAMETER, PUBLIC               :: do_nonrel_atom=100,
00164                                               do_zoramp_atom=101,
00165                                               do_dkh0_atom=110,
00166                                               do_dkh1_atom=111,
00167                                               do_dkh2_atom=112,
00168                                               do_dkh3_atom=113,
00169                                               do_dkh4_atom=114,
00170                                               do_dkh5_atom=115
00171 
00172   ! Pseudopotential type for Atom Code
00173   INTEGER, PARAMETER, PUBLIC               :: no_pseudo=0,
00174                                               gth_pseudo=1
00175   ! BAND
00176   INTEGER, PARAMETER, PUBLIC               :: do_b_neb=0,
00177                                               do_it_neb=1,
00178                                               do_ci_neb=2,
00179                                               do_d_neb=3,
00180                                               do_sm=4,
00181                                               do_eb=5
00182 
00183   INTEGER, PARAMETER, PUBLIC               :: pot_neb_full=0,
00184                                               pot_neb_fe=1,
00185                                               pot_neb_me=2
00186 
00187   INTEGER, PARAMETER, PUBLIC               :: cholesky_off=0,
00188                                               cholesky_reduce=1,
00189                                               cholesky_restore=2,
00190                                               cholesky_inverse=3
00191 
00192   INTEGER, PARAMETER, PUBLIC               :: atomic_guess=1,
00193                                               restart_guess=2,
00194                                               random_guess=3,
00195                                               core_guess=4,
00196                                               densities_guess=5,
00197                                               history_guess=6,
00198                                               no_guess=7,
00199                                               mopac_guess=8,
00200                                               sparse_guess=9
00201 
00202   INTEGER, PARAMETER, PUBLIC               :: pw_interp=1,
00203                                               spline3_nopbc_interp=2,
00204                                               spline3_pbc_interp=3
00205 
00206   INTEGER, PARAMETER, PUBLIC               :: do_gapw_gcs=1,
00207                                               do_gapw_gct=2,
00208                                               do_gapw_log=3
00209 
00210   INTEGER, PARAMETER, PUBLIC               :: do_pwgrid_spherical=1,
00211                                               do_pwgrid_ns_fullspace=2,
00212                                               do_pwgrid_ns_halfspace=3
00213 
00214   INTEGER, PARAMETER, PUBLIC               :: wfi_use_guess_method_nr=0,
00215                                               wfi_use_prev_p_method_nr=1,
00216                                               wfi_use_prev_rho_r_method_nr=2,
00217                                               wfi_linear_wf_method_nr=3,
00218                                               wfi_linear_p_method_nr=4,
00219                                               wfi_linear_ps_method_nr=5,
00220                                               wfi_use_prev_wf_method_nr=6,
00221                                               wfi_ps_method_nr=7,
00222                                               wfi_frozen_method_nr=8,
00223                                               wfi_aspc_nr=9
00224 
00225   INTEGER, PARAMETER, PUBLIC               :: do_method_undef=0,
00226                                               do_method_gapw=1,
00227                                               do_method_gapw_xc=2,
00228                                               do_method_gpw=3,
00229                                               do_method_lripaw=4,
00230                                               do_method_mndo=7,
00231                                               do_method_am1=8,
00232                                               do_method_pm3=9,
00233                                               do_method_pm6=10,
00234                                               do_method_mndod=11,
00235                                               do_method_pdg=12,
00236                                               do_method_rm1=13,
00237                                               do_method_dftb=14,
00238                                               do_method_pchg=15,
00239                                               do_method_pnnl=16,
00240                                               do_method_ofgpw=17,
00241                                               do_method_scptb=18
00242 
00243   INTEGER, PARAMETER, PUBLIC               :: do_ppl_analytic=0,
00244                                               do_ppl_grid=1
00245 
00246   INTEGER, PARAMETER, PUBLIC               :: do_se_IS_kdso=0,
00247                                               do_se_IS_kdso_d=1,
00248                                               do_se_IS_slater=2
00249 
00250   INTEGER, PARAMETER, PUBLIC               :: do_se_lr_none=0,
00251                                               do_se_lr_ewald=1,
00252                                               do_se_lr_ewald_r3=2,
00253                                               do_se_lr_ewald_gks=3
00254 
00255   INTEGER, PARAMETER, PUBLIC               :: rsgrid_distributed=0,
00256                                               rsgrid_replicated=1,
00257                                               rsgrid_automatic=2
00258 
00259   INTEGER, PARAMETER, PUBLIC               :: do_par_atom=0,
00260                                               do_par_grid=1
00261   ! Thermostats
00262   INTEGER, PARAMETER, PUBLIC               :: do_thermo_no_communication=0,
00263                                               do_thermo_communication=1,
00264                                               do_thermo_only_master=2
00265 
00266   ! pint coordinate transformations
00267   INTEGER, PARAMETER, PUBLIC               :: transformation_normal=1,
00268                                               transformation_stage=2
00269 
00270   ! helium pbc unit cell shapes
00271   INTEGER, PARAMETER, PUBLIC               :: helium_cell_shape_none=0,
00272                                               helium_cell_shape_cube=1,
00273                                               helium_cell_shape_octahedron=2
00274 
00275   ! Free Energy methods
00276   INTEGER, PARAMETER, PUBLIC               :: do_fe_meta=0,
00277                                               do_fe_ui=1,
00278                                               do_fe_ac=2
00279 
00280   INTEGER, PARAMETER, PUBLIC               :: do_wall_none=0,
00281                                               do_wall_reflective=1,
00282                                               do_wall_quadratic=2,
00283                                               do_wall_quartic=3,
00284                                               do_wall_gaussian=4
00285 
00286   INTEGER, PARAMETER, PUBLIC               :: do_wall_p=0,
00287                                               do_wall_m=1
00288   ! Output formats
00289   INTEGER, PARAMETER, PUBLIC               :: dump_atomic=1,
00290                                               dump_xmol=2,
00291                                               dump_dcd=3,
00292                                               dump_pdb=4
00293 
00294   INTEGER, PARAMETER, PUBLIC               :: fmt_id_xyz=1,
00295                                               fmt_id_pdb=2
00296 
00297   INTEGER, PARAMETER, PUBLIC               :: do_qmmm_none=0,
00298                                               do_qmmm_coulomb=1,
00299                                               do_qmmm_gauss=2,
00300                                               do_qmmm_swave=3,
00301                                               do_qmmm_link_imomm=1,
00302                                               do_qmmm_link_gho=2,
00303                                               do_qmmm_link_pseudo=3,
00304                                               do_center_none=0,
00305                                               do_center_grid=1,
00306                                               do_qmmm_wall_none=0,
00307                                               do_qmmm_wall_reflective=1,
00308                                               do_qmmm_wall_quadratic=2,
00309                                               do_qmmm_image_calcmatrix=0,
00310                                               do_qmmm_image_iter=1
00311 
00312   INTEGER, PARAMETER, PUBLIC               :: do_fm_mom_conserv_none=0, 
00313                                               do_fm_mom_conserv_equal_f=1, 
00314                                               do_fm_mom_conserv_equal_a=2
00315 
00316   INTEGER, PARAMETER, PUBLIC               :: do_fm_mom_conserv_core=0, 
00317                                               do_fm_mom_conserv_qm=1, 
00318                                               do_fm_mom_conserv_buffer=2
00319 
00320   INTEGER, PARAMETER, PUBLIC               :: do_region_global=0, 
00321                                               do_region_molecule=1,
00322                                               do_region_massive=2,
00323                                               do_region_none=3,
00324                                               do_region_defined=4,
00325                                               do_bondparm_covalent=0,
00326                                               do_bondparm_vdw=1,
00327                                               do_skip_11=0,
00328                                               do_skip_12=1,
00329                                               do_skip_13=2,
00330                                               do_skip_14=3,
00331                                               do_conn_psf=1,
00332                                               do_conn_psf_u=2,
00333                                               do_conn_generate=3,
00334                                               do_conn_off=4,
00335                                               do_conn_mol_set=5,
00336                                               do_conn_g87=6,
00337                                               do_conn_g96=7,
00338                                               do_conn_amb7=8,
00339                                               do_conn_user=9,
00340                                               do_coord_off=0,
00341                                               do_coord_pdb=1,
00342                                               do_coord_xyz=2,
00343                                               do_coord_g96=3,
00344                                               do_coord_crd=4,
00345                                               do_coord_cif=5,
00346                                               do_coord_xtl=6,
00347                                               do_coord_cp2k=7
00348 
00349   INTEGER, PARAMETER, PUBLIC               :: do_ff_undef=0,
00350                                               do_ff_quartic=1,
00351                                               do_ff_g96=2,
00352                                               do_ff_charmm=3,
00353                                               do_ff_harmonic=4,
00354                                               do_ff_g87=5,
00355                                               do_ff_morse=6,
00356                                               do_ff_cubic=7,
00357                                               do_ff_mixed_bend_stretch=8,
00358                                               do_ff_amber=9,
00359                                               do_ff_mm2=10,
00360                                               do_ff_mm3=11,
00361                                               do_ff_mm4=12,
00362                                               do_ff_fues=13
00363 
00364   INTEGER, PARAMETER, PUBLIC               :: do_stress_none=0,
00365                                               do_stress_analytical=1,
00366                                               do_stress_numerical=2,
00367                                               do_stress_diagonal_anal=3,
00368                                               do_stress_diagonal_numer=4
00369 
00370   INTEGER, PARAMETER, PUBLIC               :: do_mc_traditional=0,
00371                                               do_mc_gemc_nvt=1,
00372                                               do_mc_gemc_npt=2,
00373                                               do_mc_virial=3
00374 
00375   INTEGER, PARAMETER, PUBLIC               :: do_multipole_none=-1,
00376                                               do_multipole_charge=0,
00377                                               do_multipole_dipole=1,
00378                                               do_multipole_quadrupole=2
00379 
00380   INTEGER, PARAMETER, PUBLIC               :: do_loc_none=0,
00381                                               do_loc_jacobi=1,
00382                                               do_loc_crazy=2,
00383                                               do_loc_direct=3,
00384                                               do_loc_l1_norm_sd=4
00385 
00386   INTEGER, PARAMETER, PUBLIC               :: do_loc_min=0,
00387                                               do_loc_max=1,
00388                                               op_loc_berry=0,
00389                                               op_loc_boys=1,
00390                                               op_loc_pipek=2,
00391                                               op_loc_l1_norm=3,
00392                                               state_loc_all=0,
00393                                               state_loc_range=1,
00394                                               state_loc_list=2,
00395                                               energy_loc_range=3,
00396                                               state_loc_none=4
00397 
00398   INTEGER, PARAMETER, PUBLIC               :: do_loc_homo=0,
00399                                               do_loc_lumo=1,
00400                                               do_loc_both=2
00401 
00402   INTEGER, PARAMETER, PUBLIC               :: orb_s=0,
00403                                               orb_px=1,
00404                                               orb_py=2,
00405                                               orb_pz=3,
00406                                               orb_dxy=4,
00407                                               orb_dyz=5,
00408                                               orb_dzx=6,
00409                                               orb_dx2=7,
00410                                               orb_dy2=8,
00411                                               orb_dz2=9
00412 
00413   INTEGER, PARAMETER, PUBLIC               :: use_mom_ref_com=0,
00414                                               use_mom_ref_coac=1,
00415                                               use_mom_ref_user=2,
00416                                               use_mom_ref_zero=3
00417 
00418   INTEGER, PARAMETER, PUBLIC               :: current_gauge_r=1,
00419                                               current_gauge_r_and_step_func=2,
00420                                               current_gauge_atom=3,
00421                                               current_orb_center_wannier=1,
00422                                               current_orb_center_common=2,
00423                                               current_orb_center_atom=3,
00424                                               current_orb_center_box=4
00425 
00426   INTEGER, PARAMETER, PUBLIC               :: ot_mini_sd=1,ot_mini_cg=2,ot_mini_diis=3,ot_mini_broyden=4
00427   INTEGER, PARAMETER, PUBLIC               :: ot_algo_taylor_or_diag=1,ot_algo_irac=2
00428   INTEGER, PARAMETER, PUBLIC               :: ot_chol_irac=1,ot_poly_irac=2,ot_lwdn_irac=3
00429   INTEGER, PARAMETER, PUBLIC               :: ls_none=1,ls_2pnt=2,ls_3pnt=3,ls_gold=4,ls_fit=5
00430   INTEGER, PARAMETER, PUBLIC               :: ot_precond_none=0, 
00431                                               ot_precond_full_single=1, 
00432                                               ot_precond_full_kinetic=2, 
00433                                               ot_precond_s_inverse=3, 
00434                                               ot_precond_sparse_diag=4,
00435                                               ot_precond_full_all=5,
00436                                               ot_precond_full_single_inverse=6,
00437                                               ot_precond_sparse_kinetic=7,
00438                                               ot_precond_sparse_kinetic_sainv=8,
00439                                               ot_precond_sparse_inverse=9
00440   INTEGER, PARAMETER, PUBLIC               :: ot_precond_solver_default=1,
00441                                               ot_precond_solver_inv_chol=2,
00442                                               ot_precond_solver_direct=3,
00443                                               ot_precond_solver_sainv=4
00444 
00445   INTEGER, PARAMETER, PUBLIC               :: diag_standard=1,
00446                                               diag_ot=2, diag_block_krylov=3,
00447                                               diag_block_davidson=4
00448 
00449   INTEGER, PUBLIC, PARAMETER               :: default_lbfgs_method_id=1,
00450                                               default_bfgs_method_id=2,
00451                                               default_cg_method_id=3
00452 
00453   INTEGER, PUBLIC, PARAMETER               :: default_minimization_method_id=1,
00454                                               default_ts_method_id=2,
00455                                               default_cell_method_id=3,
00456                                               default_shellcore_method_id=4
00457 
00458   INTEGER, PUBLIC, PARAMETER               :: none_ts_method_id=0,
00459                                               default_dimer_method_id=1
00460 
00461   INTEGER, PUBLIC, PARAMETER               :: do_first_rotation_step=0,
00462                                               do_second_rotation_step=1,
00463                                               do_third_rotation_step=2
00464 
00465   INTEGER, PUBLIC, PARAMETER               :: default_cell_geo_opt_id=0,
00466                                               default_cell_md_id=1,
00467                                               default_cell_direct_id=2
00468 
00469   INTEGER, PARAMETER, PUBLIC               :: add_last_no=0,
00470                                               add_last_numeric=1,
00471                                               add_last_symbolic=2
00472   INTEGER, PARAMETER, PUBLIC               :: silent_print_level=0,
00473                                               low_print_level=1,
00474                                               medium_print_level=2,
00475                                               high_print_level=3,
00476                                               debug_print_level=4
00477 
00478   INTEGER, PARAMETER, PUBLIC               :: xc_rho_no_smooth=0,
00479                                               xc_rho_spline2_smooth=1,
00480                                               xc_rho_spline3_smooth=2,
00481                                               xc_rho_nn10=3,
00482                                               xc_rho_nn50=4
00483   INTEGER, PARAMETER, PUBLIC               :: xc_deriv_pw=0,
00484                                               xc_deriv_spline2=1,
00485                                               xc_deriv_spline3=2,
00486                                               xc_deriv_spline2_smooth=3,
00487                                               xc_deriv_spline3_smooth=4,
00488                                               xc_deriv_nn10_smooth=5,
00489                                               xc_deriv_nn50_smooth=6,
00490                                               xc_deriv_collocate=7
00491   INTEGER, PARAMETER, PUBLIC               :: xc_old_f_routine=0,
00492                                               xc_new_f_routine=1,
00493                                               xc_test_lsd_f_routine=3,
00494                                               xc_debug_new_routine=4
00495   INTEGER, PARAMETER, PUBLIC               :: xc_funct_no_shortcut=0,
00496                                               xc_funct_blyp=1,
00497                                               xc_funct_pade=2,
00498                                               xc_funct_pbe=3,
00499                                               xc_funct_tpss=4,
00500                                               xc_funct_hcth120=5,
00501                                               xc_funct_olyp=6,
00502                                               xc_funct_bp=7,
00503                                               xc_none=8,
00504                                               xc_funct_xwpbe=9,
00505                                               xc_funct_b3lyp=10,
00506                                               xc_funct_pbe0=11
00507   INTEGER, PARAMETER, PUBLIC               :: sic_none=0,
00508                                               sic_mauri_us=1,
00509                                               sic_mauri_spz=2,
00510                                               sic_ad=3,
00511                                               sic_eo=4
00512   INTEGER, PARAMETER, PUBLIC               :: sic_list_all=1,
00513                                               sic_list_unpaired=2
00514   INTEGER, PARAMETER, PUBLIC               :: tddfpt_singlet=0,
00515                                               tddfpt_triplet=1
00516   INTEGER, PARAMETER, PUBLIC               :: tddfpt_lanczos=0,
00517                                               tddfpt_davidson=1
00518   INTEGER, PARAMETER, PUBLIC               :: oe_none=0,
00519                                               oe_lb=1,
00520                                               oe_gllb=2,
00521                                               oe_saop=3,
00522                                               oe_sic=4
00523   INTEGER, PARAMETER, PUBLIC               :: no_excitations=0,
00524                                               tddfpt_excitations=1
00525   INTEGER, PARAMETER, PUBLIC               :: xc_vdw_fun_none=100,
00526                                               xc_vdw_fun_pairpot=101,
00527                                               xc_vdw_fun_nonloc=102
00528   INTEGER, PARAMETER, PUBLIC               :: vdw_pairpot_dftd2=1,
00529                                               vdw_pairpot_dftd3=2
00530   INTEGER, PARAMETER, PUBLIC               :: vdw_nl_DRSLL=1,
00531                                               vdw_nl_LMKLL=2,
00532                                               vdw_nl_RVV10=3
00533 
00534   ! Input constants for relativistic calculations
00535   INTEGER, PARAMETER, PUBLIC               :: rel_none=0,
00536                                               rel_dkh=1
00537   INTEGER, PARAMETER, PUBLIC               :: rel_trans_full=0,
00538                                               rel_trans_molecule=1,
00539                                               rel_trans_atom=2
00540   INTEGER, PARAMETER, PUBLIC               :: rel_pot_full=0,
00541                                               rel_pot_erfc=1
00542 
00543   INTEGER, PARAMETER, PUBLIC               :: do_add=1,
00544                                               do_remove=2
00545 
00546   INTEGER, PARAMETER, PUBLIC               :: no_precond=0,
00547                                               precond_spl3_aint=1,
00548                                               precond_spl3_1=2,
00549                                               precond_spl3_aint2=3,
00550                                               precond_spl3_2=4,
00551                                               precond_spl3_3=5
00552 
00553   INTEGER, PARAMETER, PUBLIC               :: PERIODIC3D = 1000,
00554                                               ANALYTIC2D = 1001,
00555                                               ANALYTIC1D = 1002,
00556                                               ANALYTIC0D = 1003,
00557                                               MT2D = 1101,
00558                                               MT1D = 1102,
00559                                               MT0D = 1103,
00560                                               HOCKNEY2D = 1201,
00561                                               HOCKNEY1D = 1202,
00562                                               HOCKNEY0D = 1203,
00563                                               MULTIPOLE2D = 1301,
00564                                               MULTIPOLE1D = 1302,
00565                                               MULTIPOLE0D = 1303,
00566                                               WAVELET3D = 1400,
00567                                               WAVELET2D = 1401,
00568                                               WAVELET1D = 1402,
00569                                               WAVELET0D = 1403
00570 
00571   INTEGER, PARAMETER, PUBLIC               :: use_none=0,
00572                                               use_periodic = 1,
00573                                               use_analytic = 2,
00574                                               use_mt=3,
00575                                               use_hockney=5,
00576                                               use_multipole=4,
00577                                               use_wavelet=6
00578 
00579   INTEGER, PARAMETER, PUBLIC               :: use_rs_grid=0,
00580                                               use_gs_grid = 1
00581 
00582   INTEGER, PARAMETER, PUBLIC               :: xgga_b88=101,
00583                                               xgga_b88x=102,
00584                                               xgga_pw86=103,
00585                                               xgga_pw91=104,
00586                                               xgga_pbex=105,
00587                                               xgga_revpbe=106,
00588                                               xgga_optx=107,
00589                                               xgga_hcth=108,
00590                                               xgga_tpss=109,
00591                                               xalpha=110,
00592                                               xgga_pbe=111,
00593                                               xgga_opt=112,
00594                                               xgga_ev93=113
00595 
00596   INTEGER, PARAMETER, PUBLIC               :: cgga_lyp=201,
00597                                               c_pade=202,
00598                                               cgga_hcth93=203,
00599                                               cgga_hcth120=204,
00600                                               cgga_hcth147=205,
00601                                               cgga_hcth407=206,
00602                                               cgga_cs1=207,
00603                                               cgga_pw86=208,
00604                                               c_pw92=209,
00605                                               c_pw92dmc=210,
00606                                               c_pw92vmc=211,
00607                                               c_pz=212,
00608                                               c_pzdmc=213,
00609                                               c_pzvmc=214,
00610                                               c_vwn=215,
00611                                               cgga_pbe=216
00612 
00613   INTEGER, PARAMETER, PUBLIC               :: ke_ol1=301,
00614                                               ke_ol2=302,
00615                                               ke_llp=303,
00616                                               ke_pw86=304,
00617                                               ke_pw91=305,
00618                                               ke_lc=306,
00619                                               ke_t92=307,
00620                                               ke_pbe=308,
00621                                               ke_revpbe=309,
00622                                               ke_tf=310,
00623                                               ke_tfw=311
00624 
00625   INTEGER, PARAMETER, PUBLIC               :: pw_orig=209,
00626                                               pw_dmc=210,
00627                                               pw_vmc=211
00628 
00629   INTEGER, PARAMETER, PUBLIC               :: pz_orig=212,
00630                                               pz_dmc=213,
00631                                               pz_vmc=214
00632 
00633   INTEGER, PARAMETER, PUBLIC               :: xc_b97_orig=401,
00634                                               xc_b97_grimme=402
00635 
00636   INTEGER, PARAMETER, PUBLIC               :: use_perd_x=0,
00637                                               use_perd_y=1,
00638                                               use_perd_z=2,
00639                                               use_perd_xy=3,
00640                                               use_perd_xz=4,
00641                                               use_perd_yz=5,
00642                                               use_perd_xyz=6,
00643                                               use_perd_none=7
00644 
00645   INTEGER, PARAMETER, PUBLIC               :: do_clv_geo_center=0,
00646                                               do_clv_fix_point =1,
00647                                               do_clv_xyz       =0,
00648                                               do_clv_x         =1,
00649                                               do_clv_y         =2,
00650                                               do_clv_z         =3,
00651                                               do_clv_xy        =4,
00652                                               do_clv_xz        =5,
00653                                               do_clv_yz        =6
00654 
00655   INTEGER, PARAMETER, PUBLIC               :: xc_pot_energy_none=0,
00656                                               xc_pot_energy_xc_functional=1,
00657                                               xc_pot_energy_sum_eigenvalues=2
00658 
00659   INTEGER, PARAMETER, PUBLIC               :: xc_pot_none = 1000,
00660                                               xc_pot_saop = 1001
00661 
00662   ! X-Ray spectra Calculation
00663   INTEGER, PARAMETER, PUBLIC               :: xas_none=0,
00664                                               xas_tp_hh=1,
00665                                               xas_tp_fh=2,
00666                                               xes_tp_val=3,
00667                                               xas_tp_xhh=4,
00668                                               xas_tp_xfh=5,
00669                                               xas_dscf=6
00670   INTEGER, PARAMETER, PUBLIC               :: xas_1s_type=1,
00671                                               xas_2s_type=2,
00672                                               xas_2p_type=3,
00673                                               xas_3s_type=4,
00674                                               xas_3p_type=5,
00675                                               xas_3d_type=6,
00676                                               xas_4s_type=7,
00677                                               xas_4p_type=8,
00678                                               xas_4d_type=9,
00679                                               xas_4f_type=10
00680   INTEGER, PARAMETER, PUBLIC               :: xas_dip_len=1,
00681                                               xas_dip_vel=2,
00682                                               xas_dip_len2=3
00683   INTEGER, PARAMETER, PUBLIC               :: xas_scf_default=0,
00684                                               xas_scf_general=1
00685 
00686   ! Linear Response for properties
00687   INTEGER, PARAMETER, PUBLIC               :: lr_none=0,
00688                                               lr_chemshift=1,
00689                                               lr_gtensor=2,
00690                                               lr_current=3
00691 
00692   INTEGER, PARAMETER, PUBLIC               :: xc_pbe_orig=11,
00693                                               xc_pbe_rev=12,
00694                                               xc_pbe_sol=13
00695 
00696   ! EIP models
00697   INTEGER, PARAMETER, PUBLIC               :: use_bazant_eip=1, 
00698                                               use_lenosky_eip=2
00699 
00700   ! ddapc restraint forms
00701   INTEGER, PARAMETER, PUBLIC               :: do_ddapc_restraint=773,
00702                                               do_ddapc_constraint=774
00703 
00704   ! outer scf types
00705   INTEGER, PARAMETER, PUBLIC               :: outer_scf_ddapc_constraint=123, 
00706                                               outer_scf_s2_constraint=124,
00707                                               outer_scf_becke_constraint=125, 
00708                                               outer_scf_scp=126, 
00709                                               outer_scf_none=127
00710 
00711   ! outer scf optimizers
00712   INTEGER, PARAMETER, PUBLIC               :: outer_scf_optimizer_sd=1001, 
00713                                               outer_scf_optimizer_diis=1002, 
00714                                               outer_scf_optimizer_none=1003, 
00715                                               outer_scf_optimizer_bisect=1004
00716 
00717   ! s2 restraint forms
00718   INTEGER, PARAMETER, PUBLIC               :: do_s2_restraint=872,
00719                                               do_s2_constraint=873
00720 
00721   ! ROKS schemes
00722   INTEGER, PARAMETER, PUBLIC               :: general_roks   = 1,
00723                                               high_spin_roks = 2
00724 
00725   !VWN xc functional flavours
00726   INTEGER, PARAMETER, PUBLIC               :: do_vwn5=1,
00727                                               do_vwn3=2
00728 
00729   ! mixing of force envs
00730   INTEGER, PARAMETER, PUBLIC               :: mix_linear_combination=701, 
00731                                               mix_minimum=702, 
00732                                               mix_coupled=703, 
00733                                               mix_restrained=704,
00734                                               mix_generic=705,
00735                                               mix_mymix=706
00736 
00737   ! cost models for distribution 2d
00738   INTEGER, PARAMETER, PUBLIC               :: model_block_count=453, 
00739                                               model_block_surface=454, 
00740                                               model_block_lmax=455
00741   ! optimization targets for distribution 2d
00742   INTEGER, PARAMETER, PUBLIC               :: opt_target_minimum=456, 
00743                                               opt_target_median=457
00744 
00745   ! clustering methods
00746   INTEGER, PARAMETER, PUBLIC               :: clustering_none=0, 
00747                                               clustering_box=1, 
00748                                               clustering_h_on_heavier=2, 
00749                                               clustering_small_on_larger=3
00750 
00751   ! HFX potential type
00752   INTEGER, PARAMETER, PUBLIC               :: do_hfx_potential_coulomb=1,
00753                                               do_hfx_potential_short=2,
00754                                               do_hfx_potential_long=3,
00755                                               do_hfx_potential_mix_cl=4,
00756                                               do_hfx_potential_gaussian=5,
00757                                               do_hfx_potential_mix_lg=6,
00758                                               do_hfx_potential_id=7,
00759                                               do_hfx_potential_truncated=8,
00760                                               do_hfx_potential_mix_cl_trunc=9,
00761                                               do_mp2_potential_TShPSC=1009
00762 
00763   ! HFX periodic number of shells
00764   INTEGER, PARAMETER, PUBLIC               :: do_hfx_auto_shells = -1
00765 
00766   ! adiabatic hybrid type
00767   INTEGER, PARAMETER, PUBLIC               :: do_adiabatic_hybrid_mcy3=1
00768 
00769   ! adiabatic model type
00770   INTEGER, PARAMETER, PUBLIC               :: do_adiabatic_model_pade=1
00771 
00772   ! HFX evaluation type
00773   INTEGER, PARAMETER, PUBLIC               :: hfx_do_eval_energy=1,
00774                                               hfx_do_eval_forces=2
00775 
00776   ! mode selctive vibrational analysis
00777   INTEGER, PARAMETER, PUBLIC               :: ms_guess_bfgs=1, 
00778                                               ms_guess_atomic=2, 
00779                                               ms_guess_restart=3,
00780                                               ms_guess_restart_vec=4,
00781                                               ms_guess_molden=5
00782 
00783   ! BASIS SET PARAMETER
00784   ! This parameter identifies basis sets
00785   INTEGER, PARAMETER, PUBLIC               :: use_orb_basis_set=1,
00786                                               use_aux_fit_basis_set=2,
00787                                               use_aux_basis_set=3,
00788                                               use_scp_basis_set=4,
00789                                               use_ri_aux_basis_set=5,
00790                                               use_lri_basis_set=6
00791   ! ADMM PARAMETER
00792   ! This parameter the method to use in order to get an auxiliary density matrix
00793   INTEGER, PARAMETER, PUBLIC               ::  do_admm_basis_set_projection=1,
00794                                                do_admm_block_density_matrix=2
00795 
00796   ! This parameter defines the method to use for the purification
00797   INTEGER, PARAMETER, PUBLIC               :: do_admm_purify_none=1,
00798                                               do_admm_purify_cauchy=2,
00799                                               do_admm_purify_cauchy_subspace=3,
00800                                               do_admm_purify_mo_diag=4,
00801                                               do_admm_purify_mo_no_diag=5
00802   ! This parameter defines which basis to use for blocking
00803   INTEGER, PARAMETER, PUBLIC               :: do_admm_block_aux_basis_off=0,
00804                                               do_admm_block_aux_basis_on=1
00805 
00806   ! This parameter defines whether we purify or not
00807   INTEGER, PARAMETER, PUBLIC               :: do_admm_block_purify_off=0,
00808                                               do_admm_block_purify_full=1,
00809                                               do_admm_block_purify_blocked=2
00810 
00811 
00812   ! Define DFT+U method identifier codes
00813   INTEGER, PARAMETER, PUBLIC               :: plus_u_lowdin=1,
00814                                               plus_u_mulliken=2,
00815                                               plus_u_mulliken_charges=3
00816 
00817   ! Distribution in g-space can be
00818   INTEGER, PARAMETER, PUBLIC               :: do_pw_grid_blocked_false=0,
00819                                               do_pw_grid_blocked_true=1,
00820                                               do_pw_grid_blocked_free=2
00821 
00822   ! Define identifier codes for smearing method
00823 
00824   INTEGER, PARAMETER, PUBLIC               :: smear_energy_window=1,
00825                                               smear_fermi_dirac=2,
00826                                               smear_list=3
00827 
00828   ! Define identifier codes for mixing method
00829 
00830   INTEGER, PARAMETER, PUBLIC               :: no_mix =0,
00831                                               direct_p_mix=1,
00832                                               kerker_mix =2,
00833                                               pulay_mix=3,
00834                                               broy_mix=4,
00835                                               broy_mix_new=5,
00836                                               multisec_mix=6
00837 
00838   ! FFT library
00839   ! these might need sync with fft_lib.F
00840   INTEGER, PARAMETER, PUBLIC               :: do_fft_sg=1,
00841                                               do_fft_fftw3=3,
00842                                               do_fft_cu=8
00843   INTEGER, PARAMETER, PUBLIC               :: fftw_plan_estimate=1, 
00844                                               fftw_plan_measure=2, 
00845                                               fftw_plan_patient=3, 
00846                                               fftw_plan_exhaustive=4
00847 
00848   ! SCP-DFT
00849   INTEGER, PARAMETER, PUBLIC               :: copy_coeff=1,  
00850                                               copy_fcoeff=2
00851   !real time propagation
00852   INTEGER, PARAMETER, PUBLIC               :: do_taylor=1,  
00853                                               do_diag=2,
00854                                               do_pade=3,
00855                                               do_arnoldi=4
00856 
00857   INTEGER, PARAMETER, PUBLIC               :: extr_mos=1,
00858                                               extr_s_ks=2
00859 
00860   INTEGER, PARAMETER, PUBLIC               :: do_etrs=1,
00861                                               do_cn=2,
00862                                               do_em=3
00863 
00864   INTEGER, PARAMETER, PUBLIC               :: use_scf_wfn=1,  
00865                                               use_restart_wfn=2,
00866                                               use_rt_restart=3
00867 
00868   INTEGER, PARAMETER, PUBLIC               :: constant_env=1,  
00869                                               gaussian_env=2, 
00870                                               ramp_env=3
00871 
00872   ! how to solve polarizable force fields
00873   INTEGER, PARAMETER, PUBLIC               :: do_fist_pol_none = 1, 
00874                                               do_fist_pol_sc = 2, 
00875                                               do_fist_pol_cg = 3
00876 
00877   ! some dm_ls_scf parameters
00878   INTEGER, PARAMETER, PUBLIC               :: ls_s_preconditioner_none=7, 
00879                                               ls_s_preconditioner_atomic=13,
00880                                               ls_s_preconditioner_molecular=17
00881 
00882   INTEGER, PARAMETER, PUBLIC               :: ls_cluster_atomic=111, 
00883                                               ls_cluster_molecular=112
00884 
00885   INTEGER, PARAMETER, PUBLIC               :: ls_s_inversion_hotelling=3,
00886                                               ls_s_inversion_sign_sqrt=5
00887   
00888   INTEGER, PARAMETER, PUBLIC               :: ls_scf_ns=17, ls_scf_trs4=18
00889 
00890   INTEGER, PARAMETER, PUBLIC               :: ls_scf_line_search_3point=3,
00891                                               ls_scf_line_search_3point_2d=6
00892 
00893   ! some MP2 parameters
00894   INTEGER, PARAMETER, PUBLIC               :: mp2_method_none=0,
00895                                               mp2_method_laplace=2,
00896                                               mp2_method_direct=4,
00897                                               mp2_method_gpw=6,
00898                                               ri_mp2_method_gpw=7,
00899                                               ri_rpa_method_gpw=8,
00900                                               ri_mp2_laplace=9
00901   ! periodic RESP parameters
00902   INTEGER, PARAMETER, PUBLIC               :: do_resp_x_dir=0,
00903                                               do_resp_y_dir=1,
00904                                               do_resp_z_dir=2, 
00905                                               do_resp_minus_x_dir=3,
00906                                               do_resp_minus_y_dir=4, 
00907                                               do_resp_minus_z_dir=5 
00908 
00909   ! basis optimization parameters
00910   INTEGER, PARAMETER, PUBLIC               :: do_opt_all=0,
00911                                               do_opt_none=1,
00912                                               do_opt_coeff=2,
00913                                               do_opt_exps=3
00914                                             
00915   ! callgraph parameters
00916   INTEGER, PARAMETER, PUBLIC               :: callgraph_none=0,
00917                                               callgraph_master=1,
00918                                               callgraph_all=2 
00919                                             
00920   ! Impose cell symmetry
00921   INTEGER, PARAMETER, PUBLIC               :: cell_sym_none=0,
00922                                               cell_sym_triclinic=1,
00923                                               cell_sym_monoclinic=2,
00924                                               cell_sym_orthorhombic=3,
00925                                               cell_sym_tetragonal_ab=4,
00926                                               cell_sym_tetragonal_ac=5,
00927                                               cell_sym_tetragonal_bc=6,
00928                                               cell_sym_rhombohedral=7,
00929                                               cell_sym_hexagonal=8,
00930                                               cell_sym_cubic=9
00931 
00932 END MODULE input_constants