├── .gitignore
├── Doc
├── INPUT_Environ.def
├── INPUT_Environ.html
├── INPUT_Environ.txt
├── INPUT_Environ.xml
├── JChemPhys_136_064102.pdf
├── Makefile
├── doxy-environ
├── doxygen-README.md
├── release-notes
├── style-guide.md
└── warning_codes.md
├── FFTXlib
├── Makefile
├── README.md
├── fft_buffers.f90
├── fft_error.f90
├── fft_fwinv.f90
├── fft_ggen.f90
├── fft_helper_subroutines.f90
├── fft_interfaces.f90
├── fft_interpolate.f90
├── fft_parallel.f90
├── fft_parallel_2d.f90
├── fft_param.f90
├── fft_scalar.DFTI.f90
├── fft_scalar.ESSL.f90
├── fft_scalar.FFTW3.f90
├── fft_scalar.SX6.f90
├── fft_scalar.cuFFT.f90
├── fft_scalar.f90
├── fft_scatter.f90
├── fft_scatter_2d.f90
├── fft_scatter_2d_gpu.f90
├── fft_scatter_gpu.f90
├── fft_support.f90
├── fft_types.f90
├── mkl_wrapper.f90
├── scatter_mod.f90
├── stick_base.f90
└── tg_gather.f90
├── License
├── Makefile
├── README.md
├── UtilXlib
├── Makefile
├── README.md
├── clocks_handler.f90
├── cptimer.c
├── data_buffer.f90
├── error_handler.f90
├── find_free_unit.f90
├── mp.f90
├── mp_base.f90
├── mp_base_gpu.f90
├── nvtx_wrapper.f90
├── parallel_include.f90
└── util_param.f90
├── configure
├── devtools
└── debugging.f90
├── examples
├── programs
│ ├── descriptors
│ │ ├── Makefile
│ │ ├── environ.in
│ │ ├── medium.cube
│ │ └── small.cube
│ └── from_cube
│ │ ├── Makefile
│ │ ├── density.cube
│ │ ├── surface.in
│ │ ├── volume.in
│ │ └── water.in
└── qe
│ ├── cp
│ ├── README.md
│ ├── run_all.sh
│ └── water
│ │ ├── README
│ │ ├── reference
│ │ ├── h2o_vacuum.out
│ │ ├── h2o_water.out
│ │ └── results.txt
│ │ └── run_example.sh
│ ├── environment.in
│ ├── neb
│ ├── README.md
│ ├── collinear_proton_transfer
│ │ ├── README
│ │ ├── reference
│ │ │ ├── H2+H.out
│ │ │ ├── H2+H_dielectric.out
│ │ │ ├── H2+H_pressure.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ └── run_all.sh
│ ├── pw
│ ├── README.md
│ ├── field_aware
│ │ ├── README
│ │ ├── reference
│ │ │ ├── H2O_solution.out
│ │ │ ├── H2O_vacuum.out
│ │ │ ├── H3O_solution.out
│ │ │ ├── H3O_vacuum.out
│ │ │ ├── HO_solution.out
│ │ │ ├── HO_vacuum.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── helmholtz
│ │ ├── README
│ │ ├── reference
│ │ │ ├── PtCO_helmholtz_vacuum.out
│ │ │ ├── PtCO_helmholtz_water.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── helmholtz_linpb
│ │ ├── README
│ │ ├── reference
│ │ │ ├── Ag100_model-MPB_pbccorr-parabolic_linear-false.out
│ │ │ ├── Ag100_model-PB_pbccorr-gcs_linear-false.out
│ │ │ ├── Ag100_model-PB_pbccorr-gcs_linear-true.out
│ │ │ ├── Ag100_model-PB_pbccorr-parabolic_linear-false.out
│ │ │ ├── Ag100_model-PB_pbccorr-parabolic_linear-true.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── mott_schottky
│ │ ├── README
│ │ ├── reference
│ │ │ ├── Si-ms-carrier-density-1.16.out
│ │ │ ├── Si-ms-carrier-density-1.17.out
│ │ │ ├── Si-ms-carrier-density-1.18.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── ms_gcs
│ │ ├── README
│ │ ├── reference
│ │ │ ├── Si-ms-gcs-0.001.out
│ │ │ └── q-v.dat
│ │ └── run_example.sh
│ ├── pbc
│ │ ├── README
│ │ ├── reference
│ │ │ ├── pyridine_vacuum_martyna-tuckerman.out
│ │ │ ├── pyridine_vacuum_none.out
│ │ │ ├── pyridine_vacuum_pcc.out
│ │ │ ├── pyridine_water_martyna-tuckerman.out
│ │ │ ├── pyridine_water_none.out
│ │ │ ├── pyridine_water_pcc.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── run_all.sh
│ ├── sccs
│ │ ├── README
│ │ ├── reference
│ │ │ ├── h2o_vacuum_direct.out
│ │ │ ├── h2o_water_cg.out
│ │ │ ├── h2o_water_fixed-point.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── slab
│ │ ├── README
│ │ ├── reference
│ │ │ ├── PtCO_vacuum.out
│ │ │ ├── PtCO_water.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ ├── solvent_aware
│ │ ├── README
│ │ ├── reference
│ │ │ ├── H2OCluster_fill_pockets.out
│ │ │ ├── H2OCluster_standard.out
│ │ │ └── results.txt
│ │ └── run_example.sh
│ └── sscs
│ │ ├── README
│ │ ├── reference
│ │ ├── h2o_vacuum.out
│ │ ├── h2o_water.out
│ │ └── results.txt
│ │ └── run_example.sh
│ ├── run_all.sh
│ ├── tddfpt
│ ├── README.md
│ ├── davidson
│ │ ├── README
│ │ ├── plot.ipynb
│ │ ├── reference
│ │ │ ├── CH4_solvent.eigen
│ │ │ ├── CH4_solvent.plot.dat
│ │ │ ├── CH4_solvent.scf.out
│ │ │ ├── CH4_solvent.turbo-davidson.out
│ │ │ ├── CH4_vacuum.eigen
│ │ │ ├── CH4_vacuum.plot.dat
│ │ │ ├── CH4_vacuum.scf.out
│ │ │ └── CH4_vacuum.turbo-davidson.out
│ │ └── run_example.sh
│ ├── lanczos
│ │ ├── README
│ │ ├── plot_S.ipynb
│ │ ├── plot_chi.ipynb
│ │ ├── reference
│ │ │ ├── CH4_solvent.plot_S.dat
│ │ │ ├── CH4_solvent.plot_chi.dat
│ │ │ ├── CH4_solvent.scf.out
│ │ │ ├── CH4_solvent.turbo-lanczos.out
│ │ │ ├── CH4_solvent.turbo-spectrum.out
│ │ │ ├── CH4_vacuum.plot_S.dat
│ │ │ ├── CH4_vacuum.plot_chi.dat
│ │ │ ├── CH4_vacuum.scf.out
│ │ │ ├── CH4_vacuum.turbo-lanczos.out
│ │ │ └── CH4_vacuum.turbo-spectrum.out
│ │ └── run_example.sh
│ └── run_all.sh
│ └── xspectra
│ ├── README.md
│ ├── SiO2
│ ├── plot.ipynb
│ ├── pseudo
│ │ ├── O_PBE_USPP.UPF
│ │ └── Si_PBE_USPP.UPF
│ ├── reference
│ │ ├── Si.wfc
│ │ ├── SiO2.scf.out
│ │ ├── SiO2.xspectra_dip_c.dat
│ │ ├── SiO2.xspectra_dip_c.out
│ │ ├── SiO2.xspectra_dip_plane.dat
│ │ └── SiO2.xspectra_dip_plane.out
│ └── run_example.sh
│ └── run_all.sh
├── install
├── aclocal.m4
├── config.guess
├── config.sub
├── configure
├── configure.ac
├── configure.msg.in
├── install-sh
├── m4
│ ├── ax_check_compile_flag.m4
│ ├── x_ac_env_aix_dflags.m4
│ ├── x_ac_env_ar.m4
│ ├── x_ac_env_arch.m4
│ ├── x_ac_env_blas.m4
│ ├── x_ac_env_cc.m4
│ ├── x_ac_env_cpp.m4
│ ├── x_ac_env_cuda.m4
│ ├── x_ac_env_default_env.m4
│ ├── x_ac_env_f90.m4
│ ├── x_ac_env_f90rule.m4
│ ├── x_ac_env_fft.m4
│ ├── x_ac_env_lapack.m4
│ ├── x_ac_env_ld.m4
│ ├── x_ac_env_mass.m4
│ ├── x_ac_env_mpi.m4
│ ├── x_ac_env_mpif90.m4
│ ├── x_ac_env_openmp.m4
│ ├── x_ac_env_qe.m4
│ ├── x_ac_env_ranlib.m4
│ └── x_ac_env_wget.m4
├── make.inc.in
├── makedeps.sh
├── moduledep.sh
└── refresh-configure.sh
├── notes.txt
├── programs
├── Makefile
├── README.md
├── cmdline_args.f90
├── driver.f90
├── parsers.f90
├── prog_utils.f90
└── programs.f90
├── src
├── Makefile
├── README.md
├── array_ops.f90
├── base_input.f90
├── boundary.f90
├── boundary_electronic.f90
├── boundary_ionic.f90
├── boundary_system.f90
├── boundary_tools.f90
├── calculator.f90
├── cell.f90
├── char_ops.f90
├── charges.f90
├── constants.f90
├── core.f90
├── core_1da.f90
├── core_container.f90
├── core_fft.f90
├── cube.f90
├── density.f90
├── destructor.f90
├── dielectric.f90
├── electrolyte.f90
├── electrolyte_base.f90
├── electrons.f90
├── externals.f90
├── function.f90
├── function_erfc.f90
├── function_gaussian.f90
├── functions.f90
├── gradient.f90
├── hessian.f90
├── input.f90
├── interface.f90
├── io.f90
├── ioncctype.f90
├── ions.f90
├── iontype.f90
├── main.f90
├── make.depend
├── mapping.f90
├── semiconductor.f90
├── semiconductor_base.f90
├── setup.f90
├── solver.f90
├── solver_direct.f90
├── solver_fixedpoint.f90
├── solver_gradient.f90
├── solver_iterative.f90
├── solver_newton.f90
├── solver_setup.f90
├── system.f90
└── tools_math.f90
├── tests
├── Makefile
├── README.md
├── check_pseudo.sh
├── doublecell
│ ├── pw_confine
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=confine-sccs-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=confine-ss-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=confine-system-dblcell.in
│ │ ├── confine-sccs-dblcell.in
│ │ ├── confine-ss-dblcell.in
│ │ ├── confine-system-dblcell.in
│ │ └── pw-dblcell.in
│ ├── pw_dielectric
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-sccs-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-sccs-iter-aux-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-ss-iter-aux-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-sys-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-sys-iter-aux-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-sccs-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-sccs-iter-aux-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-ss-iter-aux-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-sys-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-sys-iter-aux-dblcell.in
│ │ ├── charged-dblcell.in
│ │ ├── dielectric-sccs-default-dblcell.in
│ │ ├── dielectric-sccs-iter-aux-dblcell.in
│ │ ├── dielectric-ss-default-dblcell.in
│ │ ├── dielectric-ss-iter-aux-dblcell.in
│ │ ├── dielectric-sys-default-dblcell.in
│ │ ├── dielectric-sys-iter-aux-dblcell.in
│ │ └── neutral-dblcell.in
│ ├── pw_electrolyte
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lmpb-sccs-stern_full-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lmpb-sccs-stern_ions-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lmpb-ss-stern_full-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lmpb-ss-stern_ions-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lpb-sccs-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=electrolyte-lpb-ss-dblcell.in
│ │ ├── electrolyte-lmpb-sccs-stern_full-dblcell.in
│ │ ├── electrolyte-lmpb-sccs-stern_ions-dblcell.in
│ │ ├── electrolyte-lmpb-ss-stern_full-dblcell.in
│ │ ├── electrolyte-lmpb-ss-stern_ions-dblcell.in
│ │ ├── electrolyte-lpb-sccs-dblcell.in
│ │ ├── electrolyte-lpb-ss-dblcell.in
│ │ └── pw-dblcell.in
│ ├── pw_externals
│ │ ├── benchmark.out.GIT.inp=isolated-dblcell.in.args=externals_0d_vacuum_default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=isolated-dblcell.in.args=externals_2d_dielectric_default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=isolated-dblcell.in.args=externals_2d_vacuum_default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=slab-dblcell.in.args=externals_0d_vacuum_default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=slab-dblcell.in.args=externals_2d_vacuum_default-dblcell.in
│ │ ├── externals_0d_dielectric_default-dblcell.in
│ │ ├── externals_0d_vacuum_default-dblcell.in
│ │ ├── externals_2d_dielectric_default-dblcell.in
│ │ ├── externals_2d_vacuum_default-dblcell.in
│ │ ├── isolated-dblcell.in
│ │ └── slab-dblcell.in
│ ├── pw_mt
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=dielectric-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=isolated-dblcell.in.args=externals_0d_vacuum_default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=dielectric-default-dblcell.in
│ │ ├── charged-dblcell.in
│ │ ├── dielectric-default-dblcell.in
│ │ ├── externals_0d_dielectric_default-dblcell.in
│ │ ├── externals_0d_vacuum_default-dblcell.in
│ │ ├── isolated-dblcell.in
│ │ └── neutral-dblcell.in
│ ├── pw_periodic
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=periodic-dielectric-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=periodic-vacuum-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=periodic-dielectric-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=periodic-vacuum-default-dblcell.in
│ │ ├── charged-dblcell.in
│ │ ├── neutral-dblcell.in
│ │ ├── periodic-dielectric-default-dblcell.in
│ │ └── periodic-vacuum-default-dblcell.in
│ ├── pw_regions
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=insphere-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=outslab-default-dblcell.in
│ │ ├── insphere-default-dblcell.in
│ │ ├── outslab-default-dblcell.in
│ │ └── pw-dblcell.in
│ ├── pw_slab
│ │ ├── benchmark.out.GIT.inp=charged-dblcell.in.args=periodic-vacuum-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=periodic-dielectric-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=periodic-vacuum-default-dblcell.in
│ │ ├── charged-dblcell.in
│ │ ├── neutral-dblcell.in
│ │ ├── periodic-dielectric-default-dblcell.in
│ │ └── periodic-vacuum-default-dblcell.in
│ ├── pw_solvent-aware
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=local-sccs-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=local-ss-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=sa-sccs-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=sa-ss-dblcell.in
│ │ ├── local-sccs-dblcell.in
│ │ ├── local-ss-dblcell.in
│ │ ├── pw-dblcell.in
│ │ ├── sa-sccs-dblcell.in
│ │ └── sa-ss-dblcell.in
│ ├── pw_spin
│ │ ├── benchmark.out.GIT.inp=radical-dblcell.in.args=dielectric-pcc-dblcell.in
│ │ ├── benchmark.out.GIT.inp=radical-dblcell.in.args=vacuum-pcc-dblcell.in
│ │ ├── dielectric-pcc-dblcell.in
│ │ ├── radical-dblcell.in
│ │ └── vacuum-pcc-dblcell.in
│ ├── pw_surface
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=surface-sccs-fft-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=surface-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=surface-ss-fft-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=surface-sys-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=surface-sys-fft-dblcell.in
│ │ ├── pw-dblcell.in
│ │ ├── surface-sccs-fft-dblcell.in
│ │ ├── surface-ss-default-dblcell.in
│ │ ├── surface-ss-fft-dblcell.in
│ │ ├── surface-sys-default-dblcell.in
│ │ └── surface-sys-fft-dblcell.in
│ ├── pw_volume
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=volume-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=pw-dblcell.in.args=volume-sys-default-dblcell.in
│ │ ├── pw-dblcell.in
│ │ ├── volume-ss-default-dblcell.in
│ │ └── volume-sys-default-dblcell.in
│ └── pw_water
│ │ ├── anion-dblcell.in
│ │ ├── benchmark.out.GIT.inp=anion-dblcell.in.args=water-anion-sccs-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=anion-dblcell.in.args=water-anion-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=cation-dblcell.in.args=water-cation-sccs-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=cation-dblcell.in.args=water-cation-ss-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=water-neutral-sccs-default-dblcell.in
│ │ ├── benchmark.out.GIT.inp=neutral-dblcell.in.args=water-neutral-ss-default-dblcell.in
│ │ ├── cation-dblcell.in
│ │ ├── neutral-dblcell.in
│ │ ├── water-anion-sccs-default-dblcell.in
│ │ ├── water-anion-ss-default-dblcell.in
│ │ ├── water-cation-sccs-default-dblcell.in
│ │ ├── water-cation-ss-default-dblcell.in
│ │ ├── water-neutral-sccs-default-dblcell.in
│ │ └── water-neutral-ss-default-dblcell.in
├── environment.in
├── extract-pw.sh
├── jobconfig
├── pw_confine
│ ├── benchmark.out.GIT.inp=pw.in.args=confine-sccs.in
│ ├── benchmark.out.GIT.inp=pw.in.args=confine-ss.in
│ ├── benchmark.out.GIT.inp=pw.in.args=confine-system.in
│ ├── confine-sccs.in
│ ├── confine-ss.in
│ ├── confine-system.in
│ └── pw.in
├── pw_dielectric
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-sccs-default.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-sccs-iter-aux.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-sccs-psd.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-ss-default.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-ss-iter-aux.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-sys-default.in
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-sys-iter-aux.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-sccs-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-sccs-iter-aux.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-sccs-psd.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-ss-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-ss-iter-aux.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-sys-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-sys-iter-aux.in
│ ├── charged.in
│ ├── dielectric-sccs-default.in
│ ├── dielectric-sccs-iter-aux.in
│ ├── dielectric-sccs-psd.in
│ ├── dielectric-ss-default.in
│ ├── dielectric-ss-iter-aux.in
│ ├── dielectric-sys-default.in
│ ├── dielectric-sys-iter-aux.in
│ └── neutral.in
├── pw_electrolyte
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lmpb-sccs-stern_full.in
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lmpb-sccs-stern_ions.in
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lmpb-ss-stern_full.in
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lmpb-ss-stern_ions.in
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lpb-sccs.in
│ ├── benchmark.out.GIT.inp=pw.in.args=electrolyte-lpb-ss.in
│ ├── electrolyte-lmpb-sccs-stern_full.in
│ ├── electrolyte-lmpb-sccs-stern_ions.in
│ ├── electrolyte-lmpb-ss-stern_full.in
│ ├── electrolyte-lmpb-ss-stern_ions.in
│ ├── electrolyte-lpb-sccs.in
│ ├── electrolyte-lpb-ss.in
│ └── pw.in
├── pw_externals
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_0d_dielectric_default.in
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_0d_vacuum_default.in
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_2d_dielectric_default.in
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_2d_vacuum_default.in
│ ├── benchmark.out.GIT.inp=slab.in.args=externals_0d_dielectric_default.in
│ ├── benchmark.out.GIT.inp=slab.in.args=externals_0d_vacuum_default.in
│ ├── benchmark.out.GIT.inp=slab.in.args=externals_2d_dielectric_default.in
│ ├── benchmark.out.GIT.inp=slab.in.args=externals_2d_vacuum_default.in
│ ├── externals_0d_dielectric_default.in
│ ├── externals_0d_vacuum_default.in
│ ├── externals_2d_dielectric_default.in
│ ├── externals_2d_vacuum_default.in
│ ├── isolated.in
│ └── slab.in
├── pw_field-aware
│ ├── benchmark.out.GIT.inp=pw.in.args=fa-ss.in
│ ├── fa-ss.in
│ └── pw.in
├── pw_gcs
│ ├── benchmark.out.GIT.inp=pw.in.args=gcs-solvent.in
│ ├── benchmark.out.GIT.inp=pw.in.args=gcs-vacuum.in
│ ├── gcs-solvent.in
│ ├── gcs-vacuum.in
│ └── pw.in
├── pw_ms
│ ├── .DS_Store
│ ├── benchmark.out.GIT.inp=pw.in.args=ms-solvent.in
│ ├── benchmark.out.GIT.inp=pw.in.args=ms-vacuum.in
│ ├── ms-solvent.in
│ ├── ms-vacuum.in
│ └── pw.in
├── pw_mt
│ ├── benchmark.out.GIT.inp=charged.in.args=dielectric-default.in
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_0d_dielectric_default.in
│ ├── benchmark.out.GIT.inp=isolated.in.args=externals_0d_vacuum_default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=dielectric-default.in
│ ├── charged.in
│ ├── dielectric-default.in
│ ├── externals_0d_dielectric_default.in
│ ├── externals_0d_vacuum_default.in
│ ├── isolated.in
│ └── neutral.in
├── pw_periodic
│ ├── benchmark.out.GIT.inp=charged.in.args=periodic-dielectric-default.in
│ ├── benchmark.out.GIT.inp=charged.in.args=periodic-vacuum-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=periodic-dielectric-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=periodic-vacuum-default.in
│ ├── charged.in
│ ├── neutral.in
│ ├── periodic-dielectric-default.in
│ └── periodic-vacuum-default.in
├── pw_regions
│ ├── benchmark.out.GIT.inp=pw.in.args=insphere-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=outslab-default.in
│ ├── insphere-default.in
│ ├── outslab-default.in
│ └── pw.in
├── pw_slab
│ ├── benchmark.out.GIT.inp=charged.in.args=periodic-dielectric-default.in
│ ├── benchmark.out.GIT.inp=charged.in.args=periodic-vacuum-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=periodic-dielectric-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=periodic-vacuum-default.in
│ ├── charged.in
│ ├── neutral.in
│ ├── periodic-dielectric-default.in
│ └── periodic-vacuum-default.in
├── pw_solvent-aware
│ ├── benchmark.out.GIT.inp=pw.in.args=local-sccs.in
│ ├── benchmark.out.GIT.inp=pw.in.args=local-ss.in
│ ├── benchmark.out.GIT.inp=pw.in.args=sa-sccs.in
│ ├── benchmark.out.GIT.inp=pw.in.args=sa-ss.in
│ ├── local-sccs.in
│ ├── local-ss.in
│ ├── pw.in
│ ├── sa-sccs.in
│ └── sa-ss.in
├── pw_spin
│ ├── benchmark.out.GIT.inp=radical.in.args=dielectric-pcc.in
│ ├── benchmark.out.GIT.inp=radical.in.args=vacuum-pcc.in
│ ├── dielectric-pcc.in
│ ├── radical.in
│ └── vacuum-pcc.in
├── pw_surface
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-sccs-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-sccs-fft.in
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-ss-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-ss-fft.in
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-sys-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=surface-sys-fft.in
│ ├── pw.in
│ ├── surface-sccs-default.in
│ ├── surface-sccs-fft.in
│ ├── surface-ss-default.in
│ ├── surface-ss-fft.in
│ ├── surface-sys-default.in
│ └── surface-sys-fft.in
├── pw_volume
│ ├── benchmark.out.GIT.inp=pw.in.args=volume-sccs-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=volume-ss-default.in
│ ├── benchmark.out.GIT.inp=pw.in.args=volume-sys-default.in
│ ├── pw.in
│ ├── volume-sccs-default.in
│ ├── volume-ss-default.in
│ └── volume-sys-default.in
├── pw_water
│ ├── anion.in
│ ├── benchmark.out.GIT.inp=anion.in.args=water-anion-sccs-default.in
│ ├── benchmark.out.GIT.inp=anion.in.args=water-anion-ss-default.in
│ ├── benchmark.out.GIT.inp=cation.in.args=water-cation-sccs-default.in
│ ├── benchmark.out.GIT.inp=cation.in.args=water-cation-ss-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=water-neutral-sccs-default.in
│ ├── benchmark.out.GIT.inp=neutral.in.args=water-neutral-ss-default.in
│ ├── cation.in
│ ├── neutral.in
│ ├── water-anion-sccs-default.in
│ ├── water-anion-ss-default.in
│ ├── water-cation-sccs-default.in
│ ├── water-cation-ss-default.in
│ ├── water-neutral-sccs-default.in
│ └── water-neutral-ss-default.in
├── run-pw.sh
├── testcode
│ ├── LICENSE
│ ├── README.rst
│ ├── bin
│ │ └── testcode.py
│ ├── docs
│ │ ├── .static
│ │ │ └── dummy_file
│ │ ├── .templates
│ │ │ └── dummy_file
│ │ ├── Makefile
│ │ ├── conf.py
│ │ ├── configuration_files.rst
│ │ ├── index.rst
│ │ ├── installation.rst
│ │ ├── jobconfig.rst
│ │ ├── testcode.py.rst
│ │ ├── userconfig.rst
│ │ └── verification.rst
│ └── lib
│ │ └── testcode2
│ │ ├── __init__.py
│ │ ├── _functools_dummy.py
│ │ ├── ansi.py
│ │ ├── compatibility.py
│ │ ├── config.py
│ │ ├── dir_lock.py
│ │ ├── exceptions.py
│ │ ├── queues.py
│ │ ├── util.py
│ │ ├── validation.py
│ │ └── vcs.py
├── time_diff.sh
└── userconfig.tmp
└── update_libs.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # Configuration files
2 | *.log
3 | *.status
4 | *.msg
5 | *.inc
6 |
7 | # Dependency files
8 | make.depend
9 |
10 | # Compiled Object files
11 | *.slo
12 | *.lo
13 | *.o
14 | *.obj
15 |
16 | # Precompiled Headers
17 | *.gch
18 | *.pch
19 |
20 | # Compiled Dynamic libraries
21 | *.so
22 | *.dylib
23 | *.dll
24 |
25 | # Fortran module files
26 | *.mod
27 | *.smod
28 |
29 | # Fortran linter files
30 | *.i90
31 |
32 | # Compiled Static libraries
33 | *.lai
34 | *.la
35 | *.a
36 | *.lib
37 |
38 | # Executables
39 | *.exe
40 | #*.out
41 | *.app
42 | *.x
43 | tester
44 | !tester/
45 | driver
46 | !driver/
47 |
48 | # Examples
49 | results/
50 | environment
51 |
52 | # Emacs temporary backups
53 | *~
54 |
55 | # Tests
56 | userconfig
57 | test.err.*
58 | test.out.*
59 | tests/*/*.out
60 | *.pyc
61 |
62 | # Documentation files
63 | Doc/html/
64 | Doc/latex/
65 | Doc/INPUT_Environ.html
66 | Doc/INPUT_Environ.xml
67 | Doc/INPUT_Environ.txt
68 | input_xx.xsl
69 | test.sh
70 | .DS_Store
71 | *.99
72 | CRASH
73 |
74 | # Development files/folders
75 | .vscode/
76 | deploy
77 | *.tar.gz
78 | *.zip
79 |
--------------------------------------------------------------------------------
/Doc/JChemPhys_136_064102.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/environ-developers/Environ/18d94213f633b8ba721b61251178feccaa51720f/Doc/JChemPhys_136_064102.pdf
--------------------------------------------------------------------------------
/Doc/Makefile:
--------------------------------------------------------------------------------
1 | include ../make.inc
2 |
3 | HELPDOC=$(QEDIR)/dev-tools/helpdoc
4 |
5 | doc: all
6 | all: defs
7 |
8 | clean:
9 | @ rm -f input_xx.xsl
10 | @ rm -f INPUT_*.html INPUT_*.xml
11 | @ rm -f INPUT_Environ.txt
12 | @ rm -f $(QEDIR)/Doc/INPUT_Environ.*
13 |
14 |
15 | defs: link_input_xx INPUT_Environ.html INPUT_Environ.txt link_on_main_doc
16 |
17 | link_input_xx:
18 | @(if test ! -f input_xx.xsl; then \
19 | (if test -f $(QEDIR)/dev-tools/input_xx.xsl; then \
20 | (ln -sf $(QEDIR)/dev-tools/input_xx.xsl input_xx.xsl) ; \
21 | else \
22 | echo ; \
23 | echo " Sorry, can not find input_xx.xsl html style file !!!" ; \
24 | echo ; \
25 | fi) ; fi)
26 |
27 | INPUT_Environ.html: %.html: %.def
28 | $(HELPDOC) $<
29 | INPUT_Environ.txt: %.txt: %.def
30 | $(HELPDOC) $<
31 |
32 | link_on_main_doc:
33 | -@( cd $(QEDIR)/Doc ; ln -fs ../Environ/Doc/INPUT_Environ.html . ; \
34 | ln -fs ../Environ/Doc/INPUT_Environ.txt . ; \
35 | ln -fs ../Environ/Doc/INPUT_Environ.xml .)
36 |
--------------------------------------------------------------------------------
/Doc/doxygen-README.md:
--------------------------------------------------------------------------------
1 | # DOXYGEN README
2 | #### Notes For Users
3 | Environ uses doxygen to auto-generate documentation. In order to locally generate documentation, one should do the following:
4 |
5 | 1. Download doxygen from the provided [link](http://www.stack.nl/~dimitri/doxygen/download.html). Note that doxygen has a number of prerequisites.
6 | 2. run 'doxygen doxy-environ' from the Environ/Docs (this) folder.
7 | 3. Two folders should be generated, html and latex.
8 | 4. To generate the pdf manual, run make in the latex directory.
9 |
10 | #### Notes For Developers
11 | Doxygen uses a particular commenting scheme for fortran by default. Checkout the documentation which should be provided by the doxygen installation, or alternatively can be accessed from this [link](http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html).
--------------------------------------------------------------------------------
/Doc/warning_codes.md:
--------------------------------------------------------------------------------
1 | # Environ Warning Codes
2 |
3 | 1001. Ignored card
4 |
5 | An unexpected input file card has been ignored. Check input file
6 |
7 |
8 |
9 | 1002. Strange lattice parameter
10 |
11 | Host lattice parameter unusually small
12 |
13 |
14 |
15 | 1003. Missing FFT-grid information
16 |
17 | Environ is missing some information required to establish both the FFT-grid and its parallelization scheme
18 |
19 | - If only a G-vector cutoff value (`gcutm`) is provided, Environ generates its FFT-grid and parallelization stick map
20 | - Alternatively, a user may provide `env_ecut` in the Environ input (`gcutm = env_ecut / pi**2`)
21 | - Note that `env_ecut` is in Rydberg and is equivalent, for example, to Quantum ESPRESSO's `ecutrho`
22 | - If either are provided together with an FFT-grid (`nr`), Environ sets its internal FFT-grid to `nr` and uses `gcutm` for the stick map
23 | - If only `nr` is provided, Environ will derive a conservative overestimate of `gcutm` from `nr` and the lattice (`at`)
24 | - Note that this overestimate may introduce errors. Caution is advised
25 |
26 |
27 |
28 | 1004. Left-handed lattice vectors
29 |
30 |
31 |
32 | 1005. Wrong integral of ERFC function
33 |
34 | Error in numerical integral w.r.t analytic solution exceeds threshold
35 |
36 | Reasons:
37 |
38 | - the grid is too coarse with respect to the spread of the ERFC (or vice-versa)
39 | - consider increasing grid spacing and/or ERFC function spread
40 | - the ERFC function spills over the cell boundary
41 | - consider increasing cell size
42 |
43 |
44 |
45 | 1006. Environ interface is not yet initialized
46 |
47 | This is triggered by a premature attempt to destroy Environ components.
48 |
49 | Reasons:
50 |
51 | - As a plugin, Environ routines may be called out of order due to uncontrollable host routine calls
52 |
--------------------------------------------------------------------------------
/FFTXlib/Makefile:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | # Copyright (C) Quantum ESPRESSO (www.quantum-espresso.org)
5 | #
6 | #----------------------------------------------------------------------------------------
7 | #
8 | # This file is part of Environ version 3.0
9 | #
10 | # Environ 3.0 is free software: you can redistribute it and/or modify
11 | # it under the terms of the GNU General Public License as published by
12 | # the Free Software Foundation, either version 2 of the License, or
13 | # (at your option) any later version.
14 | #
15 | # Environ 3.0 is distributed in the hope that it will be useful,
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | # GNU General Public License for more detail, either the file
19 | # `License' in the root directory of the present distribution, or
20 | # online at .
21 | #
22 | #----------------------------------------------------------------------------------------
23 | #
24 | # Authors: Modified by Edan Bainglass
25 | #
26 | #----------------------------------------------------------------------------------------
27 | #
28 | # Makefile for FFTXlib
29 | #
30 | #----------------------------------------------------------------------------------------
31 |
32 | include ../make.inc
33 |
34 | DFTI = $(findstring DFTI,$(DFLAGS))
35 |
36 | MODFLAGS = $(BASEMOD_FLAGS)
37 |
38 | OBJS = $(patsubst %.f90,%.o,$(filter-out mkl_wrapper.f90,$(wildcard *.f90)))
39 |
40 | all: libsdir libenvfft.a
41 |
42 | libenvfft.a: $(OBJS)
43 | $(AR) $(ARFLAGS) $@ $?
44 | $(RANLIB) $@
45 | @ /bin/mv libenvfft.a ../libs
46 |
47 | fft_scalar.DFTI.o: mkl_wrapper.o
48 |
49 | libsdir:
50 | @ test -d ../libs || mkdir ../libs
51 |
52 | clean:
53 | @ /bin/rm -f *.o *.a *.d *.i *~ *_tmp.f90 *.mod *.L *.i90
54 |
55 | include make.depend
56 |
--------------------------------------------------------------------------------
/FFTXlib/README.md:
--------------------------------------------------------------------------------
1 | # FFTXlib
2 |
3 | Implements real space grid parallelization of FFTs.
4 |
5 | Copied from QE 7.0 - reduced and modified for Environ
6 |
--------------------------------------------------------------------------------
/FFTXlib/fft_param.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) Quantum ESPRESSO group
3 | !
4 | ! This file is distributed under the terms of the
5 | ! GNU General Public License. See the file `License'
6 | ! in the root directory of the present distribution,
7 | ! or http://www.gnu.org/copyleft/gpl.txt .
8 | !
9 | MODULE env_fft_param
10 | use iso_fortran_env, only : stderr=>ERROR_UNIT, stdout=>OUTPUT_UNIT
11 | #if defined(__MPI)
12 | #if defined(__MPI_MODULE)
13 | USE mpi
14 | #else
15 | INCLUDE 'mpif.h'
16 | #endif
17 | #else
18 | INTEGER, PARAMETER :: MPI_COMM_WORLD = 0
19 | INTEGER, PARAMETER :: MPI_COMM_NULL = -1
20 | INTEGER, PARAMETER :: MPI_COMM_SELF = -2
21 | #endif
22 |
23 | INTEGER, PARAMETER :: ndims = 10
24 | !! Number of different FFT tables that the module
25 | !!could keep into memory without reinitialization
26 |
27 | INTEGER, PARAMETER :: nfftx = 2049
28 | !!Max allowed fft dimension
29 |
30 | INTEGER, PARAMETER :: DP = selected_real_kind(14,200)
31 |
32 | REAL(DP), PARAMETER :: eps8 = 1.0E-8_DP
33 |
34 | END MODULE env_fft_param
35 |
--------------------------------------------------------------------------------
/FFTXlib/fft_scalar.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) Quantum ESPRESSO group
3 | !
4 | ! This file is distributed under the terms of the
5 | ! GNU General Public License. See the file `License'
6 | ! in the root directory of the present distribution,
7 | ! or http://www.gnu.org/copyleft/gpl.txt .
8 | !
9 | !--------------------------------------------------------------------------!
10 | ! FFT scalar drivers Module - contains machine-dependent routines for !
11 | ! internal FFTW, FFTW v.3, IBM ESSL, Intel DFTI
12 | ! (both 3d for serial execution and 1d+2d FFTs for parallel execution); !
13 | ! legacy NEC ASL libraries (3d only, no parallel execution) !
14 | ! CUDA FFT for NVidiia GPUs
15 | ! Written by Carlo Cavazzoni, modified by P. Giannozzi, contributions !
16 | ! by Martin Hilgemans, Guido Roma, Pascal Thibaudeau, Stephane Lefranc, !
17 | ! Nicolas Lacorne, Filippo Spiga, Nicola Varini, Jason Wood !
18 | ! Last update Feb 2021
19 | !--------------------------------------------------------------------------!
20 |
21 | !=----------------------------------------------------------------------=!
22 | MODULE env_fft_scalar
23 | !=----------------------------------------------------------------------=!
24 |
25 | USE env_fft_param
26 | #if defined(__FFTW3)
27 | USE env_fft_scalar_fftw3
28 | #elif defined(__DFTI)
29 | USE env_fft_scalar_dfti
30 | #elif defined(__LINUX_ESSL)
31 | USE env_fft_scalar_essl
32 | #elif defined(__SX6)
33 | USE env_fft_scalar_sx6
34 | #else
35 | #error No env_fft_scalar backend selected!
36 | #endif
37 | #if defined(__CUDA)
38 | USE env_fft_scalar_cuFFT
39 | #endif
40 | IMPLICIT NONE
41 | SAVE
42 |
43 | PRIVATE
44 | PUBLIC :: env_cft_1z, env_cft_2xy, env_cfft3d, env_cfft3ds
45 | #if defined(__CUDA)
46 | PUBLIC :: env_cft_1z_gpu, env_cft_2xy_gpu, env_cfft3d_gpu, env_cfft3ds_gpu
47 | #endif
48 |
49 | END MODULE env_fft_scalar
50 |
--------------------------------------------------------------------------------
/FFTXlib/mkl_wrapper.f90:
--------------------------------------------------------------------------------
1 | !----------------------------------------------------------------------------------------
2 | !
3 | ! Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | !
5 | !----------------------------------------------------------------------------------------
6 | !
7 | ! This file is part of Environ version 3.0
8 | !
9 | ! Environ 3.0 is free software: you can redistribute it and/or modify
10 | ! it under the terms of the GNU General Public License as published by
11 | ! the Free Software Foundation, either version 2 of the License, or
12 | ! (at your option) any later version.
13 | !
14 | ! Environ 3.0 is distributed in the hope that it will be useful,
15 | ! but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | ! GNU General Public License for more detail, either the file
18 | ! `License' in the root directory of the present distribution, or
19 | ! online at .
20 | !
21 | !----------------------------------------------------------------------------------------
22 | !
23 | ! Authors: Edan Bainglass (Department of Physics, UNT)
24 | !
25 | !----------------------------------------------------------------------------------------
26 | !>
27 | !!
28 | !----------------------------------------------------------------------------------------
29 | #if defined (__DFTI)
30 | #include "mkl_dfti.f90"
31 | #endif
32 |
--------------------------------------------------------------------------------
/UtilXlib/Makefile:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | # Copyright (C) Quantum ESPRESSO group
5 | #
6 | #----------------------------------------------------------------------------------------
7 | #
8 | # This file is part of Environ version 3.0
9 | #
10 | # Environ 3.0 is free software: you can redistribute it and/or modify
11 | # it under the terms of the GNU General Public License as published by
12 | # the Free Software Foundation, either version 2 of the License, or
13 | # (at your option) any later version.
14 | #
15 | # Environ 3.0 is distributed in the hope that it will be useful,
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | # GNU General Public License for more detail, either the file
19 | # `License' in the root directory of the present distribution, or
20 | # online at .
21 | #
22 | #----------------------------------------------------------------------------------------
23 | #
24 | # Authors: Modified by Edan Bainglass
25 | #
26 | #----------------------------------------------------------------------------------------
27 | #
28 | # Makefile for UtilXlib
29 | #
30 | #----------------------------------------------------------------------------------------
31 |
32 | include ../make.inc
33 |
34 | OBJS = $(patsubst %.f90,%.o,$(wildcard *.f90))
35 |
36 | C_OBJS = cptimer.o
37 |
38 | OBJS += $(C_OBJS)
39 |
40 | all: libsdir libenvutil.a
41 |
42 | libenvutil.a: $(OBJS)
43 | $(AR) $(ARFLAGS) $@ $?
44 | $(RANLIB) $@
45 | @ /bin/mv libenvutil.a ../libs
46 |
47 | libsdir:
48 | @ test -d ../libs || mkdir ../libs
49 |
50 | clean:
51 | @ /bin/rm -f *.o *.a *.d *.i *~ *_tmp.f90 *.mod *.L *.x *.i90
52 |
53 | include make.depend
54 |
--------------------------------------------------------------------------------
/UtilXlib/README.md:
--------------------------------------------------------------------------------
1 | # UtilXlib
2 |
3 | This library implements various basic tasks such as timing, tracing,
4 | optimized memory accesses and an abstraction layer for the MPI subroutines
5 |
6 | Copied from QE 7.0 - reduced and modified for Environ
7 |
--------------------------------------------------------------------------------
/UtilXlib/cptimer.c:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2002-2006 Quantum ESPRESSO group
3 | This file is distributed under the terms of the
4 | GNU General Public License. See the file `License'
5 | in the root directory of the present distribution,
6 | or http://www.gnu.org/copyleft/gpl.txt .
7 | */
8 |
9 | #if defined(_WIN32)
10 | #include
11 | #include
12 | #else
13 | #include
14 | #include
15 | #include
16 | #endif
17 |
18 | #if defined(_WIN32)
19 |
20 | int qe_gettimeofday(struct timeval * tp, struct timezone * tzp)
21 | {
22 | // Note: some broken versions only have 8 trailing zero's, the correct epoch has 9 trailing zero's
23 | // This magic number is the number of 100 nanosecond intervals since January 1, 1601 (UTC)
24 | // until 00:00:00 January 1, 1970
25 | static const uint64_t EPOCH = ((uint64_t) 116444736000000000ULL);
26 |
27 | SYSTEMTIME system_time;
28 | FILETIME file_time;
29 | uint64_t time;
30 |
31 | GetSystemTime( &system_time );
32 | SystemTimeToFileTime( &system_time, &file_time );
33 | time = ((uint64_t)file_time.dwLowDateTime ) ;
34 | time += ((uint64_t)file_time.dwHighDateTime) << 32;
35 |
36 | tp->tv_sec = (long) ((time - EPOCH) / 10000000L);
37 | tp->tv_usec = (long) (system_time.wMilliseconds * 1000);
38 | return 0;
39 | }
40 |
41 | #endif
42 |
43 |
44 | double env_cclock()
45 |
46 | /* Return the second elapsed since Epoch (00:00:00 UTC, January 1, 1970)
47 | */
48 |
49 | {
50 |
51 | struct timeval tmp;
52 | double sec;
53 | #if defined(_WIN32)
54 | qe_gettimeofday( &tmp, (struct timezone *)0 );
55 | #else
56 | gettimeofday( &tmp, (struct timezone *)0 );
57 | #endif
58 | sec = tmp.tv_sec + ((double)tmp.tv_usec)/1000000.0;
59 | return sec;
60 |
61 | }
62 |
63 | double env_scnds ( )
64 |
65 | /* Return the cpu time associated to the current process
66 | */
67 |
68 | {
69 | double sec=0.0;
70 |
71 | #if defined(_WIN32)
72 | // from MSDN docs.
73 | FILETIME ct,et,kt,ut;
74 | union { FILETIME ft; uint64_t ui; } cpu;
75 | if (GetProcessTimes(GetCurrentProcess(),&ct,&et,&kt,&ut)) {
76 | cpu.ft = ut;
77 | sec = cpu.ui * 0.0000001;
78 | }
79 | #else
80 | static struct rusage T;
81 |
82 | getrusage(RUSAGE_SELF, &T);
83 |
84 | sec = ((double)T.ru_utime.tv_sec + ((double)T.ru_utime.tv_usec)/1000000.0);
85 | #endif
86 | return sec;
87 | }
88 |
89 |
--------------------------------------------------------------------------------
/UtilXlib/data_buffer.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) Quantum ESPRESSO group
3 | !
4 | ! This file is distributed under the terms of the
5 | ! GNU General Public License. See the file `License'
6 | ! in the root directory of the present distribution,
7 | ! or http://www.gnu.org/copyleft/gpl.txt .
8 | !
9 | MODULE env_data_buffer
10 | USE env_util_param, ONLY : DP
11 | #ifdef __CUDA
12 | USE cudafor
13 | #endif
14 | !
15 | IMPLICIT NONE
16 | !
17 | REAL(DP), ALLOCATABLE, dimension(:) :: mp_buff_r
18 | INTEGER, ALLOCATABLE, dimension(:) :: mp_buff_i
19 | PUBLIC :: mp_buff_r, mp_buff_i
20 | !
21 | #ifdef __CUDA
22 | REAL(DP), ALLOCATABLE, dimension(:) :: mp_buff_r_d
23 | INTEGER, ALLOCATABLE, dimension(:) :: mp_buff_i_d
24 | ATTRIBUTES( DEVICE ) :: mp_buff_r_d, mp_buff_i_d
25 | PUBLIC :: mp_buff_r_d, mp_buff_i_d
26 | #endif
27 |
28 | END MODULE env_data_buffer
29 |
--------------------------------------------------------------------------------
/UtilXlib/find_free_unit.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) 2002-2009 Quantum ESPRESSO group
3 | ! This file is distributed under the terms of the
4 | ! GNU General Public License. See the file `License'
5 | ! in the root directory of the present distribution,
6 | ! or http://www.gnu.org/copyleft/gpl.txt .
7 | !
8 | !--------------------------------------------------------------------------
9 | FUNCTION env_find_free_unit()
10 | !--------------------------------------------------------------------------
11 | !
12 | IMPLICIT NONE
13 | !
14 | INTEGER :: env_find_free_unit
15 | INTEGER :: iunit
16 | LOGICAL :: opnd
17 | !
18 | !
19 | env_find_free_unit = -1
20 | unit_loop: DO iunit = 99, 1, -1
21 | !
22 | INQUIRE( UNIT = iunit, OPENED = opnd )
23 | !
24 | IF ( .NOT. opnd ) THEN
25 | !
26 | env_find_free_unit = iunit
27 | !
28 | RETURN
29 | !
30 | END IF
31 | !
32 | END DO unit_loop
33 | !
34 | CALL env_infomsg( 'env_find_free_unit()', 'free unit not found ?!?')
35 | !
36 | RETURN
37 | !
38 | END FUNCTION env_find_free_unit
39 | !
40 |
--------------------------------------------------------------------------------
/UtilXlib/parallel_include.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) 2003-2004 Carlo Cavazzoni
3 | ! This file is distributed under the terms of the
4 | ! GNU General Public License. See the file `License'
5 | ! in the root directory of the present distribution,
6 | ! or http://www.gnu.org/copyleft/gpl.txt .
7 | !
8 | !------------------------------------------------------------------------------!
9 | ! SISSA Code Interface -- Carlo Cavazzoni
10 | !------------------------------------------------------------------------------C
11 | MODULE env_parallel_include
12 |
13 | #if defined (__MPI)
14 | !
15 | ! Include file for MPI
16 | !
17 | #if defined (__MPI_MODULE)
18 | USE mpi
19 | #else
20 | INCLUDE 'mpif.h'
21 | #endif
22 | #else
23 | ! dummy world and null communicator
24 | INTEGER, PARAMETER :: MPI_COMM_WORLD = 0
25 | INTEGER, PARAMETER :: MPI_COMM_NULL = -1
26 | INTEGER, PARAMETER :: MPI_COMM_SELF = -2
27 | #endif
28 |
29 | END MODULE env_parallel_include
30 |
--------------------------------------------------------------------------------
/UtilXlib/util_param.f90:
--------------------------------------------------------------------------------
1 | !
2 | ! Copyright (C) Quantum ESPRESSO group
3 | !
4 | ! This file is distributed under the terms of the
5 | ! GNU General Public License. See the file `License'
6 | ! in the root directory of the present distribution,
7 | ! or http://www.gnu.org/copyleft/gpl.txt .
8 | !
9 | !------------------------------------------------------------------------------!
10 | MODULE env_util_param
11 | !------------------------------------------------------------------------------!
12 | !!
13 | !! This module is a duplication of the Modules/kind.f90 one, placed here fore
14 | !! convenience.
15 | !!
16 | USE env_parallel_include
17 | !
18 | CHARACTER(LEN = 5), PARAMETER :: crash_file = 'CRASH'
19 | INTEGER, PARAMETER :: DP = selected_real_kind(14, 200)
20 | INTEGER, PARAMETER :: i8b = selected_int_kind(18)
21 | INTEGER, PARAMETER :: stdout = 6 ! unit connected to standard output
22 | !
23 | REAL(DP), PARAMETER :: eps14 = 1.0E-14_DP
24 | REAL(DP), PARAMETER :: eps16 = 1.0E-16_DP
25 | !
26 | !------------------------------------------------------------------------------!
27 | END MODULE env_util_param
28 | !------------------------------------------------------------------------------!
29 |
--------------------------------------------------------------------------------
/examples/programs/descriptors/Makefile:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | #
5 | #----------------------------------------------------------------------------------------
6 | #
7 | # This file is part of Environ version 3.0
8 | #
9 | # Environ 3.0 is free software: you can redistribute it and/or modify
10 | # it under the terms of the GNU General Public License as published by
11 | # the Free Software Foundation, either version 2 of the License, or
12 | # (at your option) any later version.
13 | #
14 | # Environ 3.0 is distributed in the hope that it will be useful,
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | # GNU General Public License for more detail, either the file
18 | # `License' in the root directory of the present distribution, or
19 | # online at .
20 | #
21 | #----------------------------------------------------------------------------------------
22 | #
23 | # Authors: Edan Bainglass (Department of Physics, UNT)
24 | #
25 | #----------------------------------------------------------------------------------------
26 | #
27 | # Makefile for tester examples
28 | #
29 | #----------------------------------------------------------------------------------------
30 |
31 | ifndef VERBOSE
32 | .SILENT:
33 | endif
34 |
35 | include ../../../make.inc
36 |
37 | PROC = 4
38 |
39 | EXAMPLES = $(subst .cube,,$(wildcard *.cube))
40 |
41 | CMD = $(TOPDIR)/programs/driver -n descriptors -min 1 -max 10 -step 1
42 |
43 | help:
44 | @ echo
45 | @ echo " usage: make run[-parallel] example=[name]"
46 | @ echo
47 | @ echo " available examples = $(EXAMPLES)"
48 | @ echo
49 |
50 | run:
51 | @ if test $(example); then \
52 | if test -f $(example).cube; then \
53 | $(CMD) -c $(example).cube; \
54 | else \
55 | echo; \
56 | echo " $(example) is not a valid example"; \
57 | echo; \
58 | echo " available examples: $(EXAMPLES)"; \
59 | echo; \
60 | fi; \
61 | else \
62 | echo; \
63 | echo " missing example argument"; \
64 | echo; \
65 | fi
66 |
67 | run-parallel:
68 | @ if test $$? = 0; then \
69 | (mpirun -n $(PROC) $(CMD) -c $(example).cube); \
70 | else \
71 | exit; \
72 | fi
73 |
74 | clean:
75 | @ /bin/rm -f fort.* environ.debug CRASH
76 |
--------------------------------------------------------------------------------
/examples/programs/descriptors/environ.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | ! reparamatrization input file
3 | environ_type = 'input'
4 | env_ecut = 10
5 | env_static_permittivity = 78.3D0
6 | env_optical_permittivity = 1.776D0
7 | env_surface_tension = 50.0D0
8 | env_pressure = -0.35D0
9 | no_electrostatics = .TRUE.
10 | !
11 | /
12 | &BOUNDARY
13 | !
14 | solvent_mode = 'ionic'
15 | softness = 0.8D0
16 | alpha = 1.24D0
17 | radius_mode = 'muff'
18 | !
19 | /
20 | &ELECTROSTATIC
21 | !
22 | tol = 1.0d-5
23 | !
24 | /
25 |
26 |
--------------------------------------------------------------------------------
/examples/programs/descriptors/medium.cube:
--------------------------------------------------------------------------------
1 | CUBE file for Alanine dipeptide
2 | No density, just atomic positions and charges
3 | 22 0.000000 0.000000 0.000000
4 | -1 32.167709 0.000000 0.000000
5 | -1 -10.722569 30.328007 0.000000
6 | -1 -10.722569 -15.164002 26.264826
7 | 1 0.158816 3.995615 1.041027 -6.431902
8 | 6 -0.517885 3.921437 1.724873 -7.259947
9 | 1 0.158816 3.373780 1.113086 -7.930622
10 | 1 0.158816 4.849845 1.490323 -7.686215
11 | 6 0.844568 3.783546 2.768972 -7.214974
12 | 8 -0.803132 3.013702 3.322718 -8.087872
13 | 7 -0.587889 4.466055 3.407144 -6.277161
14 | 1 0.384525 4.922781 2.855310 -5.589461
15 | 6 0.047659 4.221150 4.834224 -5.851301
16 | 1 0.116390 4.559681 4.880738 -4.862287
17 | 6 -0.258094 5.079984 5.792737 -6.655024
18 | 1 0.085277 4.916113 6.732649 -6.379781
19 | 1 0.085277 6.138474 5.537592 -6.354527
20 | 1 0.085277 5.010669 5.840010 -7.733360
21 | 6 0.844710 2.684066 5.120272 -5.763640
22 | 8 -0.803132 1.987287 4.253161 -5.154787
23 | 7 -0.587889 2.138016 6.229708 -6.365883
24 | 1 0.384525 2.843847 6.532248 -7.127550
25 | 6 -0.210718 1.117470 6.554511 -6.341784
26 | 1 0.138027 0.839036 6.444105 -5.317050
27 | 1 0.138027 0.837374 7.576886 -6.775254
28 | 1 0.138027 0.516741 5.826325 -6.863611
--------------------------------------------------------------------------------
/examples/programs/descriptors/small.cube:
--------------------------------------------------------------------------------
1 | CUBE FILE GENERATED BY PW.X for water
2 | OUTER LOOP: X, MIDDLE LOOP: Y, INNER LOOP: Z
3 | 3 0.000000 0.000000 0.000000
4 | 1 20.000000 0.000000 0.000000
5 | 1 0.000000 20.000000 0.000000
6 | 1 0.000000 0.000000 20.000000
7 | 8 -1.179454 11.790000 12.050000 11.500000
8 | 1 0.589727 13.450000 11.220000 11.500000
9 | 1 0.589727 10.560000 10.660000 11.500000
--------------------------------------------------------------------------------
/examples/programs/from_cube/Makefile:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | #
5 | #----------------------------------------------------------------------------------------
6 | #
7 | # This file is part of Environ version 3.0
8 | #
9 | # Environ 3.0 is free software: you can redistribute it and/or modify
10 | # it under the terms of the GNU General Public License as published by
11 | # the Free Software Foundation, either version 2 of the License, or
12 | # (at your option) any later version.
13 | #
14 | # Environ 3.0 is distributed in the hope that it will be useful,
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | # GNU General Public License for more detail, either the file
18 | # `License' in the root directory of the present distribution, or
19 | # online at .
20 | #
21 | #----------------------------------------------------------------------------------------
22 | #
23 | # Authors: Edan Bainglass (Department of Physics, UNT)
24 | #
25 | #----------------------------------------------------------------------------------------
26 | #
27 | # Makefile for tester examples
28 | #
29 | #----------------------------------------------------------------------------------------
30 |
31 | ifndef VERBOSE
32 | .SILENT:
33 | endif
34 |
35 | include ../../../make.inc
36 |
37 | PROC = 4
38 |
39 | EXAMPLES = $(subst .in,,$(wildcard *.in))
40 |
41 | CMD = $(TOPDIR)/programs/driver -n from_cube
42 |
43 | help:
44 | @ echo
45 | @ echo " usage: make run[-parallel] example=[name]"
46 | @ echo
47 | @ echo " available examples = $(EXAMPLES)"
48 | @ echo
49 |
50 | run:
51 | @ if test $(example); then \
52 | if test -f $(example).in; then \
53 | $(CMD) -i $(example).in; \
54 | else \
55 | echo; \
56 | echo " $(example) is not a valid example"; \
57 | echo; \
58 | echo " available examples: $(EXAMPLES)"; \
59 | echo; \
60 | fi; \
61 | else \
62 | echo; \
63 | echo " missing example argument"; \
64 | echo; \
65 | fi
66 |
67 | run-parallel:
68 | @ if test $$? = 0; then \
69 | (cd $(example); mpirun -n $(PROC) $(CMD)); \
70 | else \
71 | exit; \
72 | fi
73 |
74 | clean:
75 | @ /bin/rm -f fort.* environ.debug CRASH
76 |
--------------------------------------------------------------------------------
/examples/programs/from_cube/surface.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 |
--------------------------------------------------------------------------------
/examples/programs/from_cube/volume.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 |
--------------------------------------------------------------------------------
/examples/programs/from_cube/water.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water'
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
--------------------------------------------------------------------------------
/examples/qe/cp/README.md:
--------------------------------------------------------------------------------
1 | # Environ CP Examples
2 |
3 | water: cp.x (only for QE-5.3.0 and later versions)
4 |
5 | Calculation of the total solvation free energy of an isolated
6 | molecule including electrostatic/cavitation/PV contributions
7 |
--------------------------------------------------------------------------------
/examples/qe/cp/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | examples=" \
6 | water
7 | "
8 |
9 | for dir in $examples; do
10 | cd "$dir"
11 | ./run_example.sh
12 | cd ../
13 | done
14 |
--------------------------------------------------------------------------------
/examples/qe/cp/water/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use cp.x to calculate the electrostatic solvation energy
3 | and other related solvation quantities for a water molecule in a water solvent.
4 |
5 | The calculation is a damped electron dynamics (thus missing the ionic relaxation),
6 | but in the presence of a continuum dielectric with the shape defined
7 | by the electronic density, according to the model of Fattebert
8 | and Gygi, Int J Quantum Chem 93, 139 (2003), revised by O. Andreussi, I. Dabo
9 | and N. Marzari, J. Chem. Phys. 136, 064102 (2012)
10 |
11 | Note that, for the time being, no PBC correction has been used for the calculations
12 | in vacuum and in the solvent.
13 |
14 | A rough explanation of the different keywords of the solvation model is
15 | in the run_example.sh file.
16 |
--------------------------------------------------------------------------------
/examples/qe/cp/water/reference/results.txt:
--------------------------------------------------------------------------------
1 | Solvation Energy = -6.7080781680 Kcal/mol
2 | Cavitation Energy = 3.4943952000 Kcal/mol
3 | PV Energy = -1.7691552000 Kcal/mol
4 | Electrostatic Energy = -8.4333181680 Kcal/mol
5 |
--------------------------------------------------------------------------------
/examples/qe/neb/README.md:
--------------------------------------------------------------------------------
1 | # Environ NEB Examples
2 |
3 | collinear_proton_transfer: neb.x
4 |
5 | Calculation of the minimum energy path (MEP) of the collinear
6 | proton transfer reaction under pressure
7 |
--------------------------------------------------------------------------------
/examples/qe/neb/collinear_proton_transfer/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use neb.x to run a Nudged Elastic Band (NEB)
3 | calculation with Environ. For details on the NEB portion of the calculation,
4 | see /NEB/examples/example01/README
5 |
--------------------------------------------------------------------------------
/examples/qe/neb/collinear_proton_transfer/reference/results.txt:
--------------------------------------------------------------------------------
1 | in vacuum
2 |
3 | image energy (eV) error (eV/A) frozen
4 |
5 | 1 -49.5016205 0.011780 T
6 | 2 -49.4686369 0.045290 F
7 | 3 -49.3702618 0.042315 F
8 | 4 -49.2973507 0.016834 F
9 | 5 -49.3702672 0.042319 F
10 | 6 -49.4686386 0.045290 F
11 | 7 -49.5016205 0.011742 T
12 |
13 | climbing image = 4
14 |
15 | path length = 5.312 bohr
16 | inter-image distance = 0.885 bohr
17 |
18 | under pressure
19 |
20 | image energy (eV) error (eV/A) frozen
21 |
22 | 1 -47.0222692 0.560379 T
23 | 2 -47.1776440 0.026139 F
24 | 3 -47.2893035 0.024293 F
25 | 4 -47.2883224 0.002446 F
26 | 5 -47.2893036 0.024292 F
27 | 6 -47.1776441 0.026139 F
28 | 7 -47.0222692 0.544496 T
29 |
30 | climbing image = 7
31 |
32 | path length = 5.415 bohr
33 | inter-image distance = 0.903 bohr
34 |
35 | in dielectric
36 |
37 | image energy (eV) error (eV/A) frozen
38 |
39 | 1 -49.5288751 0.032335 T
40 | 2 -49.4779130 0.075483 F
41 | 3 -49.3607553 0.077933 F
42 | 4 -49.3554220 0.089309 F
43 | 5 -49.3610030 0.082806 F
44 | 6 -49.4779184 0.077786 F
45 | 7 -49.5288747 0.032346 T
46 |
47 | climbing image = 4
48 |
49 | path length = 5.286 bohr
50 | inter-image distance = 0.881 bohr
51 |
52 |
--------------------------------------------------------------------------------
/examples/qe/neb/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | examples=" \
6 | collinear_proton_transfer
7 | "
8 |
9 | for dir in $examples; do
10 | cd "$dir"
11 | ./run_example.sh
12 | cd ../
13 | done
14 |
--------------------------------------------------------------------------------
/examples/qe/pw/README.md:
--------------------------------------------------------------------------------
1 | # Environ PW Examples
2 |
3 | sccs: pw.x
4 |
5 | Calculation of total solvation free energy of an isolated molecule
6 | including electrostatic/cavitation/PV contributions. The solvation
7 | cavity is defined according to the revised-SCCS.
8 |
9 | sscs: pw.x
10 |
11 | Same as example01, but the solvation cavity is constructed from
12 | atomic-centered interlocking spheres ("soft-spheres").
13 |
14 | pbc: pw.x
15 |
16 | Use of different periodic boundary correction schemes for charged
17 | isolated systems in vacuum and in solution: Martyna-Tuckerman or
18 | Point-Counter-Charge (parabolic).
19 |
20 | slab: pw.x
21 |
22 | Use of parabolic correction for periodic boundary conditions in
23 | neutral and charged 2D systems (slab).
24 |
25 | helmholtz: pw.x
26 |
27 | Use of external classical charge distribution (planar) to model
28 | Helmholtz layer above a charged 2D system.
29 |
30 | helmholtz_linpb: pw.x
31 |
32 | Same as example05, but the electrolyte counter charge layer is
33 | modeled according to the linearized Poisson-Boltzmann model.
34 |
35 | mott_schottky: pw.x
36 |
37 | Use of a Mott-Schottky counter charge layer to model a charged
38 | slab embedded in a semiconducting region with different defect
39 | densities.
40 |
41 | ms_gcs: pw.x
42 |
43 | Use of ms-gcs correction to model extended semiconductor-solution
44 | interfaces. Outputs the voltage compared to the flatband potential
45 | for a given electrode charge.
46 |
47 | solvent_aware: pw.x
48 |
49 | Use of the solvent-aware interface to prevent the dielectric to
50 | penetrate regions that should remain solvent-free.
51 |
52 | field_aware: pw.x
53 |
54 | Use of the field-aware interface to automatically adjust the
55 | interface for charged solutes.
56 |
--------------------------------------------------------------------------------
/examples/qe/pw/field_aware/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use pw.x to calculate the electrostatic
3 | solvation energy for a water molecule in water using a field-aware
4 | soft sphere interface defined by the electrostatic field at the
5 | interface normal and the atomic positions, according to
6 | M Truscott, O Andreussi, J. Phys. Chem. B 2019, 123, 16, 3513–3524
7 |
8 | The field_aware keyword is required to turn on field-aware effects
9 | and is implemented for the "soft-spheres" interface model
10 | as described in G. Fisicaro, L. Genovese, O. Andreussi, S. Mandal,
11 | N.N. Nair, N. Marzari, and S.Goedecker, J. Chem. Theor. Comput. 13, 3829 (2017).
12 |
13 | Mind that the parabolic correction (or point-countercharge method)
14 | is used for both the calculation in vacuum and in the solvent.
15 |
16 | A rough explanation of the different keywords of the solvation model is
17 | in the run_example.sh file.
18 |
--------------------------------------------------------------------------------
/examples/qe/pw/field_aware/reference/results.txt:
--------------------------------------------------------------------------------
1 | Input = HO
2 | Solvation Energy = -94.4130814512 Kcal/mol
3 | Input = H2O
4 | Solvation Energy = -5.8046546736 Kcal/mol
5 | Input = H3O
6 | Solvation Energy = -92.5801488336 Kcal/mol
7 |
--------------------------------------------------------------------------------
/examples/qe/pw/helmholtz/README:
--------------------------------------------------------------------------------
1 | This example shows how to use pw.x to model a charged slab in the presence of
2 | a fixed, planar and smooth (gaussian profiled) distribution of charge (helmholtz
3 | plane). The example comprises two calculations, with and without a continuum
4 | solvent.
5 |
6 | The calculation is a single SCF calculation of a (unrealistic) two-layer thick
7 | Pt (111) slab with a CO molecule adsorbed on atop position (thanks to Ismaila
8 | Dabo for the starting input of the system in vacuum). The solvent is treated
9 | as a continuum dielectric according to the Self-consistent Continuum Solvation
10 | (SCCS) model of O. Andreussi, I. Dabo and N. Marzari, J. Chem. Phys. 136,
11 | 064102 (2012).
12 |
13 | The artifacts due to the periodic boundary conditions are removed using a
14 | real-space quadratic correction of the electrostatic potential, analogous
15 | to the Point Counter-Charge (PCC) correction scheme (see I. Dabo et al. Phys.
16 | Rev. B 77, 115139 (2008)).
17 |
18 | The method has been coupled to the SCCS model in order to remove periodic
19 | boundary conditions in simulations of partially periodic systems in the
20 | presence of a continuum solvent, as described by O. Andreussi and N. Marzari
21 | Phys. Rev. B 90 245101 (2014).
22 |
23 | Note that the keyword solvent_mode='full' is mandatory in this calculation, in
24 | order to remove the artifact of the Pt valence density, which presents a hole
25 | close to the position of ion, due to the missing core electrons. In order to
26 | avoid the continuum solvent to enter such a hole, a quickly vanishing gaussian
27 | density is added at the position of the nuclei when defining the dielectric.
28 | The same problem is likely to occur in alogens and other transition metals.
29 |
30 | From ENVIRON version 1.0 the Fermi energy shift that arises from the gaussian
31 | nuclei smearing together with the parabolic pbc correction is printed as a
32 | separate contribution that needs to be added to the standard Fermi energy
33 | from pw.x.
34 |
35 | A rough explanation of the different keywords of the solvation model is inside
36 | the run_example.sh file.
37 |
--------------------------------------------------------------------------------
/examples/qe/pw/helmholtz/reference/results.txt:
--------------------------------------------------------------------------------
1 | Energy in vacuum = -734.62350609 Ry
2 | Energy in solution = -735.32740590 Ry
3 | Electrostatic Solvation Energy = -220.7992924008 Kcal/mol
4 |
5 | Fermi energy in vacuum = -26.0884 eV + -0.4600 eV = -26.5484 eV
6 | Fermi energy in solution = -6.4331 eV + -0.4600 eV = -6.8931 eV
7 |
--------------------------------------------------------------------------------
/examples/qe/pw/helmholtz_linpb/reference/results.txt:
--------------------------------------------------------------------------------
1 | PB model (linearized)
2 | 2D-analytic solution : potential = -(-4.8329 + -0.5949) V = 5.4278 V (abs. scale)
3 | numerical solution : potential = -(-4.8393 + -0.5949) V = 5.4342 V (abs. scale)
4 |
5 | PB model
6 | 2D-analytic solution : potential = -(-4.7378 + -0.5949) V = 5.3327 V (abs. scale)
7 | numerical solution : potential = -(-4.7410 + -0.5949) V = 5.3359 V (abs. scale)
8 |
9 | MPB model
10 | numerical solution : potential = -(-4.8570 + -0.5949) V = 5.4519 V (abs. scale)
11 |
12 |
--------------------------------------------------------------------------------
/examples/qe/pw/mott_schottky/README:
--------------------------------------------------------------------------------
1 | This example shows how to use pw.x to model a charged slab embedded in a semiconductor.
2 | In particular, the electrical diffuse layer is
3 | modeled as a classical charge distribution, as obtained from the solution of
4 | the Poisson-Boltzmann equation under Mott-Schottky (MS) condidtions.
5 |
6 | The calculation is a single SCF calculation of a Si slab. The surrounding
7 | semiconductor is treated as a continuum dielectric according to the Self-consistent
8 | Continuum Solvation (SCCS) model of O. Andreussi, I. Dabo and N. Marzari,
9 | J. Chem. Phys. 136, 064102 (2012).
10 |
11 | The example compares different doping densities as
12 | described in XX.
13 | The following doping densities are considered here:
14 | 1D.16, 1D.17, 1D.18 cm^-3
15 |
16 | As the doping density increases less distance and potential drop is needed
17 | to compensate the high charge region of the explicit slab.
18 |
19 | A planar error-function-shaped 2D function is employed
20 | to define the semiconductor cavity.
21 |
22 | Only open boundary conditions are allowed for the calculations including the
23 | electrolyte. The real-space quadratic correction of the electrostatic
24 | potential (pbc_correcton='parabolic', see I. Dabo et al. Phys. Rev. B 77,
25 | 115139 (2008)) is required. The method has been coupled to the SCCS model
26 | in order to remove PBC in simulations of partially periodic systems in the
27 | presence of a continuum solvent, as described by O. Andreussi and N. Marzari
28 | Phys. Rev. B 90 245101 (2014).
29 |
30 | A rough explanation of the different electrolyte-related keywords is provided
31 | in the run_example.sh file.
32 |
--------------------------------------------------------------------------------
/examples/qe/pw/mott_schottky/reference/results.txt:
--------------------------------------------------------------------------------
1 | 1.16 cm^-3 potential = -26.2339 V (abs. scale)
2 | 1.17 cm^-3 potential = -8.0032 V (abs. scale)
3 | 1.18 cm^-3 potential = -6.1803 V (abs. scale)
4 |
--------------------------------------------------------------------------------
/examples/qe/pw/ms_gcs/README:
--------------------------------------------------------------------------------
1 | This example shows how to use pw.x to model a charged semiconductor electrode
2 | in contact with a solution.
3 |
4 |
5 | In particular, the algorithm tries to determine the voltage for a given electrode
6 | away from the flatband potential as a function of charge on the electrode.
7 | The algorithm is trying to optimize the charge distribution between the surface states
8 | of the system (modeled here as the DFT slab) and the bulk semiconductor
9 | which is modeled using a Mott-Schottky solution to the Poisson-Boltzmann equation.
10 |
11 | See
12 | Q. Campbell, D. Fisher, I. Dabo, Phys. Rev. Mater. 3 (1), 015404 (2019).
13 | and
14 | Q. Campbell and I. Dabo, Phys. Rev. B 95 (20), 205308 (2017).
15 |
16 | for full details.
17 |
18 | In practice, the callculation runs similarly to an ionic relaxation, where multiple scf
19 | cycles are run, each step trying to optimize the charge distribution between the two
20 | regions such that the Fermi levels are close to equilibrium.
21 |
22 | The surrounding solution is treated as a continuum dielectric according to the Self-consistent
23 | Continuum Solvation (SCCS) model of O. Andreussi, I. Dabo and N. Marzari,
24 | J. Chem. Phys. 136, 064102 (2012).
25 |
26 |
27 | Only open boundary conditions are allowed for the calculations including the
28 | electrolyte. The real-space quadratic correction of the electrostatic
29 | potential (see I. Dabo et al. Phys. Rev. B 77,
30 | 115139 (2008)) is used. The method has been coupled to the SCCS model
31 | in order to remove PBC in simulations of partially periodic systems in the
32 | presence of a continuum solvent, as described by O. Andreussi and N. Marzari
33 | Phys. Rev. B 90 245101 (2014).
34 |
35 | A rough explanation of the different semiconductor-related keywords is provided
36 | in the run_example.sh file.
37 |
--------------------------------------------------------------------------------
/examples/qe/pw/ms_gcs/reference/q-v.dat:
--------------------------------------------------------------------------------
1 | Potential (V-V_fb) Surface State Potential (V-V_cut) Electrode Charge (e) Surface States Charge (e) Electrode Charge per Surface Area (e/cm^2) Surface State Charge per Surface Area (e/cm^2)
2 | 0.22935020 -0.00022085 0.00100000 0.00006358 6.68760E+11 4.25168E+10
3 |
--------------------------------------------------------------------------------
/examples/qe/pw/pbc/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use pw.x to simulate isolated charged systems in
3 | vacuum or immersed in a continuum dielectric solvent.
4 |
5 | Two calculations, one in vacuum and one in a continuum dielectric with the
6 | dielectric permittivity of water, are performed on a pyridine cation, using
7 | three different periodic-boundary correction schemes, for a total of six
8 | calculations.
9 |
10 | To keep the calculations simple, only the electrostatic interaction with the
11 | solvent is introduced in the calculation, via the Self-consistent continuum
12 | solvation (SCCS) model of O. Andreussi, I. Dabo and N. Marzari, J. Chem. Phys.
13 | 136 064102 (2012).
14 |
15 | The periodic-boundary correction schemes adopted are:
16 |
17 | - none: fully periodic calculation
18 | - martyna-tuckerman: self-consistent, reciprocal-space correction of the
19 | electrostatic potential. REQUIRES A CELL AT LEAST TWICE AS BIG
20 | AS THE SIZE OF THE SYSTEM UNDER STUDY. A part from the limitation
21 | on the cell size, this correction scheme gives perfect accuracy
22 | at an almost negligible computational cost.
23 | - pcc: self-consistent, real-space quadratic correction of the electrostatic
24 | potentials, see I. Dabo et al. Phys. Rev. B 77, 115139 (2008).
25 | REQUIRES A CUBIC CELL. The error vs system size scales as L^-5.
26 |
27 | Note that from ENVIRON version 1.0, the makov-payne correction scheme is
28 | no longer supported.
29 |
30 | The extension of the above approaches to simulations in a continuum dielectric
31 | is described in details in O. Andreussi and N. Marzari, Phys. Rev. B 90 245101 (2014).
32 |
--------------------------------------------------------------------------------
/examples/qe/pw/pbc/reference/results.txt:
--------------------------------------------------------------------------------
1 | Periodic boundary correction scheme = none
2 | Electrostatic Energy in vacuum = -83.46869912 Ry
3 | Electrostatic Energy in solution = -83.57883254 Ry
4 | Electrostatic Solvation Energy = -34.5466511856 Kcal/mol
5 |
6 | Periodic boundary correction scheme = martyna-tuckerman
7 | Electrostatic Energy in vacuum = -83.36597494 Ry
8 | Electrostatic Energy in solution = -83.57043258 Ry
9 | Electrostatic Solvation Energy = -64.1342725152 Kcal/mol
10 |
11 | Periodic boundary correction scheme = pcc
12 | Electrostatic Energy in vacuum = -83.36578225 Ry
13 | Electrostatic Energy in solution = -83.57042904 Ry
14 | Electrostatic Solvation Energy = -64.1936050872 Kcal/mol
15 |
16 |
--------------------------------------------------------------------------------
/examples/qe/pw/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | examples=" \
6 | sccs \
7 | sscs \
8 | pbc \
9 | slab \
10 | helmholtz \
11 | helmholtz_linpb \
12 | mott_schottky \
13 | ms_gcs \
14 | solvent_aware \
15 | field_aware \
16 | "
17 |
18 | for dir in $examples; do
19 | cd "$dir"
20 | ./run_example.sh
21 | cd ../
22 | done
23 |
--------------------------------------------------------------------------------
/examples/qe/pw/sccs/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use pw.x to calculate the solvation energy
3 | and other related solvation quantities for a water molecule in a water solvent.
4 |
5 | The calculation is a standard geometry relaxation calculation,
6 | but in the presence of a continuum dielectric with the shape defined
7 | by the electronic density, according to the model of Fattebert
8 | and Gygi, Int J Quantum Chem 93, 139 (2003), revised by O. Andreussi, I. Dabo
9 | and N. Marzari, J. Chem. Phys. 136, 064102 (2012)
10 |
11 | Mind that the parabolic correction (or point-countercharge method)
12 | is used for both the calculation in vacuum and in the solvent.
13 |
14 | Additional terms of solvation can be computed by changing the specific keywords:
15 | -- env_surface_tension: surface tension of the solvent. If different from zero,
16 | a cavitation energy is computed according to a revised version of the formula in
17 | Scherlis et al. JCP 124, 074103, 2006 and Andreussi et al. J. Chem. Phys. 2012.
18 | -- env_pressure: external pressure of the medium. If different from zero, a PV
19 | energy term is added to the total energy, according to the method in
20 | Cococcioni et al. PRL 94, 145501, 2005.
21 |
22 | Two calculations illustrate how the self consistent dielectric can be
23 | equivalently obtained either through an iterative procedure that solves
24 | for the polarization charge density or a preconditioned conjugate gradient
25 | algorithm that solves for the polarization potential (now the default,
26 | see G. Fisicaro, L. Genovese, O. Andreussi, N. Marzari and S. Goedecker,
27 | J. Chem. Phys. 144, 014103 (2016))
28 |
29 | A rough explanation of the different keywords of the solvation model is
30 | in the run_example.sh file.
31 |
--------------------------------------------------------------------------------
/examples/qe/pw/sccs/reference/results.txt:
--------------------------------------------------------------------------------
1 | Solver = fixed-point
2 | Solvation Energy = -6.7579156464 Kcal/mol
3 | Cavitation Energy = 3.4855149192 Kcal/mol
4 | PV Energy = -1.7643778536 Kcal/mol
5 | Electrostatic Energy = -8.4790527120 Kcal/mol
6 |
7 | Solver = cg
8 | Solvation Energy = -6.7587218040 Kcal/mol
9 | Cavitation Energy = 3.4855149192 Kcal/mol
10 | PV Energy = -1.7643747168 Kcal/mol
11 | Electrostatic Energy = -8.4798620064 Kcal/mol
12 |
13 |
--------------------------------------------------------------------------------
/examples/qe/pw/slab/README:
--------------------------------------------------------------------------------
1 | This example shows how to use pw.x to model two-dimensional periodic systems
2 | in contact with a continuum solvent.
3 |
4 | The calculation is a single SCF calculation of a (unrealistic) two-layer thick
5 | Pt (111) slab with a CO molecule adsorbed on atop position (thanks to Ismaila
6 | Dabo for the starting input of the system in vacuum). The solvent is treated
7 | as a continuum dielectric according to the Self-consistent Continuum Solvation
8 | (SCCS) model of O. Andreussi, I. Dabo and N. Marzari, J. Chem. Phys. 136,
9 | 064102 (2012).
10 |
11 | The artifacts due to the periodic boundary conditions are removed using a
12 | real-space quadratic correction of the electrostatic potential, analogous
13 | to the Point Counter-Charge (PCC) correction scheme (see I. Dabo et al. Phys.
14 | Rev. B 77, 115139 (2008)).
15 |
16 | The method has been coupled to the SCCS model in order to remove periodic
17 | boundary conditions in simulations of partially periodic systems in the
18 | presence of a continuum solvent, as described by O. Andreussi and N. marzari
19 | Phys. Rev. B 90 245101 (2014).
20 |
21 | Note that the keyword solvent_mode='full' is mandatory in this calculation, in
22 | order to remove the artifact of the Pt valence density, which presents a hole
23 | close to the position of ion, due to the missing core electrons. In order to
24 | avoid the continuum solvent to enter such a hole, a quickly vanishing gaussian
25 | density is added at the position of the nuclei when defining the dielectric.
26 | The same problem is likely to occur in alogens and other transition metals.
27 |
28 | From ENVIRON version 1.0 the Fermi energy shift that arises from the gaussian
29 | nuclei smearing together with the parabolic pbc correction is printed as a
30 | separate contribution that needs to be added to the standard Fermi energy
31 | from pw.x.
32 |
33 | A rough explanation of the different keywords of the solvation model is inside
34 | the run_example.sh file.
35 |
--------------------------------------------------------------------------------
/examples/qe/pw/slab/reference/results.txt:
--------------------------------------------------------------------------------
1 | Energy in vacuum = -735.31878434 Ry
2 | Energy in solution = -735.33616801 Ry
3 | Electrostatic Solvation Energy = -5.4529096056 Kcal/mol
4 |
5 | Fermi energy in vacuum = -6.4792 eV + -0.4600 eV = -6.9392 eV
6 | Fermi energy in solution = -6.1851 eV + -0.4600 eV = -6.6451 eV
7 |
--------------------------------------------------------------------------------
/examples/qe/pw/solvent_aware/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use pw.x to calculate the energy of a water
3 | cluster (thanks to Nicolas Hörmann for the structure) using a
4 | solvent-aware interface, as described in O. Andreussi, N.G. Hörmann,
5 | F. Nattino, G. Fisicaro, S. Goedecker, and N. Marzari, J. Chem. Theory
6 | Comput. 15, 1996 (2019).
7 |
8 | This feature is particularly useful to model branched/open/porous
9 | systems, where pockets that are too small to fit a solvent molecule
10 | should remain dielectric-free.
11 |
12 | Two calculations are carried out. The first calculation includes
13 | a standard interface between the quantum mechanical and the continuum
14 | region, such that the dielectric unphysically fills the small pocket
15 | in between the water molecules. The second calculation models instead a
16 | solvent-aware interface, which prevents the dielectric continuum to
17 | enter the central 'hole' of the cluster.
18 |
19 | A rough explanation of the different solvent-aware related keywords
20 | is provided in the run_example.sh file.
21 |
--------------------------------------------------------------------------------
/examples/qe/pw/solvent_aware/reference/results.txt:
--------------------------------------------------------------------------------
1 | Energy in vacuum = -343.09440071 Ry
2 | Energy in solution = -343.09618764 Ry
3 | Electrostatic Solvation Energy = -.5605242024 Kcal/mol
4 |
--------------------------------------------------------------------------------
/examples/qe/pw/sscs/README:
--------------------------------------------------------------------------------
1 |
2 | Same as example01, but the cavity that separates the quantum mechanical from the
3 | continuum region is constructed using interlocking spheres centered on the nuclei
4 | ("soft-spheres") as described in G. Fisicaro, L. Genovese, O. Andreussi, S. Mandal,
5 | N.N. Nair, N. Marzari, and S.Goedecker, J. Chem. Theor. Comput. 13, 3829 (2017).
6 |
7 | Mind that the parabolic correction (or point-countercharge method)
8 | is used for both the calculation in vacuum and in the solvent.
9 |
10 | A rough explanation of the keywords that are related to the soft-spheres
11 | solvation model is provided in the run_example.sh file.
12 |
--------------------------------------------------------------------------------
/examples/qe/pw/sscs/reference/results.txt:
--------------------------------------------------------------------------------
1 | Solvation Energy = -5.7862228368 Kcal/mol
2 | Cavitation Energy = 4.2114770904 Kcal/mol
3 | PV Energy = -2.0996233536 Kcal/mol
4 | Electrostatic Energy = -7.8980765736 Kcal/mol
5 |
--------------------------------------------------------------------------------
/examples/qe/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | for dir in pw neb xspectra tddfpt cp; do
6 | cd "$dir"
7 | ./run_all.sh
8 | cd ../
9 | done
10 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/README.md:
--------------------------------------------------------------------------------
1 | # Environ TDDFPT Examples
2 |
3 | lanczos: pw.x turbo_lanczos.x
4 |
5 | Calculation of the optical spectrum of a molecule in vacuum and
6 | in solution (only dielectric)
7 |
8 | davidson: pw.x turbo_davidson.x
9 |
10 | Calculation of the optical spectrum of a molecule in vacuum and
11 | in solution (only dielectric)
--------------------------------------------------------------------------------
/examples/qe/tddfpt/davidson/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use the pw.x and turbo_davidson.x codes
3 | to calculate the absorption spectrum of the CH4 molecule in water
4 | using a fully self-consistent dielectric defined on the electronic density
5 | and using the Davidson algorithm within the time-dependent density
6 | functional perturbation theory according to
7 | I. Timrov, O. Andreussi, A. Biancardi, N. Marzari, and S. Baroni, J. Chem. Phys. 142, 034111 (2015).
8 |
9 | The description of the keywords for the turbo_davidson.x code
10 | can be found in TDDFPT/Doc of the Quantum ESPRESSO package.
11 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/davidson/reference/CH4_solvent.eigen:
--------------------------------------------------------------------------------
1 | # Energy(Ry) Total X Y Z
2 | 0.63212147E+00 0.36556192E-01 0.10448300E-01 0.10585605E-01 0.15522287E-01
3 | 0.63212651E+00 0.36573047E-01 0.25594076E-01 0.19018955E-02 0.90770757E-02
4 | 0.63212823E+00 0.36525213E-01 0.52558117E-03 0.24045963E-01 0.11953668E-01
5 | 0.72878904E+00 0.28048870E-01 0.14604571E-01 0.13900856E-03 0.13305290E-01
6 | 0.72879164E+00 0.27987329E-01 0.13311682E-01 0.10144400E-06 0.14675545E-01
7 | 0.72880344E+00 0.27771304E-01 0.76509270E-04 0.27628473E-01 0.66320873E-04
8 | 0.73617657E+00 0.23025610E-02 0.17737647E-02 0.20820951E-03 0.32058672E-03
9 | 0.73618069E+00 0.22285650E-02 0.45175069E-03 0.16063788E-03 0.16161764E-02
10 | 0.73618839E+00 0.22829925E-02 0.53301508E-04 0.19287037E-02 0.30098727E-03
11 | 0.73682010E+00 0.31512617E-07 0.22908088E-07 0.72127807E-09 0.78832505E-08
12 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/davidson/reference/CH4_vacuum.eigen:
--------------------------------------------------------------------------------
1 | # Energy(Ry) Total X Y Z
2 | 0.64117899E+00 0.32086535E-01 0.17483043E-01 0.13275701E-01 0.13277909E-02
3 | 0.64118064E+00 0.32094894E-01 0.12871639E-02 0.20001946E-03 0.30607711E-01
4 | 0.64118227E+00 0.32095895E-01 0.13317974E-01 0.18619117E-01 0.15880383E-03
5 | 0.73752030E+00 0.19625215E-01 0.14107326E-01 0.54293824E-02 0.88506138E-04
6 | 0.73752182E+00 0.19637138E-01 0.12627536E-03 0.12530431E-02 0.18257820E-01
7 | 0.73752642E+00 0.19567120E-01 0.53854286E-02 0.12898256E-01 0.12834346E-02
8 | 0.74523917E+00 0.43119604E-02 0.29193385E-02 0.13863956E-02 0.62262909E-05
9 | 0.74523994E+00 0.43090025E-02 0.51388920E-04 0.21467227E-03 0.40429414E-02
10 | 0.74524242E+00 0.43551398E-02 0.13452837E-02 0.27437152E-02 0.26614085E-03
11 | 0.74592816E+00 0.96021294E-08 0.65537114E-10 0.55801947E-11 0.95310121E-08
12 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/lanczos/README:
--------------------------------------------------------------------------------
1 |
2 | This example shows how to use pw.x, turbo_lanczos.x, and turbo_spectrum.x
3 | to calculate the absorption spectrum of the CH4 molecule in water
4 | using a fully self-consistent dielectric defined on the electronic density
5 | and using the Liouville-Lanczos approach within the time-dependent density
6 | functional perturbation theory according to
7 | I. Timrov, O. Andreussi, A. Biancardi, N. Marzari, and S. Baroni, J. Chem. Phys. 142, 034111 (2015).
8 |
9 | The description of the keywords for turbo_lanczos.x and tubro_spectrum.x codes
10 | can be found in TDDFPT/Doc of the Quantum ESPRESSO package.
11 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/lanczos/reference/CH4_solvent.turbo-spectrum.out:
--------------------------------------------------------------------------------
1 | Warning: Only a single CPU will be used!
2 |
3 | Program TDDFPT_PP v.7.0 starts on 3May2022 at 8: 5: 6
4 |
5 | This program is part of the open-source Quantum ESPRESSO suite
6 | for quantum simulation of materials; please cite
7 | "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
8 | "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
9 | "P. Giannozzi et al., J. Chem. Phys. 152 154105 (2020);
10 | URL http://www.quantum-espresso.org",
11 | in publications or presentations arising from this work. More details at
12 | http://www.quantum-espresso.org/quote
13 |
14 | Parallel version (MPI), running on 1 processors
15 |
16 | MPI processes distributed on 1 nodes
17 | 19190 MiB available memory on the printing compute node when the environment starts
18 |
19 |
20 | Reading 3000 Lanczos steps for direction 1
21 | 3000 steps will be considered
22 |
23 |
24 | Reading 3000 Lanczos steps for direction 2
25 | 3000 steps will be considered
26 |
27 |
28 | Reading 3000 Lanczos steps for direction 3
29 | 3000 steps will be considered
30 |
31 |
32 | Polarization direction:1
33 | Lanczos coefficients:
34 | Average = 13.02966785
35 | Average oscillation amplitude = 0.36682049
36 |
37 | Polarization direction:2
38 | Lanczos coefficients:
39 | Average = 13.02942529
40 | Average oscillation amplitude = 0.36661831
41 |
42 | Polarization direction:3
43 | Lanczos coefficients:
44 | Average = 13.02946966
45 | Average oscillation amplitude = 0.36660867
46 |
47 | Data ready, starting to calculate observables...
48 |
49 | Broadening = 0.01000000 Ry
50 |
51 | Output file name: CH4_solvent.plot_chi
52 |
53 | Output file name for the oscillator strength S CH4_solvent.plot_S.d
54 |
55 | chi_i_j: dipole polarizability tensor in units of e^2*a_0^2/energy
56 |
57 | S: oscillator strength in units of 1/energy
58 |
59 | S(\hbar \omega) = 2m/( 3 \pi e^2 \hbar) \omega sum_j chi_j_j
60 |
61 | S(\hbar \omega) satisfies the f-sum rule: \int_0^\infty dE S(E) = N_el
62 |
63 | Functions are reported in \hbar.\omega Energy unit is (Ry)
64 |
65 | TDDFPT_PP : 10.95s CPU 11.01s WALL
66 |
67 |
68 | This run was terminated on: 8: 5:17 3May2022
69 |
70 | =------------------------------------------------------------------------------=
71 | JOB DONE.
72 | =------------------------------------------------------------------------------=
73 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/lanczos/reference/CH4_vacuum.turbo-spectrum.out:
--------------------------------------------------------------------------------
1 | Warning: Only a single CPU will be used!
2 |
3 | Program TDDFPT_PP v.7.0 starts on 3May2022 at 7:51: 7
4 |
5 | This program is part of the open-source Quantum ESPRESSO suite
6 | for quantum simulation of materials; please cite
7 | "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
8 | "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
9 | "P. Giannozzi et al., J. Chem. Phys. 152 154105 (2020);
10 | URL http://www.quantum-espresso.org",
11 | in publications or presentations arising from this work. More details at
12 | http://www.quantum-espresso.org/quote
13 |
14 | Parallel version (MPI), running on 1 processors
15 |
16 | MPI processes distributed on 1 nodes
17 | 19187 MiB available memory on the printing compute node when the environment starts
18 |
19 |
20 | Reading 3000 Lanczos steps for direction 1
21 | 3000 steps will be considered
22 |
23 |
24 | Reading 3000 Lanczos steps for direction 2
25 | 3000 steps will be considered
26 |
27 |
28 | Reading 3000 Lanczos steps for direction 3
29 | 3000 steps will be considered
30 |
31 |
32 | Polarization direction:1
33 | Lanczos coefficients:
34 | Average = 13.02594041
35 | Average oscillation amplitude = 0.39186135
36 |
37 | Polarization direction:2
38 | Lanczos coefficients:
39 | Average = 13.02546079
40 | Average oscillation amplitude = 0.39218273
41 |
42 | Polarization direction:3
43 | Lanczos coefficients:
44 | Average = 13.02537244
45 | Average oscillation amplitude = 0.39013739
46 |
47 | Data ready, starting to calculate observables...
48 |
49 | Broadening = 0.01000000 Ry
50 |
51 | Output file name: CH4_vacuum.plot_chi.
52 |
53 | Output file name for the oscillator strength S CH4_vacuum.plot_S.da
54 |
55 | chi_i_j: dipole polarizability tensor in units of e^2*a_0^2/energy
56 |
57 | S: oscillator strength in units of 1/energy
58 |
59 | S(\hbar \omega) = 2m/( 3 \pi e^2 \hbar) \omega sum_j chi_j_j
60 |
61 | S(\hbar \omega) satisfies the f-sum rule: \int_0^\infty dE S(E) = N_el
62 |
63 | Functions are reported in \hbar.\omega Energy unit is (Ry)
64 |
65 | TDDFPT_PP : 14.29s CPU 14.39s WALL
66 |
67 |
68 | This run was terminated on: 7:51:21 3May2022
69 |
70 | =------------------------------------------------------------------------------=
71 | JOB DONE.
72 | =------------------------------------------------------------------------------=
73 |
--------------------------------------------------------------------------------
/examples/qe/tddfpt/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | examples=" \
6 | lanczos \
7 | davidson \
8 | "
9 |
10 | for dir in $examples; do
11 | cd "$dir"
12 | ./run_example.sh
13 | cd ../
14 | done
--------------------------------------------------------------------------------
/examples/qe/xspectra/README.md:
--------------------------------------------------------------------------------
1 | # Environ XSpectra Examples
2 |
3 | SiO2: pw.x xspectra.x
4 |
5 | Slab version of Quantum ESPRESSO's XSpectra SiO2 example
6 |
--------------------------------------------------------------------------------
/examples/qe/xspectra/run_all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | examples=" \
6 | SiO2 \
7 | "
8 |
9 | for dir in $examples; do
10 | cd "$dir"
11 | ./run_example.sh
12 | cd ../
13 | done
--------------------------------------------------------------------------------
/install/aclocal.m4:
--------------------------------------------------------------------------------
1 | # generated automatically by aclocal 1.16.5 -*- Autoconf -*-
2 |
3 | # Copyright (C) 1996-2021 Free Software Foundation, Inc.
4 |
5 | # This file is free software; the Free Software Foundation
6 | # gives unlimited permission to copy and/or distribute it,
7 | # with or without modifications, as long as this notice is preserved.
8 |
9 | # This program is distributed in the hope that it will be useful,
10 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 | # PARTICULAR PURPOSE.
13 |
14 | m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15 | m4_include([m4/ax_check_compile_flag.m4])
16 | m4_include([m4/x_ac_env_aix_dflags.m4])
17 | m4_include([m4/x_ac_env_ar.m4])
18 | m4_include([m4/x_ac_env_arch.m4])
19 | m4_include([m4/x_ac_env_blas.m4])
20 | m4_include([m4/x_ac_env_cc.m4])
21 | m4_include([m4/x_ac_env_cpp.m4])
22 | m4_include([m4/x_ac_env_cuda.m4])
23 | m4_include([m4/x_ac_env_default_env.m4])
24 | m4_include([m4/x_ac_env_f90.m4])
25 | m4_include([m4/x_ac_env_f90rule.m4])
26 | m4_include([m4/x_ac_env_fft.m4])
27 | m4_include([m4/x_ac_env_lapack.m4])
28 | m4_include([m4/x_ac_env_ld.m4])
29 | m4_include([m4/x_ac_env_mass.m4])
30 | m4_include([m4/x_ac_env_mpi.m4])
31 | m4_include([m4/x_ac_env_mpif90.m4])
32 | m4_include([m4/x_ac_env_openmp.m4])
33 | m4_include([m4/x_ac_env_qe.m4])
34 | m4_include([m4/x_ac_env_ranlib.m4])
35 | m4_include([m4/x_ac_env_wget.m4])
36 |
--------------------------------------------------------------------------------
/install/configure.ac:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2021 Quantum ESPRESSO group
3 | #
4 | # This program is free software; you can redistribute it and/or
5 | # modify it under the terms of the GNU General Public License
6 | # as published by the Free Software Foundation; either version 2
7 | # of the License. See the file `License' in the root directory
8 | # of the present distribution.
9 |
10 | AC_INIT(ENVIRON, 3.0, , environ)
11 |
12 | AC_PREREQ(2.64)
13 | AC_CONFIG_MACRO_DIR([m4/])
14 |
15 | # Initialize variables, filling with one comes from the environment...
16 | X_AC_ENV_DEFAULT_ENV()
17 |
18 | # configure for current directory by default
19 | if test "$topdir" = "" ; then topdir="`pwd`" ; fi
20 |
21 | # check system type (no cross-compilation for now)
22 | AC_CANONICAL_BUILD
23 |
24 | # Checking Architecture...
25 | X_AC_ENV_ARCH()
26 |
27 | # Add all needed -D options to try_dflags
28 | try_dflags=""
29 |
30 | # Checking archiver...
31 | X_AC_ENV_AR()
32 |
33 | # Checking OpenMP...
34 | X_AC_ENV_OPENMP()
35 |
36 | # Checking MPIF90...
37 | X_AC_ENV_MPIF90()
38 |
39 | # Checking CC...
40 | X_AC_ENV_CC()
41 |
42 | # Checking F90...
43 | X_AC_ENV_F90()
44 |
45 | # Checking preprocessor...
46 | X_AC_ENV_CPP()
47 |
48 | # Checking linker...
49 | X_AC_ENV_LD()
50 |
51 | # Checking CUDA...
52 | X_AC_ENV_CUDA()
53 |
54 | # Checking F90 rule...
55 | X_AC_ENV_F90RULE()
56 |
57 | AC_LANG_PUSH(Fortran 77)
58 | F77=$f90 # use Fortran 90 actually
59 | FFLAGS="$test_fflags"
60 | LDFLAGS="$test_ldflags"
61 |
62 | # Checking BLAS...
63 | X_AC_ENV_BLAS()
64 |
65 | # Checking LAPACK...
66 | X_AC_ENV_LAPACK()
67 |
68 | # Checking for FFT...
69 | X_AC_ENV_FFT()
70 |
71 | # Checking for IBM MASS library...
72 | X_AC_ENV_MASS()
73 |
74 | # check for MPI library...
75 | X_AC_ENV_MPI()
76 |
77 | # Checking Quantum ESPRESSO coupling...
78 | X_AC_ENV_QE()
79 |
80 | # Checking for ranlib...
81 | X_AC_ENV_RANLIB()
82 |
83 | # Checking wget or curl...
84 | X_AC_ENV_WGET()
85 |
86 | # Show dflags before adding $(MANUAL_DFLAGS) and adapt to XLF (if needed)
87 | if test "$dflags" = "" ; then dflags="$try_dflags" ; fi
88 | echo setting DFLAGS... $try_dflags
89 |
90 | # xlf compilers (AIX and powerpc) want comma-separated -D directives
91 | X_AC_ENV_AIX_DFLAGS()
92 |
93 | if test "$iflags" = "" ; then iflags="$try_iflags" ; fi
94 | echo setting IFLAGS... $iflags
95 |
96 | # export additional settings to generated files
97 | AC_SUBST(dflags)
98 | AC_SUBST(fdflags)
99 | AC_SUBST(iflags)
100 | AC_SUBST(ld_libs)
101 | AC_SUBST(topdir)
102 |
103 | AC_CONFIG_FILES(make.inc)
104 | AC_CONFIG_FILES(configure.msg)
105 |
106 | AC_OUTPUT
107 |
108 | # final messages
109 | sed '/@delete@/d' configure.msg
110 | echo configure: success
111 |
--------------------------------------------------------------------------------
/install/configure.msg.in:
--------------------------------------------------------------------------------
1 | --------------------------------------------------------------------
2 | ENVIRON can take advantage of several optimized numerical libraries
3 | (essl, fftw, mkl...). This configure script attempts to find them,
4 | but may fail if they have been installed in non-standard locations.
5 | If a required library is not found, the local copy will be compiled.
6 |
7 | The following libraries have been found:
8 | @blas_line@
9 | @lapack_line@
10 | @fft_line@
11 | @mpi_line@
12 | @mass_line@
13 |
14 | Please check if this is what you expect.
15 |
16 | If any libraries are missing, you may specify a list of directories
17 | to search and retry, as follows:
18 | ./configure LIBDIRS="list of directories, separated by spaces"
19 |
20 | @parallel_report@
21 |
22 | For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
23 | --------------------------------------------------------------------
24 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_aix_dflags.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_AIX_DFLAGS], [
5 |
6 | # xlf compilers (AIX and powerpc) want comma-separated -D directives
7 | if test "$xlf_flags" -ne 0
8 | then
9 | fdflags="`echo $dflags | sed 's/ */,/g'`"
10 | else
11 | # Because of the way xlf handle pre-processing, agile $(MANUAL_DFLAGS)
12 | # passed to make works only on non XLF environments... (NdFilippo)
13 | fdflags="\$(DFLAGS) \$(MANUAL_DFLAGS)"
14 | fi
15 | ]
16 | )
17 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_ar.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_AR], [
5 |
6 | # default from the environment (shouldn't be needed)
7 | ar=$AR
8 | arflags=$ARFLAGS
9 |
10 | try_ar="ar"
11 | AC_MSG_CHECKING([setting AR... ])
12 | if test "$arch" = "necsx"; then
13 | try_ar="sxar"
14 | fi
15 | if test "$ar" = "" ; then ar="$try_ar" ; fi
16 | AC_MSG_RESULT(${ar})
17 | AC_SUBST(ar)
18 |
19 | try_arflags="ruv"
20 | AC_MSG_CHECKING([setting ARFLAGS... ])
21 | if test "$arch" = "necsx"; then
22 | try_arflags="rv"
23 | fi
24 | if test "$arflags" = "" ; then arflags="$try_arflags" ; fi
25 | AC_MSG_RESULT(${arflags})
26 | AC_SUBST(arflags)
27 |
28 | ]
29 | )
30 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_arch.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_ARCH], [
5 |
6 | AC_MSG_CHECKING([ARCH])
7 |
8 | # many HPC systems are configured so that running parallel programs
9 | # interactively is disabled: on those systems, AC_PROG_FC / _CC
10 | # would fail because they can't run the compiled executables.
11 | # to work around that, let's pretend we are cross-compiling even if we aren't
12 | # !!! this relies on undocumented Autoconf behavior !!!
13 |
14 | # This is used to distinguish between true and fake cross compilation
15 | # (only on NEC SX8 actually)
16 | if test "$host" != "" ; then ranlib=echo; fi
17 |
18 |
19 | # cross compiling? Why?
20 | #cross_compiling=yes
21 |
22 | if test "$host" = "" ; then host=$build; fi
23 |
24 | # identify host architecture
25 | if test "$arch" = ""
26 | then
27 | case $host in
28 | ia64-*-linux-gnu ) arch=ia64 ;;
29 | x86_64-*-linux-gnu ) arch=x86_64 ;;
30 | arm-*linux* ) arch=arm ;;
31 | aarch64-*-linux-gnu ) arch=arm ;;
32 | *-pc-linux-gnu ) arch=ia32 ;;
33 | *-apple-darwin* ) arch=mac686 ;;
34 | *-pc-cygwin ) arch=cygwin ;;
35 | sx*-nec* ) arch=necsx ;;
36 | powerpc64-*-linux-gnu ) arch=ppc64 ;;
37 | powerpc64le-*-linux-gnu ) arch=ppc64le ;;
38 | *-*-mingw32 ) arch=mingw32;;
39 | *-*-mingw64 ) arch=mingw64;;
40 | * ) AC_MSG_WARN(Unrecognized build architecture)
41 | ;;
42 | esac
43 | # workaround for Cray-XT machines
44 | test -d /proc/cray_xt && arch=crayxt
45 | # workaround for IBM BG machines
46 | test -d /bgsys && arch=ppc64-bg
47 | test -f /bgsys/drivers/ppcfloor/bin/runjob && arch=ppc64-bgq
48 | fi
49 | case $arch in
50 | ia32 | ia64 | necsx | crayxt | ppc64-bg )
51 | AC_MSG_WARN(Obsolete architecture? $arch)
52 | ;;
53 | esac
54 | AC_MSG_RESULT(${arch})
55 | AC_SUBST(arch)
56 |
57 | ])
58 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_cc.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_CC], [
5 |
6 | # candidate C compilers good for all cases
7 | try_cc="cc gcc"
8 |
9 | case "$arch:$f90_flavor" in
10 | *:ifort* )
11 | try_cc="icc ecc $try_cc"
12 | ;;
13 | *:ifx* )
14 | try_cc="icx $try_cc"
15 | ;;
16 | *:pgf90 | *:nvfortran )
17 | try_cc="pgcc $try_cc"
18 | ;;
19 | cray*:* )
20 | try_cc="cc"
21 | ;;
22 | necsx:* )
23 | try_cc="sxcc"
24 | ;;
25 | ppc64-bg*:*xlf90_r )
26 | try_cc="bgxlc_r"
27 | ;;
28 | ppc64-bg*:*xlf90 )
29 | try_cc="bgxlc"
30 | ;;
31 | ppc64:*xlf* | ppc64le:*xlf* )
32 | try_cc="xlc_r $try_cc"
33 | ;;
34 | esac
35 |
36 | # check serial C compiler
37 | if test "$env_cc" = "" ; then cc="$try_cc" ; else cc="$env_cc"; fi
38 | AC_PROG_CC($cc)
39 | cc=$CC
40 |
41 | echo setting CC... $cc
42 |
43 | AC_SUBST(cc)
44 |
45 | # tentative C and loader flags, good for many cases
46 | try_cflags="-O3"
47 | c_ldflags=""
48 | try_cpp="cpp"
49 |
50 | case "$arch:$cc" in
51 | *:pgcc )
52 | try_cflags="-fast -Mpreprocess"
53 | # Workaround for BEEF compilation with PGI v.19 and previous
54 | if test "$f90_flavor" = "pgf90"; then try_cflags="-c11 $try_cflags"; fi
55 | ;;
56 | crayxt*:cc )
57 | # Actually we need something like is done for ftn to detect
58 | # the proper compiler used (NdFilippo)
59 | try_cflags="-O3"
60 | ;;
61 | necsx:* )
62 | #try_cflags="-D__SX6 \$(IFLAGS) \$(MODFLAGS)"
63 | try_cflags=""
64 | ;;
65 | ppc64le:* )
66 | try_cflags="-O3"
67 | ;;
68 | ppc64-bg:* )
69 | try_cflags="-O3 -q32"
70 | ;;
71 | ppc64-bgq:* )
72 | try_cflags="-O3"
73 | ;;
74 | ppc64:xlc*)
75 | try_cflags="-O3 -q64 -qthreaded"
76 | c_ldflags="-q64"
77 | ;;
78 |
79 | esac
80 | if test "$cflags" = "" ; then cflags=$try_cflags ; fi
81 | echo setting CFLAGS... $cflags
82 |
83 | # compilation flags for all subsequent tests
84 | test_cflags="`echo $cflags | sed 's/\$([[^)]]*)//g'`"
85 |
86 | AC_SUBST(cflags)
87 | ])
88 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_cpp.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_CPP], [
5 |
6 | # preprocessor - try cpp in all cases; the preprocessor returned by
7 | # AC_PROG_CPP
8 | # may sometimes refuse to preprocess fortran files
9 | if test "$cpp" = "" ; then cpp=$try_cpp; fi
10 | # if test "$cpp" = "" ; then cpp=$CPP; fi
11 | echo setting CPP... $cpp
12 |
13 | echo $ECHO_N "setting CPPFLAGS... $ECHO_C"
14 | # Note: option -C makes trouble with recent gcc versions and pgi
15 | case $cpp in
16 | cpp) try_cppflags="-P -traditional -Uvector" ;;
17 | fpp) try_cppflags="-P -allow nofpp_comments" ;;
18 | *) try_cppflags="" ;;
19 | esac
20 | if test "$cppflags" = "" ; then cppflags=$try_cppflags ; fi
21 | echo "${ECHO_T}$cppflags"
22 |
23 | # compilation flags for all subsequent tests
24 | test_cppflags="$test_cflags"
25 |
26 | AC_SUBST(cpp)
27 | AC_SUBST(cppflags)
28 |
29 | ]
30 | )
31 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_default_env.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_DEFAULT_ENV], [
5 |
6 | # store variables from the environment, if set (may be or not be set)
7 | # If set, they take precedence over configure internal choice.
8 | # Flags and libraries are accepted without further testing;
9 | # compilers are tested. Specify compiler name only, not the full path
10 | # (i.e. F90=/usr/local/bin/f90 may not work, use F90=f90)
11 |
12 | topdir=$TOPDIR # current directory
13 | arch=$ARCH # see below for recognized architectures
14 | env_cc=$CC # C compiler (must be in the execution path)
15 | cpp=$CPP # C preprocessor (as above)
16 | cflags=$CFLAGS # Flags for C compiler
17 | cppflags=$CPPFLAGS # Flags for C preprocessor
18 | dflags=$DFLAGS # Fortran file preprocessing options, e.g. -D__DEFINE_THIS
19 | iflags=$IFLAGS # Location of include files - shouldn't be needed
20 | f90=$F90 # Fortran 90 serial compiler (must be in execution path)
21 | mpif90=$MPIF90 # Fortran 90 parallel compiler (must be in execution path)
22 | fflags=$FFLAGS # Flags for Fortran 77 and 90 compilers
23 | fflags_nomain=$FFLAGS_NOMAIN # Flags for linking Fortran sources with main in a different language
24 | fflags_noopt=$FFLAGS_NOOPT # as FFLAGS With optimization disabled
25 | f90flags=$F90FLAGS # Flags for Fortran 90 compiler only
26 | ld=$LD # Loader (must be in the execution path)
27 | ldflags=$LDFLAGS # Flags for loader
28 | ld_libs=$LD_LIBS # Additional libraries
29 | blas_libs=$BLAS_LIBS # blas library - specify e.g. /my/blas/lib/libmyblas.a
30 | # or -L/my/blas/lib -lmyblas
31 | lapack_libs=$LAPACK_LIBS # lapack library, similar to above
32 | fft_libs=$FFT_LIBS # FFT libraries - may depend upon DFLAGS
33 | mpi_libs=$MPI_LIBS # MPI libraries - shouldn't be needed
34 | mass_libs=$MASS_LIBS # MASS libraries (IBM only)
35 | libdirs=$LIBDIRS # Where to look for libraries (e.g. /my/blas/lib)
36 | scalapack_libs=$SCALAPACK_LIBS # scalapack libs
37 | scalapack_dir=$SCALAPACK_LIB # Where to look for scalapack libs
38 | blacs_dir=$BLACS_LIB # Where to look for libblacs.a
39 | ar=$AR # ar (shouldn't be needed)
40 | arflags=$ARFLAGS # Flags for ar (as above)
41 |
42 | ]
43 | )
44 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_f90rule.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_F90RULE], [
5 |
6 | AC_PROG_MAKE_SET
7 | echo $ECHO_N "checking whether Fortran files must be preprocessed... $ECHO_C"
8 | if test "$have_cpp" -ne 0
9 | then
10 | f90rule="\$(MPIF90) \$(F90FLAGS) -c \$<"
11 | echo "${ECHO_T}no"
12 | else
13 | f90rule="\$(CPP) \$(CPPFLAGS) \$< -o \$(*)_tmp.f90 ; \\
14 | \$(MPIF90) \$(F90FLAGS) -c \$(*)_tmp.f90 -o \$(*).o"
15 | echo "${ECHO_T}yes"
16 | fi
17 |
18 | AC_SUBST(f90rule)
19 |
20 | ])
21 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_ld.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_LD], [
5 |
6 | # linker and archiver
7 | # note that from this point on, further additions to
8 | # linker flags should be added to ldflags rather than try_ldflags
9 | if test "$ld" = "" ; then ld="$mpif90" ; fi
10 | if test "$ldflags" = "" ; then ldflags="$try_ldflags" ; fi
11 | echo setting LD... $ld
12 | echo setting LDFLAGS... $ldflags
13 |
14 | # compilation flags for all subsequent tests
15 | test_ldflags="`echo $ldflags | sed 's/\$([[^)]]*)//g'`"
16 |
17 | AC_SUBST(ld)
18 | AC_SUBST(ldflags)
19 |
20 | ]
21 | )
22 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_mpi.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_MPI], [
5 |
6 | have_mpi=0
7 | parallel=0
8 |
9 | # some architectures require to link mpi libraries explicitly
10 | F77=$mpif90 # use parallel compiler
11 | if test "$mpi_libs" = ""
12 | then
13 | # check directories in LD_LIBRARY_PATH too
14 | # (maybe they are already searched by default, but I'm not sure)
15 | ld_library_path=`echo $LD_LIBRARY_PATH | sed 's/:/ /g'`
16 |
17 | if test "$use_parallel" -ne 0
18 | then
19 | if test "$have_mpi" -eq 0
20 | # check for mpi
21 | then
22 | unset ac_cv_search_mpi_init # clear cached value
23 | LDFLAGS="$test_ldflags"
24 | LIBS="$mpi_libs"
25 | AC_SEARCH_LIBS(mpi_init, mpi,
26 | have_mpi=1 parallel=1 mpi_libs="$LIBS" try_dflags="$try_dflags -D__MPI")
27 | fi
28 | fi
29 | else
30 | if test "$use_parallel" -ne 0
31 | then
32 | have_mpi=1
33 | parallel=1
34 | try_dflags="$try_dflags -D__MPI"
35 | fi
36 | fi
37 |
38 | # Configuring output message
39 | if test "$mpi_libs" != "" ; then
40 | mpi_line="MPI_LIBS=$mpi_libs"
41 | else
42 | mpi_line="@delete@"
43 | fi
44 |
45 | # Parallel report
46 | if test "$use_parallel" -ne 0
47 | then
48 | if test "$parallel" -ne 0
49 | then
50 | parallel_report="Parallel environment detected successfully.\\
51 | Configured for compilation of parallel executables."
52 | else
53 | parallel_report="Parallel environment not detected \
54 | \(is this a parallel machine?\).\\
55 | Configured for compilation of serial executables."
56 | fi
57 | else
58 | parallel_report="Configured for compilation of serial executables."
59 | fi
60 |
61 | AC_SUBST(mpi_libs)
62 | AC_SUBST(mpi_line)
63 | AC_SUBST(parallel_report)
64 |
65 | ]
66 | )
67 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_openmp.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_OPENMP], [
5 |
6 | AC_ARG_ENABLE(openmp,
7 | [AS_HELP_STRING([--enable-openmp],
8 | [compile for openmp execution if possible (default: no)])],
9 | [if test "$enableval" = "yes" ; then
10 | use_openmp=1
11 | else
12 | use_openmp=0
13 | fi],
14 | [use_openmp=0])
15 |
16 | ])
17 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_qe.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | #
3 | AC_DEFUN([X_AC_ENV_QE], [
4 |
5 | AC_MSG_CHECKING([for QE])
6 |
7 | AC_ARG_WITH(qe,
8 | [AS_HELP_STRING([--with-qe], [absolute path to QE root directory])],
9 | [
10 | if test "$withval" != yes ;
11 | then
12 | qedir="$withval"
13 | else
14 | qedir="$topdir/../"
15 | fi
16 |
17 | if test -d $qedir; then
18 | AC_MSG_RESULT(found at $qedir)
19 | else
20 | AC_MSG_ERROR([$qedir is not a valid path])
21 | fi
22 |
23 | ],
24 | [AC_MSG_RESULT(not coupled)]
25 | )
26 |
27 | sed "s|^PREFIX=|PREFIX=$qedir|" examples/qe/environment.in > examples/qe/environment
28 | sed "s|^export ESPRESSO_ROOT=|export ESPRESSO_ROOT=$qedir|" tests/environment.in > tests/environment
29 |
30 | AC_SUBST(qedir)
31 | ]
32 | )
33 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_ranlib.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 | #
4 | AC_DEFUN([X_AC_ENV_RANLIB], [
5 |
6 |
7 | if test "$ranlib" != "echo"
8 | then
9 | AC_CHECK_PROG(ranlib,ranlib,ranlib,echo)
10 | fi
11 |
12 | if test "$arch" = "mac686"; then
13 | if test "$ranlib" = "ranlib"; then
14 | ranlib="ranlib -c"
15 | fi
16 | fi
17 |
18 | AC_SUBST(ranlib)
19 |
20 | ]
21 | )
22 |
--------------------------------------------------------------------------------
/install/m4/x_ac_env_wget.m4:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
2 | # Copyright (C) 2001-2016 Quantum ESPRESSO Foundation
3 |
4 | AC_DEFUN([X_AC_ENV_WGET], [
5 |
6 | AC_CHECK_PROG(wget, wget, wget -O)
7 | if test "$wget" = ""; then
8 | AC_CHECK_PROG(wget, curl, curl -o)
9 | fi
10 | echo setting WGET... $wget
11 |
12 | AC_SUBST(wget)
13 |
14 | ]
15 | )
16 |
--------------------------------------------------------------------------------
/install/moduledep.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # moduledep.sh -- script that computes dependencies on Fortran 90 modules
3 |
4 | # make sure there is no locale setting creating unneeded differences.
5 | LC_ALL=C
6 | export LC_ALL
7 |
8 | # files whose dependencies must be computed
9 | sources=`echo *.f90 |
10 | sed 's/\*\.f90//g'` # remove the "*.f90" that remains
11 | # # when there are no such files
12 | if test "$sources" = "" ; then exit ; fi
13 |
14 | # files that may contain modules
15 | # extra directories can be specified on the command line
16 | sources_all="$sources"
17 | for dir in $*
18 | do
19 | sources_all="$sources_all `echo $dir/*.f90`"
20 | done
21 | sources_all=`echo $sources_all |
22 | sed 's/[^ ]*\*\.f90//g'` # remove the "dir/*.f90" that remain
23 | # # when there are no such files
24 |
25 | rm -f moduledep.tmp1 moduledep.tmp2 # destroy previous contents
26 |
27 | # create list of module dependencies
28 | # each line is of the form:
29 | # file_name.o : @module_name@
30 | # cast all module names to lowercase because Fortran is case insensitive
31 | egrep -H -i "^ *use " $sources | # look for "USE name"
32 | sed 's/f90:/o /
33 | s/,/ /' | # replace extension, insert space
34 | # # and remove trailing comma
35 | awk '{print $1 " : @" tolower($3) "@"}' | # create dependency entry
36 | sort | uniq > moduledep.tmp1 # remove duplicates
37 |
38 | # create list of available modules
39 | # for each module, create a line of the form:
40 | # s/@module_name@/file_name/g
41 | egrep -H -i "^ *module " $sources_all | # look for "MODULE name"
42 | sed 's/f90:/o /
43 | s/\//\\\//g' | # replace extension, insert
44 | # # space and escape slashes
45 | awk '{print "s/@" tolower($3) "@/" $1 "/" }' | # create substitution line
46 | sort | uniq > moduledep.tmp2 # remove duplicates
47 |
48 | # replace module names with file names
49 | # by applying the file of substitution patterns just created
50 | sed -f moduledep.tmp2 moduledep.tmp1 |
51 | awk '{if ($1 != $3) print}' | # remove self dependencies
52 | sort | uniq # remove duplicates
53 |
54 | rm -f moduledep.tmp1 moduledep.tmp2 # remove temporary files
55 |
--------------------------------------------------------------------------------
/install/refresh-configure.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | # Copyright (C) 2001-2016 Quantum ESPRESSO group
5 | #
6 | # This program is free software; you can redistribute it and/or
7 | # modify it under the terms of the GNU General Public License
8 | # as published by the Free Software Foundation; either version 2
9 | # of the License. See the file `License' in the root directory
10 | # of the present distribution.
11 | #
12 | # Dependency: GNU AUTOCONF (minimum 2.60, 2.69 suggested)
13 | #
14 | # Tested using:
15 | # - autoconf (GNU Autoconf) 2.63
16 | # - aclocal (GNU automake) 1.11.1
17 | # - m4 (GNU M4) 1.4.13
18 |
19 | aclocal -I m4 --install
20 |
21 | autoconf -f -v --output=configure configure.ac
22 |
--------------------------------------------------------------------------------
/programs/cmdline_args.f90:
--------------------------------------------------------------------------------
1 | !----------------------------------------------------------------------------------------
2 | !
3 | ! Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | !
5 | !----------------------------------------------------------------------------------------
6 | !
7 | ! This file is part of Environ version 3.0
8 | !
9 | ! Environ 3.0 is free software: you can redistribute it and/or modify
10 | ! it under the terms of the GNU General Public License as published by
11 | ! the Free Software Foundation, either version 2 of the License, or
12 | ! (at your option) any later version.
13 | !
14 | ! Environ 3.0 is distributed in the hope that it will be useful,
15 | ! but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | ! GNU General Public License for more detail, either the file
18 | ! `License' in the root directory of the present distribution, or
19 | ! online at .
20 | !
21 | !----------------------------------------------------------------------------------------
22 | !
23 | ! Authors: Edan Bainglass (Department of Physics, UNT)
24 | !
25 | !----------------------------------------------------------------------------------------
26 | MODULE cmdline_args
27 | !
28 | USE environ_param, ONLY: DP
29 | !------------------------------------------------------------------------------------
30 | !
31 | IMPLICIT NONE
32 | !
33 | CHARACTER(LEN=80) :: inputfile = 'environ.in'
34 | CHARACTER(LEN=80) :: cubefile = 'density.cube'
35 | !
36 | LOGICAL :: use_internal_pbc_corr = .FALSE.
37 | !
38 | LOGICAL :: no_density = .FALSE.
39 | !
40 | LOGICAL :: calc_energy = .FALSE.
41 | !
42 | LOGICAL :: calc_force = .FALSE.
43 | !
44 | REAL(DP) :: alpha_min = -1.D0
45 | REAL(DP) :: alpha_max = -1.D0
46 | REAL(DP) :: alpha_step = -1.D0
47 | !
48 | !------------------------------------------------------------------------------------
49 | END MODULE cmdline_args
50 | !----------------------------------------------------------------------------------------
51 |
--------------------------------------------------------------------------------
/src/Makefile:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | #
5 | #----------------------------------------------------------------------------------------
6 | #
7 | # This file is part of Environ version 3.0
8 | #
9 | # Environ 3.0 is free software: you can redistribute it and/or modify
10 | # it under the terms of the GNU General Public License as published by
11 | # the Free Software Foundation, either version 2 of the License, or
12 | # (at your option) any later version.
13 | #
14 | # Environ 3.0 is distributed in the hope that it will be useful,
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | # GNU General Public License for more detail, either the file
18 | # `License' in the root directory of the present distribution, or
19 | # online at .
20 | #
21 | #----------------------------------------------------------------------------------------
22 | #
23 | # Authors: Oliviero Andreussi (Department of Physics, UNT)
24 | # Francesco Nattino (THEOS and NCCR-MARVEL, EPFL)
25 | # Edan Bainglass (Department of Physics, UNT)
26 | #
27 | #----------------------------------------------------------------------------------------
28 | #
29 | # Makefile for src
30 | #
31 | #----------------------------------------------------------------------------------------
32 |
33 | include ../make.inc
34 |
35 | MODFLAGS = $(BASEMOD_FLAGS)
36 |
37 | OBJS = $(patsubst %.f90,%.o,$(wildcard *.f90))
38 |
39 | all: libsdir libenvsrc.a
40 |
41 | libenvsrc.a: $(OBJS)
42 | $(AR) $(ARFLAGS) $@ $?
43 | $(RANLIB) $@
44 | @ /bin/mv libenvsrc.a ../libs
45 |
46 | libsdir:
47 | @ test -d ../libs || mkdir ../libs
48 |
49 | clean:
50 | @ /bin/rm -f *.o *~ *.a *.d *.i *.L *.mod *.F90 *.x *.i90
51 |
52 | include make.depend
53 |
54 | # DO NOT DELETE
55 |
--------------------------------------------------------------------------------
/src/README.md:
--------------------------------------------------------------------------------
1 | # Environ Source Code
2 |
3 | Primary codebase for Environ.
4 |
5 | ### Changes in v3.0
6 |
7 | ---
8 |
9 | - Added API for use by host software
10 | - Made atom species input more flexible (now by label, number, or weight)
11 | - Redesigned boundaries in OOP hierarchal structure
12 | - Improved performance when using soft spheres (ionic boundary)
13 | - Added ms-gcs functionality
14 |
15 | ### Changes in v2.0
16 |
17 | ---
18 |
19 | - Added double-cell and Mott-Schottky functionalities
20 | - Forces now computed with a Gaussian-spread description of ions
21 | - Redesigned modules as classes with type-bound procedures
22 | - Redesigned solvers, cores, and functions using OOP inheritance
23 | - Packaged calculation routines in a calculator class
24 | - Packaged cleaning routines in a destructor class
25 | - Packaged simulation parameters and numerical base in setup class
26 | - Isolated environment objects (including potentials) in environment class
27 |
--------------------------------------------------------------------------------
/tests/README.md:
--------------------------------------------------------------------------------
1 | # Environ Test Suite
2 |
3 | Environ test suite. Modelled after the test suite of QE.
4 |
5 | ### Changes in v2.0
6 |
7 | ---
8 |
9 | - Added tests for:
10 |
11 | - Semiconductor embedding
12 | - Martyna-Tuckerman correction
13 | - Double-cell functionality
14 |
15 | - Updated benchmarks against QE 6.7
16 | - Added dblcell=true option to MakeFile targets
17 |
--------------------------------------------------------------------------------
/tests/check_pseudo.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #----------------------------------------------------------------------------------------
3 | #
4 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
5 | # Copyright (C) 2001-2017 Quantum ESPRESSO (www.quantum-espresso.org)
6 | #
7 | #----------------------------------------------------------------------------------------
8 | #
9 | # This file is part of Environ version 3.0
10 | #
11 | # Environ 3.0 is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 2 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # Environ 3.0 is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more detail, either the file
20 | # `License' in the root directory of the present distribution, or
21 | # online at .
22 | #
23 | #----------------------------------------------------------------------------------------
24 | #
25 | # Authors: Oliviero Andreussi (Department of Physics, UNT)
26 | # Edan Bainglass (Department of Physics, UNT)
27 | #
28 | #----------------------------------------------------------------------------------------
29 | #
30 | # This file was adapted from the following Quantum ESPRESSO v6.1 file:
31 | #
32 | # QE/test-suite/check_pseudo.sh
33 | #
34 | #----------------------------------------------------------------------------------------
35 |
36 | if test "`which curl`" = "" ; then
37 | if test "`which wget`" = "" ; then
38 | echo "### wget or curl not found: will not be able to download missing PP ###"
39 | else
40 | DOWNLOADER="wget -O"
41 | # echo "wget found"
42 | fi
43 | else
44 | DOWNLOADER="curl -o"
45 | # echo "curl found"
46 | fi
47 |
48 | inputs=`find $1* -type f -name "*.in" -not -name "test.*" -not -name "benchmark.*"`
49 | pp_files=`for x in ${inputs}; do grep UPF ${x} | awk '{print $3}'; done`
50 |
51 | for pp_file in ${pp_files} ; do
52 | if ! test -f ${ESPRESSO_PSEUDO}/${pp_file} ; then
53 | #echo -n "Downloading ${pp_file} to ${ESPRESSO_PSEUDO} ... "
54 | ${DOWNLOADER} ${ESPRESSO_PSEUDO}/${pp_file} ${NETWORK_PSEUDO}/${pp_file} 2> /dev/null
55 | if test $? != 0 ; then
56 | echo "FAILED, do it manually -- Testing aborted!"
57 | exit -1
58 | #else
59 | #echo "done."
60 | fi
61 | #else
62 | #echo "No need to download ${pp_file}."
63 | fi
64 | done
65 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_confine/confine-sccs-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | env_nrep(1) = 1
6 | env_nrep(2) = 1
7 | env_nrep(3) = 1
8 | /
9 | &BOUNDARY
10 | solvent_mode = 'full'
11 | rhomax = 0.005
12 | rhomin = 0.0001
13 | /
14 | &ELECTROSTATIC
15 | /
16 |
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_confine/confine-ss-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | env_nrep(1) = 1
6 | env_nrep(2) = 1
7 | env_nrep(3) = 1
8 | /
9 | &BOUNDARY
10 | solvent_mode = 'ionic'
11 | alpha = 1.2
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
16 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_confine/confine-system-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | system_dim = 0
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | /
10 | &BOUNDARY
11 | solvent_mode = 'system'
12 | solvent_distance = 4.5
13 | /
14 | &ELECTROSTATIC
15 | /
16 |
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_confine/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | calculation = 'scf'
3 | restart_mode = 'from_scratch'
4 | tprnfor = .true.
5 | /
6 | &SYSTEM
7 | tot_charge = -1
8 | ecutwfc = 40
9 | ecutrho = 320
10 | nosym = .true.
11 | nspin = 1
12 | assume_isolated = 'm-t'
13 | ntyp = 1
14 | nat = 1
15 | ibrav = 1
16 | celldm(1) = 10.
17 | /
18 | &ELECTRONS
19 | conv_thr = 5e-08
20 | diagonalization = 'cg'
21 | /
22 | &IONS
23 | /
24 | &CELL
25 | /
26 |
27 | ATOMIC_SPECIES
28 | H 1 H.pbe-rrkjus.UPF
29 |
30 | K_POINTS gamma
31 |
32 | ATOMIC_POSITIONS angstrom
33 | H 0.000000000 0.00000000 0.00000000
34 |
35 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/charged-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 15
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-6
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-sccs-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-sccs-iter-aux-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | solver = 'fixed-point'
16 | auxiliary = 'full'
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 | &ELECTROSTATIC
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-ss-iter-aux-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 | &ELECTROSTATIC
17 | !
18 | solver = 'fixed-point'
19 | auxiliary = 'full'
20 | !
21 | /
22 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-sys-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'system'
14 | solvent_distance = 6.D0
15 | solvent_spread = 0.5D0
16 | !
17 | /
18 | &ELECTROSTATIC
19 | /
20 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/dielectric-sys-iter-aux-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'system'
14 | solvent_distance = 6.D0
15 | solvent_spread = 0.5D0
16 | !
17 | /
18 | &ELECTROSTATIC
19 | !
20 | solver = 'fixed-point'
21 | auxiliary = 'full'
22 | !
23 | /
24 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_dielectric/neutral-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lmpb-sccs-stern_full-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_linearized = .true.
14 | env_nrep(1) = 1
15 | env_nrep(2) = 1
16 | env_nrep(3) = 1
17 | !
18 | /
19 | &BOUNDARY
20 | !
21 | electrolyte_rhomax=0.000700
22 | electrolyte_rhomin=0.000015
23 | !
24 | /
25 | &ELECTROSTATIC
26 | !
27 | pbc_correction = 'parabolic'
28 | pbc_dim = 0
29 | !
30 | /
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lmpb-sccs-stern_ions-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_entropy = 'ions'
14 | electrolyte_linearized = .true.
15 | env_nrep(1) = 1
16 | env_nrep(2) = 1
17 | env_nrep(3) = 1
18 | !
19 | /
20 | &BOUNDARY
21 | !
22 | electrolyte_rhomax=0.000700
23 | electrolyte_rhomin=0.000015
24 | !
25 | /
26 | &ELECTROSTATIC
27 | !
28 | pbc_correction = 'parabolic'
29 | pbc_dim = 0
30 | !
31 | /
32 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lmpb-ss-stern_full-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_linearized = .true.
14 | env_nrep(1) = 1
15 | env_nrep(2) = 1
16 | env_nrep(3) = 1
17 | !
18 | /
19 | &BOUNDARY
20 | !
21 | electrolyte_mode = 'ionic'
22 | electrolyte_alpha = 1.5D0
23 | !
24 | /
25 | &ELECTROSTATIC
26 | !
27 | pbc_correction = 'parabolic'
28 | pbc_dim = 0
29 | !
30 | /
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lmpb-ss-stern_ions-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_entropy = 'ions'
14 | electrolyte_linearized = .true.
15 | env_nrep(1) = 1
16 | env_nrep(2) = 1
17 | env_nrep(3) = 1
18 | !
19 | /
20 | &BOUNDARY
21 | !
22 | electrolyte_mode = 'ionic'
23 | electrolyte_alpha = 1.5D0
24 | !
25 | /
26 | &ELECTROSTATIC
27 | !
28 | pbc_correction = 'parabolic'
29 | pbc_dim = 0
30 | !
31 | /
32 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lpb-sccs-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | electrolyte_linearized = .true.
13 | env_nrep(1) = 1
14 | env_nrep(2) = 1
15 | env_nrep(3) = 1
16 | !
17 | /
18 | &BOUNDARY
19 | !
20 | electrolyte_rhomax=0.000700
21 | electrolyte_rhomin=0.000015
22 | !
23 | /
24 | &ELECTROSTATIC
25 | !
26 | pbc_correction = 'parabolic'
27 | pbc_dim = 0
28 | !
29 | /
30 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/electrolyte-lpb-ss-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | electrolyte_linearized = .true.
13 | env_nrep(1) = 1
14 | env_nrep(2) = 1
15 | env_nrep(3) = 1
16 | !
17 | /
18 | &BOUNDARY
19 | !
20 | electrolyte_mode = 'ionic'
21 | electrolyte_alpha = 1.5D0
22 | !
23 | /
24 | &ELECTROSTATIC
25 | !
26 | pbc_correction = 'parabolic'
27 | pbc_dim = 0
28 | !
29 | /
30 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_electrolyte/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 11
15 | ntyp = 3
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-4
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | N 14 N.pbe-rrkjus.UPF
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (angstrom)
29 | N -1.29405370 0.00000009 0.00160193
30 | C -0.65255172 1.18925086 0.00109798
31 | C 0.72927125 1.20927160 0.00077403
32 | C 1.42556924 0.00000010 0.00069792
33 | C 0.72927138 -1.20927146 0.00140341
34 | C -0.65255153 -1.18925032 0.00187670
35 | H -1.27676235 2.08397459 0.00090457
36 | H 1.24837996 2.16895032 0.00042522
37 | H 2.51813531 -0.00000009 0.00001054
38 | H 1.24838024 -2.16895013 0.00169726
39 | H -1.27676191 -2.08397409 0.00258267
40 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/externals_0d_dielectric_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | env_nrep(1) = 1
8 | !
9 | /
10 | &BOUNDARY
11 | !
12 | solvent_mode = 'full'
13 | !
14 | /
15 | &ELECTROSTATIC
16 | tol = 1.d-7
17 | /
18 | EXTERNAL_CHARGES ( bohr )
19 | -1.0 0. 0. 15.
20 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/externals_0d_vacuum_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | env_nrep(1) = 1
7 | !
8 | /
9 | &ELECTROSTATIC
10 | /
11 | EXTERNAL_CHARGES ( bohr )
12 | -1.0 0. 0. 15.
13 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/externals_2d_dielectric_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | env_nrep(1) = 1
8 | !
9 | /
10 | &BOUNDARY
11 | !
12 | solvent_mode = 'full'
13 | !
14 | /
15 | &ELECTROSTATIC
16 | /
17 | EXTERNAL_CHARGES ( bohr )
18 | -1.0 0. 0. 15. 0.5 2 3
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/externals_2d_vacuum_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | env_nrep(1) = 1
7 | !
8 | /
9 | &ELECTROSTATIC
10 | /
11 | EXTERNAL_CHARGES ( bohr )
12 | -1.0 0. 0. 15. 0.5 2 3
13 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/isolated-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-6
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_externals/slab-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 2
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 1
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-6
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 8.296403369
37 | O 5.335009643 4.619623254 10.475227761
38 | Pt 8.061327071 0.098057998 4.387516393
39 | Pt 2.608989366 0.098058283 4.387514077
40 | Pt 0.000036609 4.720846294 4.364130427
41 | Pt 5.335159557 4.721612729 4.775569927
42 | Pt 0.000041121 7.802951963 0.000000000
43 | Pt 5.335161233 7.697749113 0.148862900
44 | Pt 2.697860636 3.152173889 0.083785821
45 | Pt 7.972463687 3.152174491 0.083788701
46 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/charged-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | assume_isolated = 'martyna-tuckerman'
18 | !
19 | /
20 | &ELECTRONS
21 | !
22 | conv_thr = 5.D-3
23 | !
24 | /
25 | K_POINTS gamma
26 | ATOMIC_SPECIES
27 | C 12 C.pbe-rrkjus.UPF
28 | H 1 H.pbe-rrkjus.UPF
29 | N 14 N.pbe-rrkjus.UPF
30 | O 16 O.pbe-rrkjus.UPF
31 | ATOMIC_POSITIONS (angstrom)
32 | C 0.00000000 0.00000000 0.00000000
33 | C 0.00000000 0.00000000 1.54000000
34 | N 1.23930016 0.00000000 -0.57682849
35 | H 0.50443009 -0.87363574 1.89666635
36 | H -1.00880561 -0.00003153 1.89666685
37 | H 0.50437546 0.87366728 1.89666635
38 | O -1.04142313 -0.00001984 -0.67873289
39 | H 1.33683990 -0.00001602 -1.56165223
40 | H 2.05812401 0.00014187 -0.02721695
41 | H -0.81532010 -0.00004711 -1.61172668
42 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/dielectric-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | pbc_dim = 0
16 | !
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/externals_0d_dielectric_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | env_nrep(1) = 1
8 | env_nrep(2) = 1
9 | env_nrep(3) = 1
10 | !
11 | /
12 | &BOUNDARY
13 | !
14 | solvent_mode = 'full'
15 | !
16 | /
17 | &ELECTROSTATIC
18 | /
19 | EXTERNAL_CHARGES ( bohr )
20 | -1.0 0. 0. 15.
21 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/externals_0d_vacuum_default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &ELECTROSTATIC
12 | /
13 | EXTERNAL_CHARGES ( bohr )
14 | -1.0 0. 0. 15.
15 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/isolated-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | assume_isolated = 'martyna-tuckerman'
18 | !
19 | /
20 | &ELECTRONS
21 | !
22 | conv_thr = 5.D-6
23 | !
24 | /
25 | K_POINTS gamma
26 | ATOMIC_SPECIES
27 | C 12 C.pbe-rrkjus.UPF
28 | H 1 H.pbe-rrkjus.UPF
29 | N 14 N.pbe-rrkjus.UPF
30 | O 16 O.pbe-rrkjus.UPF
31 | ATOMIC_POSITIONS (angstrom)
32 | C 0.00000000 0.00000000 0.00000000
33 | C 0.00000000 0.00000000 1.54000000
34 | N 1.23930016 0.00000000 -0.57682849
35 | H 0.50443009 -0.87363574 1.89666635
36 | H -1.00880561 -0.00003153 1.89666685
37 | H 0.50437546 0.87366728 1.89666635
38 | O -1.04142313 -0.00001984 -0.67873289
39 | H 1.33683990 -0.00001602 -1.56165223
40 | H 2.05812401 0.00014187 -0.02721695
41 | H -0.81532010 -0.00004711 -1.61172668
42 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_mt/neutral-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | assume_isolated = 'martyna-tuckerman'
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | H 1 H.pbe-rrkjus.UPF
27 | O 16 O.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (bohr)
29 | O 11.79 12.05 11.50
30 | H 13.45 11.22 11.50
31 | H 10.56 10.66 11.50
32 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_periodic/charged-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_periodic/neutral-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_periodic/periodic-dielectric-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | pbc_correction = 'parabolic'
16 | pbc_dim = 0
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_periodic/periodic-vacuum-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &ELECTROSTATIC
12 | !
13 | pbc_dim = 0
14 | pbc_correction = 'parabolic'
15 | !
16 | /
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_regions/insphere-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_dielectric_regions = 1
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | tol = 1.D-13
16 | !
17 | /
18 | DIELECTRIC_REGIONS (bohr)
19 | 100 1 11.79 12.05 11.50 6.0
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_regions/outslab-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_dielectric_regions = 1
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | tol = 1.D-15
16 | !
17 | /
18 | DIELECTRIC_REGIONS (bohr)
19 | 100 1 0. 0. 6. 2.0 0.5 2 3
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_regions/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | mixing_beta = 0.3
21 | conv_thr = 1.D-8
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | H 1 H.pbe-rrkjus.UPF
27 | O 16 O.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (bohr)
29 | O 11.79 12.05 11.50
30 | H 13.45 11.22 11.50
31 | H 10.56 10.66 11.50
32 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_slab/charged-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 2.0000
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 1
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-5
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 12.901029877
37 | O 5.335009643 4.619623254 15.079854269
38 | Pt 8.061327071 0.098057998 8.992142901
39 | Pt 2.608989366 0.098058283 8.992140585
40 | Pt 0.000036609 4.720846294 8.968756935
41 | Pt 5.335159557 4.721612729 9.380196435
42 | Pt 0.000041121 7.802951963 4.604626508
43 | Pt 5.335161233 7.697749113 4.753489408
44 | Pt 2.697860636 3.152173889 4.688412329
45 | Pt 7.972463687 3.152174491 4.688415209
46 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_slab/neutral-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 2.0000
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 0
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-6
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 12.901029877
37 | O 5.335009643 4.619623254 15.079854269
38 | Pt 8.061327071 0.098057998 8.992142901
39 | Pt 2.608989366 0.098058283 8.992140585
40 | Pt 0.000036609 4.720846294 8.968756935
41 | Pt 5.335159557 4.721612729 9.380196435
42 | Pt 0.000041121 7.802951963 4.604626508
43 | Pt 5.335161233 7.697749113 4.753489408
44 | Pt 2.697860636 3.152173889 4.688412329
45 | Pt 7.972463687 3.152174491 4.688415209
46 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_slab/periodic-dielectric-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(3) = 1
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'full'
12 | !
13 | /
14 | &ELECTROSTATIC
15 | pbc_dim = 2
16 | pbc_axis = 3
17 | pbc_correction = 'parabolic'
18 | tol = 1d-6
19 | /
20 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_slab/periodic-vacuum-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | env_nrep(3) = 1
7 | !
8 | /
9 | &ELECTROSTATIC
10 | !
11 | pbc_dim = 2
12 | pbc_axis = 3
13 | pbc_correction = 'parabolic'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_solvent-aware/local-sccs-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | env_nrep(1) = 1
8 | env_nrep(2) = 1
9 | env_nrep(3) = 1
10 | !
11 | /
12 | &BOUNDARY
13 | /
14 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_solvent-aware/local-ss-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | env_nrep(1) = 1
8 | env_nrep(2) = 1
9 | env_nrep(3) = 1
10 | !
11 | /
12 | &BOUNDARY
13 | !
14 | solvent_mode = 'ionic'
15 | !
16 | /
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_solvent-aware/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 15
14 | nat = 6
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 | O 11.79 12.05 19.00
32 | H 13.45 11.22 19.00
33 | H 10.56 10.66 19.00
34 |
35 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_solvent-aware/sa-sccs-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | env_nrep(1) = 1
8 | env_nrep(2) = 1
9 | env_nrep(3) = 1
10 | !
11 | /
12 | &BOUNDARY
13 | !
14 | solvent_radius = 3.0
15 | filling_threshold = 0.30
16 | !
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_solvent-aware/sa-ss-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | env_nrep(1) = 1
8 | env_nrep(2) = 1
9 | env_nrep(3) = 1
10 | !
11 | /
12 | &BOUNDARY
13 | !
14 | solvent_mode = 'ionic'
15 | solvent_radius = 3.0
16 | filling_threshold = 0.30
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_spin/dielectric-pcc-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | !
15 | pbc_correction = 'parabolic'
16 | pbc_dim = 0
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_spin/radical-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm( 1 ) = 10
14 | nat = 2
15 | ntyp = 2
16 | nbnd = 6
17 | tot_charge = 0
18 | nspin = 2
19 | starting_magnetization(1) = 1
20 | occupations = 'smearing'
21 | smearing = 'gaussian'
22 | degauss = 0.01
23 | nosym = .true.
24 | !
25 | /
26 | &ELECTRONS
27 | !
28 | conv_thr = 5.D-3
29 | !
30 | /
31 | K_POINTS (gamma)
32 | ATOMIC_SPECIES
33 | C 12 C.pbe-rrkjus.UPF
34 | H 1 H.pbe-rrkjus.UPF
35 | ATOMIC_POSITIONS (angstrom)
36 | C 0.00000000 0.00000000 0.16007400
37 | H 0.00000000 0.00000000 -0.96044600
38 |
39 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_spin/vacuum-pcc-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &ELECTROSTATIC
12 | !
13 | pbc_dim = 0
14 | pbc_correction = 'parabolic'
15 | !
16 | /
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/surface-sccs-fft-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | deriv_method = 'fft'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/surface-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/surface-ss-fft-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | deriv_method = 'fft'
15 | !
16 | /
17 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/surface-sys-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'system'
14 | solvent_distance = 3.D0
15 | solvent_spread = 0.5D0
16 | !
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_surface/surface-sys-fft-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'system'
14 | solvent_distance = 3.D0
15 | solvent_spread = 0.5D0
16 | deriv_method = 'fft'
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_volume/pw-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_volume/volume-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_volume/volume-sys-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'system'
14 | solvent_distance = 3.D0
15 | solvent_spread = 0.5D0
16 | !
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/anion-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 4
15 | ntyp = 2
16 | tot_charge = -1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (angstrom)
29 | C 0.0000 0.0000 0.3144
30 | H -0.0000 1.0390 -0.0700
31 | H 0.9000 -0.5198 -0.0700
32 | H -0.9000 -0.5198 -0.0700
33 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/cation-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/neutral-dblcell.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 10
14 | nat = 9
15 | ntyp = 4
16 | tot_charge = 0
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-anion-sccs-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-anion'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-anion-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-anion'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 | &ELECTROSTATIC
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-cation-sccs-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-cation'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-cation-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-cation'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 | &ELECTROSTATIC
17 | /
18 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-neutral-sccs-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/doublecell/pw_water/water-neutral-ss-default-dblcell.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water'
6 | env_nrep(1) = 1
7 | env_nrep(2) = 1
8 | env_nrep(3) = 1
9 | !
10 | /
11 | &BOUNDARY
12 | !
13 | solvent_mode = 'ionic'
14 | !
15 | /
16 | &ELECTROSTATIC
17 | /
18 |
--------------------------------------------------------------------------------
/tests/environment.in:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------------------------------
2 | #
3 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
4 | # Copyright (C) 2001-2017 Quantum ESPRESSO (www.quantum-espresso.org)
5 | #
6 | #----------------------------------------------------------------------------------------
7 | #
8 | # This file is part of Environ version 3.0
9 | #
10 | # Environ 3.0 is free software: you can redistribute it and/or modify
11 | # it under the terms of the GNU General Public License as published by
12 | # the Free Software Foundation, either version 2 of the License, or
13 | # (at your option) any later version.
14 | #
15 | # Environ 3.0 is distributed in the hope that it will be useful,
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | # GNU General Public License for more detail, either the file
19 | # `License' in the root directory of the present distribution, or
20 | # online at .
21 | #
22 | #----------------------------------------------------------------------------------------
23 | #
24 | # Authors: Oliviero Andreussi (Department of Physics, UNT)
25 | # Edan Bainglass (Department of Physics, UNT)
26 | #
27 | #----------------------------------------------------------------------------------------
28 | #
29 | # This file was adapted from the following Quantum ESPRESSO v6.1 file:
30 | #
31 | # QE/test-suite/ENVIRONMENT
32 | #
33 | #----------------------------------------------------------------------------------------
34 |
35 | # Edit this line every time a new reference is created
36 | export REFERENCE_VERSION=GIT
37 |
38 | ####################################################################################
39 |
40 | # Edit this line _ONLY_ iff you run test-code outside the QE main directory
41 | export ENVIRON_ROOT=${PWD}/../
42 | export ESPRESSO_ROOT=
43 |
44 | export ESPRESSO_PSEUDO=${ESPRESSO_ROOT}/pseudo
45 | export ESPRESSO_TMPDIR=${ESPRESSO_ROOT}/tempdir
46 | export NETWORK_PSEUDO=https://www.quantum-espresso.org/wp-content/uploads/upf_files/
47 | export TESTCODE_DIR=${ENVIRON_ROOT}/tests/testcode
48 |
49 | export TESTCODE_NPROCS=4
50 |
51 | export JOBCONFIG=jobconfig
52 |
--------------------------------------------------------------------------------
/tests/extract-pw.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #----------------------------------------------------------------------------------------
3 | #
4 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
5 | # Copyright (C) 2001-2017 Quantum ESPRESSO (www.quantum-espresso.org)
6 | #
7 | #----------------------------------------------------------------------------------------
8 | #
9 | # This file is part of Environ version 3.0
10 | #
11 | # Environ 3.0 is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 2 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # Environ 3.0 is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more detail, either the file
20 | # `License' in the root directory of the present distribution, or
21 | # online at .
22 | #
23 | #----------------------------------------------------------------------------------------
24 | #
25 | # Authors: Oliviero Andreussi (Department of Physics, UNT)
26 | #
27 | #----------------------------------------------------------------------------------------
28 | #
29 | # This file was adapted from the following Quantum ESPRESSO v6.1 file:
30 | #
31 | # QE/test-suite/extract-pw.sh
32 | #
33 | #----------------------------------------------------------------------------------------
34 |
35 | fname=$1
36 |
37 | # SCF
38 | e1=`grep ! $fname | tail -1 | awk '{printf "%12.6f\n", $5}'`
39 | n1=`grep 'convergence has' $fname | tail -1 | awk '{print $6}'`
40 | f1=`grep "Total force" $fname | head -1 | awk '{printf "%8.4f\n", $4}'`
41 | p1=`grep "P= " $fname | tail -1 | awk '{print $6}'`
42 |
43 | if test "$e1" != ""; then
44 | echo e1
45 | echo $e1
46 | fi
47 |
48 | if test "$n1" != ""; then
49 | echo n1
50 | echo $n1
51 | fi
52 |
53 | if test "$f1" != ""; then
54 | echo f1
55 | echo $f1
56 | fi
57 |
58 | if test "$p1" != ""; then
59 | echo p1
60 | echo $p1
61 | fi
62 |
--------------------------------------------------------------------------------
/tests/pw_confine/confine-sccs.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | /
6 | &BOUNDARY
7 | solvent_mode = 'full'
8 | rhomax = 0.005
9 | rhomin = 0.0001
10 | /
11 | &ELECTROSTATIC
12 | /
13 |
14 |
--------------------------------------------------------------------------------
/tests/pw_confine/confine-ss.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | /
6 | &BOUNDARY
7 | solvent_mode = 'ionic'
8 | alpha = 1.2
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
13 |
--------------------------------------------------------------------------------
/tests/pw_confine/confine-system.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | environ_thr = 10.0
3 | environ_type = 'vacuum'
4 | env_confine = 0.5
5 | system_dim = 0
6 | /
7 | &BOUNDARY
8 | solvent_mode = 'system'
9 | solvent_distance = 4.5
10 | /
11 | &ELECTROSTATIC
12 | /
13 |
14 |
--------------------------------------------------------------------------------
/tests/pw_confine/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | calculation = 'scf'
3 | restart_mode = 'from_scratch'
4 | tprnfor = .true.
5 | /
6 | &SYSTEM
7 | tot_charge = -1
8 | ecutwfc = 40
9 | ecutrho = 320
10 | nosym = .true.
11 | nspin = 1
12 | assume_isolated = 'm-t'
13 | ntyp = 1
14 | nat = 1
15 | ibrav = 1
16 | celldm(1) = 20.
17 | /
18 | &ELECTRONS
19 | conv_thr = 5e-08
20 | diagonalization = 'cg'
21 | /
22 | &IONS
23 | /
24 | &CELL
25 | /
26 |
27 | ATOMIC_SPECIES
28 | H 1 H.pbe-rrkjus.UPF
29 |
30 | K_POINTS gamma
31 |
32 | ATOMIC_POSITIONS angstrom
33 | H 0.000000000 0.00000000 0.00000000
34 |
35 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/charged.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-6
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-sccs-iter-aux.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | solver = 'fixed-point'
13 | auxiliary = 'full'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-sccs-psd.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | solver = 'sd'
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-ss-iter-aux.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | !
15 | solver = 'fixed-point'
16 | auxiliary = 'full'
17 | !
18 | /
19 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-sys-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'system'
11 | solvent_distance = 6.D0
12 | solvent_spread = 0.5D0
13 | !
14 | /
15 | &ELECTROSTATIC
16 | /
17 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/dielectric-sys-iter-aux.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'system'
11 | solvent_distance = 6.D0
12 | solvent_spread = 0.5D0
13 | !
14 | /
15 | &ELECTROSTATIC
16 | !
17 | solver = 'fixed-point'
18 | auxiliary = 'full'
19 | !
20 | /
21 |
--------------------------------------------------------------------------------
/tests/pw_dielectric/neutral.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lmpb-sccs-stern_full.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_linearized = .true.
14 | !
15 | /
16 | &BOUNDARY
17 | !
18 | electrolyte_rhomax=0.000700
19 | electrolyte_rhomin=0.000015
20 | !
21 | /
22 | &ELECTROSTATIC
23 | !
24 | pbc_correction = 'parabolic'
25 | pbc_dim = 0
26 | !
27 | /
28 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lmpb-sccs-stern_ions.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_entropy = 'ions'
14 | electrolyte_linearized = .true.
15 | !
16 | /
17 | &BOUNDARY
18 | !
19 | electrolyte_rhomax=0.000700
20 | electrolyte_rhomin=0.000015
21 | !
22 | /
23 | &ELECTROSTATIC
24 | !
25 | pbc_correction = 'parabolic'
26 | pbc_dim = 0
27 | !
28 | /
29 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lmpb-ss-stern_full.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_linearized = .true.
14 | !
15 | /
16 | &BOUNDARY
17 | !
18 | electrolyte_mode = 'ionic'
19 | electrolyte_alpha = 1.5D0
20 | !
21 | /
22 | &ELECTROSTATIC
23 | !
24 | pbc_correction = 'parabolic'
25 | pbc_dim = 0
26 | !
27 | /
28 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lmpb-ss-stern_ions.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | rion = 2.D0
13 | electrolyte_entropy = 'ions'
14 | electrolyte_linearized = .true.
15 | !
16 | /
17 | &BOUNDARY
18 | !
19 | electrolyte_mode = 'ionic'
20 | electrolyte_alpha = 1.5D0
21 | !
22 | /
23 | &ELECTROSTATIC
24 | !
25 | pbc_correction = 'parabolic'
26 | pbc_dim = 0
27 | !
28 | /
29 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lpb-sccs.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | electrolyte_linearized = .true.
13 | !
14 | /
15 | &BOUNDARY
16 | !
17 | electrolyte_rhomax=0.000700
18 | electrolyte_rhomin=0.000015
19 | !
20 | /
21 | &ELECTROSTATIC
22 | !
23 | pbc_correction = 'parabolic'
24 | pbc_dim = 0
25 | !
26 | /
27 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/electrolyte-lpb-ss.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 20.
6 | env_electrolyte_ntyp = 2
7 | temperature = 300.
8 | cion(1) = 8.D0
9 | cion(2) = 8.D0
10 | zion(1) = 1
11 | zion(2) = -1
12 | electrolyte_linearized = .true.
13 | !
14 | /
15 | &BOUNDARY
16 | !
17 | electrolyte_mode = 'ionic'
18 | electrolyte_alpha = 1.5D0
19 | !
20 | /
21 | &ELECTROSTATIC
22 | !
23 | pbc_correction = 'parabolic'
24 | pbc_dim = 0
25 | !
26 | /
27 |
--------------------------------------------------------------------------------
/tests/pw_electrolyte/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 11
15 | ntyp = 3
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-4
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | N 14 N.pbe-rrkjus.UPF
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (angstrom)
29 | N -1.29405370 0.00000009 0.00160193
30 | C -0.65255172 1.18925086 0.00109798
31 | C 0.72927125 1.20927160 0.00077403
32 | C 1.42556924 0.00000010 0.00069792
33 | C 0.72927138 -1.20927146 0.00140341
34 | C -0.65255153 -1.18925032 0.00187670
35 | H -1.27676235 2.08397459 0.00090457
36 | H 1.24837996 2.16895032 0.00042522
37 | H 2.51813531 -0.00000009 0.00001054
38 | H 1.24838024 -2.16895013 0.00169726
39 | H -1.27676191 -2.08397409 0.00258267
40 |
--------------------------------------------------------------------------------
/tests/pw_externals/externals_0d_dielectric_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'full'
12 | !
13 | /
14 | &ELECTROSTATIC
15 | /
16 | EXTERNAL_CHARGES ( bohr )
17 | -1.0 0. 0. 15.
18 |
--------------------------------------------------------------------------------
/tests/pw_externals/externals_0d_vacuum_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | !
7 | /
8 | &ELECTROSTATIC
9 | /
10 | EXTERNAL_CHARGES ( bohr )
11 | -1.0 0. 0. 15.
12 |
--------------------------------------------------------------------------------
/tests/pw_externals/externals_2d_dielectric_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'full'
12 | !
13 | /
14 | &ELECTROSTATIC
15 | /
16 | EXTERNAL_CHARGES ( bohr )
17 | -1.0 0. 0. 15. 0.5 2 3
18 |
--------------------------------------------------------------------------------
/tests/pw_externals/externals_2d_vacuum_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | !
7 | /
8 | &ELECTROSTATIC
9 | /
10 | EXTERNAL_CHARGES ( bohr )
11 | -1.0 0. 0. 15. 0.5 2 3
12 |
--------------------------------------------------------------------------------
/tests/pw_externals/isolated.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-6
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/pw_externals/slab.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 3.95422
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 1
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-6
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 8.296403369
37 | O 5.335009643 4.619623254 10.475227761
38 | Pt 8.061327071 0.098057998 4.387516393
39 | Pt 2.608989366 0.098058283 4.387514077
40 | Pt 0.000036609 4.720846294 4.364130427
41 | Pt 5.335159557 4.721612729 4.775569927
42 | Pt 0.000041121 7.802951963 0.000000000
43 | Pt 5.335161233 7.697749113 0.148862900
44 | Pt 2.697860636 3.152173889 0.083785821
45 | Pt 7.972463687 3.152174491 0.083788701
46 |
--------------------------------------------------------------------------------
/tests/pw_field-aware/fa-ss.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'ionic'
12 | field_aware = .TRUE.
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_field-aware/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 25
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/pw_gcs/gcs-solvent.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | verbose = 1,
3 | environ_thr = 10.,
4 | system_axis = 3,
5 | system_dim = 2,
6 | env_static_permittivity = 80,
7 | env_electrolyte_ntyp = 2,
8 | temperature = 300,
9 | electrolyte_linearized = .false.,
10 | zion(1) = 1,
11 | cion(1) = 0.01,
12 | zion(2) = -1,
13 | cion(2) = 0.01
14 | /
15 | &BOUNDARY
16 | electrolyte_spread = 0.001,
17 | electrolyte_distance = 20.2137,
18 | electrolyte_mode = 'system',
19 | /
20 | &ELECTROSTATIC
21 | solver = 'fixed-point'
22 | auxiliary = 'full'
23 | pbc_correction = 'gcs'
24 | pbc_dim = 2
25 | pbc_axis = 3
26 | tol = 1e-11,
27 | /
28 |
--------------------------------------------------------------------------------
/tests/pw_gcs/gcs-vacuum.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | verbose = 1,
3 | environ_thr = 10.,
4 | system_axis = 3,
5 | system_dim = 2,
6 | env_electrolyte_ntyp = 2,
7 | temperature = 300,
8 | electrolyte_linearized = .false.,
9 | zion(1) = 1,
10 | cion(1) = 0.01,
11 | zion(2) = -1,
12 | cion(2) = 0.01
13 | /
14 | &BOUNDARY
15 | electrolyte_spread = 0.001,
16 | electrolyte_distance = 20.2137,
17 | electrolyte_mode = 'system',
18 | /
19 | &ELECTROSTATIC
20 | pbc_correction = 'gcs'
21 | pbc_dim = 2
22 | pbc_axis = 3
23 | tol = 1e-11,
24 | /
25 |
--------------------------------------------------------------------------------
/tests/pw_gcs/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | calculation = 'scf',
3 | tprnfor = .true.,
4 | /
5 | &SYSTEM
6 | nspin = 1,
7 | ecutwfc = 35,
8 | nat = 2,
9 | occupations = 'smearing',
10 | ibrav = 0,
11 | degauss = 0.01,
12 | smearing = 'marzari-vanderbilt',
13 | tot_charge = 0,
14 | ntyp = 1,
15 | ecutrho = 350,
16 | /
17 | &ELECTRONS
18 | mixing_beta = 0.3
19 | conv_thr = 1e-06,
20 | /
21 | &IONS
22 | /
23 | ATOMIC_SPECIES
24 | Ag 107.868000 Ag.pbe-n-rrkjus_psl.1.0.0.UPF
25 | ATOMIC_POSITIONS {bohr}
26 | Ag 2.771763 2.771763 18.897260
27 | Ag 0.000000 0.000000 22.740340
28 | K_POINTS {automatic}
29 | 1 1 1 0 0 0
30 | CELL_PARAMETERS {bohr}
31 | 5.543526 0.000000 0.000000
32 | 0.000000 5.543526 0.000000
33 | 0.000000 0.000000 65.08548
34 |
--------------------------------------------------------------------------------
/tests/pw_ms/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/environ-developers/Environ/18d94213f633b8ba721b61251178feccaa51720f/tests/pw_ms/.DS_Store
--------------------------------------------------------------------------------
/tests/pw_ms/ms-solvent.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | verbose = 1,
3 | environ_thr = 0.1,
4 | system_axis = 3,
5 | system_dim = 2,
6 | env_static_permittivity = 11,
7 | temperature = 300,
8 | sc_permittivity = 11,
9 | sc_carrier_density = 1.D17,
10 | /
11 | &BOUNDARY
12 | sc_spread = 0.001,
13 | sc_distance = 10.2137
14 | electrolyte_spread = 0.001,
15 | electrolyte_distance = 20.2137,
16 | electrolyte_mode = 'system',
17 | /
18 | &ELECTROSTATIC
19 | problem = 'generalized'
20 | solver = 'fixed-point'
21 | auxiliary = 'full'
22 | pbc_correction = 'ms'
23 | pbc_dim = 2
24 | pbc_axis = 3
25 | tol = 1e-11,
26 | /
27 |
--------------------------------------------------------------------------------
/tests/pw_ms/ms-vacuum.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | verbose = 1,
3 | environ_thr = 0.1,
4 | system_axis = 3,
5 | system_dim = 2,
6 | temperature = 300,
7 | sc_permittivity = 11,
8 | sc_carrier_density = 1.D18,
9 | /
10 | &BOUNDARY
11 | sc_spread = 0.001,
12 | sc_distance = 10.2137
13 | electrolyte_spread = 0.001,
14 | electrolyte_distance = 20.2137,
15 | electrolyte_mode = 'system',
16 | /
17 | &ELECTROSTATIC
18 | problem = 'poisson'
19 | solver = 'direct'
20 | pbc_correction = 'ms'
21 | pbc_dim = 2
22 | pbc_axis = 3
23 | tol = 1e-11,
24 | /
25 |
--------------------------------------------------------------------------------
/tests/pw_ms/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | calculation = 'scf',
3 | tprnfor = .true.,
4 | forc_conv_thr = 0.001,
5 | /
6 | &SYSTEM
7 | nspin = 1,
8 | ecutwfc = 35,
9 | nat = 2,
10 | occupations = 'smearing',
11 | ibrav = 0,
12 | degauss = 0.02,
13 | smearing = 'marzari-vanderbilt',
14 | tot_charge = 0.003,
15 | ntyp = 1,
16 | ecutrho = 350,
17 | /
18 | &ELECTRONS
19 | electron_maxstep = 200,
20 | conv_thr = 5e-09,
21 | /
22 | &IONS
23 | ion_dynamics = 'bfgs',
24 | /
25 | ATOMIC_SPECIES
26 | Ag 107.868000 Ag.pbe-n-rrkjus_psl.1.0.0.UPF
27 | ATOMIC_POSITIONS {bohr}
28 | Ag 2.771763 2.771763 18.897260
29 | Ag 0.000000 0.000000 22.740340
30 | K_POINTS {automatic}
31 | 1 1 1 0 0 0
32 | CELL_PARAMETERS {bohr}
33 | 5.543526 0.000000 0.000000
34 | 0.000000 5.543526 0.000000
35 | 0.000000 0.000000 65.08548
36 |
--------------------------------------------------------------------------------
/tests/pw_mt/charged.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | assume_isolated = 'martyna-tuckerman'
18 | !
19 | /
20 | &ELECTRONS
21 | !
22 | conv_thr = 5.D-3
23 | !
24 | /
25 | K_POINTS gamma
26 | ATOMIC_SPECIES
27 | C 12 C.pbe-rrkjus.UPF
28 | H 1 H.pbe-rrkjus.UPF
29 | N 14 N.pbe-rrkjus.UPF
30 | O 16 O.pbe-rrkjus.UPF
31 | ATOMIC_POSITIONS (angstrom)
32 | C 0.00000000 0.00000000 0.00000000
33 | C 0.00000000 0.00000000 1.54000000
34 | N 1.23930016 0.00000000 -0.57682849
35 | H 0.50443009 -0.87363574 1.89666635
36 | H -1.00880561 -0.00003153 1.89666685
37 | H 0.50437546 0.87366728 1.89666635
38 | O -1.04142313 -0.00001984 -0.67873289
39 | H 1.33683990 -0.00001602 -1.56165223
40 | H 2.05812401 0.00014187 -0.02721695
41 | H -0.81532010 -0.00004711 -1.61172668
42 |
--------------------------------------------------------------------------------
/tests/pw_mt/dielectric-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | pbc_dim = 0
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_mt/externals_0d_dielectric_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | env_external_charges = 1
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'full'
12 | !
13 | /
14 | &ELECTROSTATIC
15 | /
16 | EXTERNAL_CHARGES ( bohr )
17 | -1.0 0. 0. 15.
18 |
--------------------------------------------------------------------------------
/tests/pw_mt/externals_0d_vacuum_default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_external_charges = 1
6 | !
7 | /
8 | &ELECTROSTATIC
9 | /
10 | EXTERNAL_CHARGES ( bohr )
11 | -1.0 0. 0. 15.
12 |
--------------------------------------------------------------------------------
/tests/pw_mt/isolated.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | assume_isolated = 'martyna-tuckerman'
18 | !
19 | /
20 | &ELECTRONS
21 | !
22 | conv_thr = 5.D-6
23 | !
24 | /
25 | K_POINTS gamma
26 | ATOMIC_SPECIES
27 | C 12 C.pbe-rrkjus.UPF
28 | H 1 H.pbe-rrkjus.UPF
29 | N 14 N.pbe-rrkjus.UPF
30 | O 16 O.pbe-rrkjus.UPF
31 | ATOMIC_POSITIONS (angstrom)
32 | C 0.00000000 0.00000000 0.00000000
33 | C 0.00000000 0.00000000 1.54000000
34 | N 1.23930016 0.00000000 -0.57682849
35 | H 0.50443009 -0.87363574 1.89666635
36 | H -1.00880561 -0.00003153 1.89666685
37 | H 0.50437546 0.87366728 1.89666635
38 | O -1.04142313 -0.00001984 -0.67873289
39 | H 1.33683990 -0.00001602 -1.56165223
40 | H 2.05812401 0.00014187 -0.02721695
41 | H -0.81532010 -0.00004711 -1.61172668
42 |
--------------------------------------------------------------------------------
/tests/pw_mt/neutral.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | assume_isolated = 'martyna-tuckerman'
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | H 1 H.pbe-rrkjus.UPF
27 | O 16 O.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (bohr)
29 | O 11.79 12.05 11.50
30 | H 13.45 11.22 11.50
31 | H 10.56 10.66 11.50
32 |
--------------------------------------------------------------------------------
/tests/pw_periodic/charged.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 5.D-6
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/pw_periodic/neutral.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/pw_periodic/periodic-dielectric-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | pbc_correction = 'parabolic'
13 | pbc_dim = 0
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/pw_periodic/periodic-vacuum-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | !
7 | /
8 | &ELECTROSTATIC
9 | !
10 | pbc_dim = 0
11 | pbc_correction = 'parabolic'
12 | !
13 | /
14 |
--------------------------------------------------------------------------------
/tests/pw_regions/insphere-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_dielectric_regions = 1
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | tol = 1.D-13
13 | !
14 | /
15 | DIELECTRIC_REGIONS (bohr)
16 | 100 1 11.79 12.05 11.50 6.0
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/pw_regions/outslab-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_dielectric_regions = 1
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | tol = 1.D-15
13 | !
14 | /
15 | DIELECTRIC_REGIONS (bohr)
16 | 100 1 0. 0. 6. 2.0 0.5 2 3
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/pw_regions/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | mixing_beta = 0.3
21 | conv_thr = 1.D-8
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | H 1 H.pbe-rrkjus.UPF
27 | O 16 O.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (bohr)
29 | O 11.79 12.05 11.50
30 | H 13.45 11.22 11.50
31 | H 10.56 10.66 11.50
32 |
--------------------------------------------------------------------------------
/tests/pw_slab/charged.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 3.95422
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 1
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-6
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 12.901029877
37 | O 5.335009643 4.619623254 15.079854269
38 | Pt 8.061327071 0.098057998 8.992142901
39 | Pt 2.608989366 0.098058283 8.992140585
40 | Pt 0.000036609 4.720846294 8.968756935
41 | Pt 5.335159557 4.721612729 9.380196435
42 | Pt 0.000041121 7.802951963 4.604626508
43 | Pt 5.335161233 7.697749113 4.753489408
44 | Pt 2.697860636 3.152173889 4.688412329
45 | Pt 7.972463687 3.152174491 4.688415209
46 |
--------------------------------------------------------------------------------
/tests/pw_slab/neutral.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ibrav = 8
11 | celldm(1) = 10.6881
12 | celldm(2) = 0.866025
13 | celldm(3) = 3.95422
14 | nat = 10
15 | ntyp = 3
16 | ecutwfc = 35
17 | ecutrho = 300
18 | occupations = 'smearing'
19 | degauss = 0.03
20 | smearing = 'mv'
21 | nbnd = 80
22 | tot_charge = 0
23 | !
24 | /
25 | &ELECTRONS
26 | !
27 | conv_thr = 5.D-6
28 | !
29 | /
30 | K_POINTS gamma
31 | ATOMIC_SPECIES
32 | C 1 C.pbe-rrkjus.UPF
33 | O 1 O.pbe-rrkjus.UPF
34 | Pt 1 Pt.pbe-n-rrkjus_psl.0.1.UPF
35 | ATOMIC_POSITIONS (bohr)
36 | C 5.335084148 4.646723426 12.901029877
37 | O 5.335009643 4.619623254 15.079854269
38 | Pt 8.061327071 0.098057998 8.992142901
39 | Pt 2.608989366 0.098058283 8.992140585
40 | Pt 0.000036609 4.720846294 8.968756935
41 | Pt 5.335159557 4.721612729 9.380196435
42 | Pt 0.000041121 7.802951963 4.604626508
43 | Pt 5.335161233 7.697749113 4.753489408
44 | Pt 2.697860636 3.152173889 4.688412329
45 | Pt 7.972463687 3.152174491 4.688415209
46 |
--------------------------------------------------------------------------------
/tests/pw_slab/periodic-dielectric-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'full'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | pbc_dim = 2
15 | pbc_axis = 3
16 | pbc_correction = 'parabolic'
17 | /
18 |
--------------------------------------------------------------------------------
/tests/pw_slab/periodic-vacuum-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | !
7 | /
8 | &ELECTROSTATIC
9 | !
10 | pbc_dim = 2
11 | pbc_axis = 3
12 | pbc_correction = 'parabolic'
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_solvent-aware/local-sccs.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | !
8 | /
9 | &BOUNDARY
10 | /
11 |
--------------------------------------------------------------------------------
/tests/pw_solvent-aware/local-ss.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'ionic'
12 | !
13 | /
14 |
--------------------------------------------------------------------------------
/tests/pw_solvent-aware/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 25
14 | nat = 6
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 | O 11.79 12.05 19.00
32 | H 13.45 11.22 19.00
33 | H 10.56 10.66 19.00
34 |
35 |
--------------------------------------------------------------------------------
/tests/pw_solvent-aware/sa-sccs.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_radius = 3.0
12 | filling_threshold = 0.30
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_solvent-aware/sa-ss.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | env_pressure = 0.5
7 | !
8 | /
9 | &BOUNDARY
10 | !
11 | solvent_mode = 'ionic'
12 | solvent_radius = 3.0
13 | filling_threshold = 0.30
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/pw_spin/dielectric-pcc.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_static_permittivity = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | !
12 | pbc_correction = 'parabolic'
13 | pbc_dim = 0
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/pw_spin/radical.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm( 1 ) = 20
14 | nat = 2
15 | ntyp = 2
16 | nbnd = 6
17 | tot_charge = 0
18 | nspin = 2
19 | starting_magnetization(1) = 1
20 | occupations = 'smearing'
21 | smearing = 'gaussian'
22 | degauss = 0.01
23 | nosym = .true.
24 | !
25 | /
26 | &ELECTRONS
27 | !
28 | conv_thr = 5.D-3
29 | !
30 | /
31 | K_POINTS (gamma)
32 | ATOMIC_SPECIES
33 | C 12 C.pbe-rrkjus.UPF
34 | H 1 H.pbe-rrkjus.UPF
35 | ATOMIC_POSITIONS (angstrom)
36 | C 0.00000000 0.00000000 0.16007400
37 | H 0.00000000 0.00000000 -0.96044600
38 |
39 |
--------------------------------------------------------------------------------
/tests/pw_spin/vacuum-pcc.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_electrostatic = .true.
6 | !
7 | /
8 | &ELECTROSTATIC
9 | !
10 | pbc_dim = 0
11 | pbc_correction = 'parabolic'
12 | !
13 | /
14 |
--------------------------------------------------------------------------------
/tests/pw_surface/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-sccs-fft.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | deriv_method = 'fft'
11 | !
12 | /
13 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-ss-fft.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | deriv_method = 'fft'
12 | !
13 | /
14 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-sys-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'system'
11 | solvent_distance = 3.D0
12 | solvent_spread = 0.5D0
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_surface/surface-sys-fft.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_surface_tension = 100.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'system'
11 | solvent_distance = 3.D0
12 | solvent_spread = 0.5D0
13 | deriv_method = 'fft'
14 | !
15 | /
16 |
--------------------------------------------------------------------------------
/tests/pw_volume/pw.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 3
15 | ntyp = 2
16 | !
17 | /
18 | &ELECTRONS
19 | !
20 | conv_thr = 5.D-3
21 | !
22 | /
23 | K_POINTS gamma
24 | ATOMIC_SPECIES
25 | H 1 H.pbe-rrkjus.UPF
26 | O 16 O.pbe-rrkjus.UPF
27 | ATOMIC_POSITIONS (bohr)
28 | O 11.79 12.05 11.50
29 | H 13.45 11.22 11.50
30 | H 10.56 10.66 11.50
31 |
--------------------------------------------------------------------------------
/tests/pw_volume/volume-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 |
--------------------------------------------------------------------------------
/tests/pw_volume/volume-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 |
--------------------------------------------------------------------------------
/tests/pw_volume/volume-sys-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | env_pressure = 10.
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'system'
11 | solvent_distance = 3.D0
12 | solvent_spread = 0.5D0
13 | !
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_water/anion.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 4
15 | ntyp = 2
16 | tot_charge = -1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | ATOMIC_POSITIONS (angstrom)
29 | C 0.0000 0.0000 0.3144
30 | H -0.0000 1.0390 -0.0700
31 | H 0.9000 -0.5198 -0.0700
32 | H -0.9000 -0.5198 -0.0700
33 |
--------------------------------------------------------------------------------
/tests/pw_water/cation.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 10
15 | ntyp = 4
16 | tot_charge = 1
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 | H -0.81532010 -0.00004711 -1.61172668
41 |
--------------------------------------------------------------------------------
/tests/pw_water/neutral.in:
--------------------------------------------------------------------------------
1 | &CONTROL
2 | !
3 | calculation = 'scf'
4 | restart_mode = 'from_scratch'
5 | tprnfor = .TRUE.
6 | !
7 | /
8 | &SYSTEM
9 | !
10 | ecutrho = 300
11 | ecutwfc = 30
12 | ibrav = 1
13 | celldm(1) = 20
14 | nat = 9
15 | ntyp = 4
16 | tot_charge = 0
17 | !
18 | /
19 | &ELECTRONS
20 | !
21 | conv_thr = 1.D-3
22 | !
23 | /
24 | K_POINTS gamma
25 | ATOMIC_SPECIES
26 | C 12 C.pbe-rrkjus.UPF
27 | H 1 H.pbe-rrkjus.UPF
28 | N 14 N.pbe-rrkjus.UPF
29 | O 16 O.pbe-rrkjus.UPF
30 | ATOMIC_POSITIONS (angstrom)
31 | C 0.00000000 0.00000000 0.00000000
32 | C 0.00000000 0.00000000 1.54000000
33 | N 1.23930016 0.00000000 -0.57682849
34 | H 0.50443009 -0.87363574 1.89666635
35 | H -1.00880561 -0.00003153 1.89666685
36 | H 0.50437546 0.87366728 1.89666635
37 | O -1.04142313 -0.00001984 -0.67873289
38 | H 1.33683990 -0.00001602 -1.56165223
39 | H 2.05812401 0.00014187 -0.02721695
40 |
--------------------------------------------------------------------------------
/tests/pw_water/water-anion-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-anion'
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
--------------------------------------------------------------------------------
/tests/pw_water/water-anion-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-anion'
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_water/water-cation-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-cation'
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
--------------------------------------------------------------------------------
/tests/pw_water/water-cation-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water-cation'
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/pw_water/water-neutral-sccs-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water'
6 | !
7 | /
8 | &BOUNDARY
9 | /
10 | &ELECTROSTATIC
11 | /
12 |
--------------------------------------------------------------------------------
/tests/pw_water/water-neutral-ss-default.in:
--------------------------------------------------------------------------------
1 | &ENVIRON
2 | !
3 | verbose = 1
4 | environ_thr = 1.d2
5 | environ_type = 'water'
6 | !
7 | /
8 | &BOUNDARY
9 | !
10 | solvent_mode = 'ionic'
11 | !
12 | /
13 | &ELECTROSTATIC
14 | /
15 |
--------------------------------------------------------------------------------
/tests/run-pw.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #----------------------------------------------------------------------------------------
3 | #
4 | # Copyright (C) 2018-2022 ENVIRON (www.quantum-environ.org)
5 | # Copyright (C) 2001-2017 Quantum ESPRESSO (www.quantum-espresso.org)
6 | #
7 | #----------------------------------------------------------------------------------------
8 | #
9 | # This file is part of Environ version 3.0
10 | #
11 | # Environ 3.0 is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 2 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # Environ 3.0 is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more detail, either the file
20 | # `License' in the root directory of the present distribution, or
21 | # online at .
22 | #
23 | #----------------------------------------------------------------------------------------
24 | #
25 | # Authors: Oliviero Andreussi (Department of Physics, UNT)
26 | #
27 | #----------------------------------------------------------------------------------------
28 | #
29 | # This file was adapted from the following Quantum ESPRESSO v6.1 file:
30 | #
31 | # QE/test-suite/run-pw.sh
32 | #
33 | #----------------------------------------------------------------------------------------
34 |
35 | if [ $QE_USE_MPI = 1 ]; then
36 | export PARA_PREFIX="mpirun -np ${TESTCODE_NPROCS}"
37 | else
38 | unset PARA_PREFIX
39 | fi
40 |
41 | # Additional stuff before run special test-cases
42 |
43 | ${PARA_PREFIX} ${ESPRESSO_ROOT}/bin/pw.x --environ "$@"
44 |
45 | if [ -f environ.debug ]; then
46 | cat environ.debug
47 | rm environ.debug
48 | fi
49 |
50 | rm -f input_tmp.in environ.in
51 |
--------------------------------------------------------------------------------
/tests/testcode/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012 by James Spencer.
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions are met:
5 |
6 | 1. Redistributions of source code must retain the above copyright notice,
7 | this list of conditions and the following disclaimer.
8 | 2. Redistributions in binary form must reproduce the above copyright notice,
9 | this list of conditions and the following disclaimer in the documentation
10 | and/or other materials provided with the distribution.
11 | 3. The name of the author may not be used to endorse or promote products
12 | derived from this software without specific prior written permission.
13 |
14 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
15 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
18 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 |
--------------------------------------------------------------------------------
/tests/testcode/README.rst:
--------------------------------------------------------------------------------
1 | testcode
2 | ========
3 |
4 | testcode is a python module for testing for regression errors in numerical
5 | (principally scientific) software. Essentially testcode runs a set of
6 | calculations, and compares the output data to that generated by a previous
7 | calculation (which is regarded to be "correct"). It is designed to be
8 | lightweight and highly portable.
9 |
10 | testcode can run a set of tests and check the calculated data is within a the
11 | desired tolerance of results contained in previous output (using an internal
12 | data extraction engine, a user-supplied data extraction program or
13 | a user-supplied verification program). The programs to be tested can be run in
14 | serial and in parallel and tests can be run in either locally or submitted to
15 | a compute cluster running a queueing system such as PBS. Previous tests can be
16 | compared and diffed against other tests or benchmarks.
17 |
18 | Documentation
19 | -------------
20 |
21 | Full documentation can be found in the ``docs/`` subdirectory and in the
22 | appropriate docstrings. Documentation can be compiled using `sphinx
23 | `_.
24 |
25 | Documentation can also be viewed at `readthedocs
26 | `_.
27 |
28 | Author
29 | ------
30 |
31 | James Spencer, Imperial College London.
32 |
33 | Contributions and suggestions from:
34 |
35 | Keith Refson, Science and Technology Facilities Council.
36 |
37 | Shawn Chin, Science and Technology Facilities Council.
38 |
39 | LICENSE
40 | -------
41 |
42 | Modified BSD license; see LICENSE for more details.
43 |
44 | See also
45 | --------
46 |
47 | `testcode_buildbot.py `_: a custom buildbot BuildStep for running testcode by Shawn Chin.
48 |
--------------------------------------------------------------------------------
/tests/testcode/docs/.static/dummy_file:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/environ-developers/Environ/18d94213f633b8ba721b61251178feccaa51720f/tests/testcode/docs/.static/dummy_file
--------------------------------------------------------------------------------
/tests/testcode/docs/.templates/dummy_file:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/environ-developers/Environ/18d94213f633b8ba721b61251178feccaa51720f/tests/testcode/docs/.templates/dummy_file
--------------------------------------------------------------------------------
/tests/testcode/docs/configuration_files.rst:
--------------------------------------------------------------------------------
1 | .. _config:
2 |
3 | Configuration files
4 | ===================
5 |
6 | For convenience, tests can be specified via configuration files rather than
7 | using the testcode API directly. These configuration files are required for
8 | work with the command-line interface.
9 |
10 | The two configuration files are, by default, :ref:`jobconfig` and
11 | :ref:`userconfig` in the working directory. Different names and/or paths can
12 | be specified if required.
13 |
14 | Both configuration files take options in the ini format (as understood by
15 | Python's `configparser `_ module). For example::
16 |
17 | [section_1]
18 | a = 2
19 | b = test_option
20 |
21 | [section_2]
22 | v = 4.5
23 | hello = world
24 |
25 | defines an ini file with two sections (named 'section_1' and 'section_2'), each
26 | with two variables set.
27 |
28 | .. note::
29 |
30 | Any paths can either be absolute or relative to the directory containing
31 | the configuration file. The full path need not be given for any program
32 | which exists on the user's PATH. Environment variables in **program** names will be expanded.
33 |
--------------------------------------------------------------------------------
/tests/testcode/docs/index.rst:
--------------------------------------------------------------------------------
1 | testcode
2 | ========
3 |
4 | testcode is a python module for testing for regression errors in numerical
5 | (principally scientific) software. Essentially testcode runs a set of
6 | calculations, and compares the output data to that generated by a previous
7 | calculation (which is regarded to be "correct"). It is designed to be
8 | lightweight and highly portable: it can be used both as part of the development
9 | process and to verify the correctness of a binary on a new architecture.
10 | testcode requires python 2.4-3.4. If these are not available, then `pypy
11 | `_ is recommended---for this purpose pypy serves as
12 | a portable, self-contained python implementation but this is a tiny aspect of
13 | the pypy project.
14 |
15 | testcode can run a set of tests and check the calculated data is within a the
16 | desired tolerance of results contained in previous output (using an internal
17 | data extraction engine, a user-supplied data extraction program or
18 | a user-supplied verification program). The programs to be tested can be run in
19 | serial and in parallel and tests can be run in either locally or submitted to
20 | a compute cluster running a queueing system such as PBS. Previous tests can be
21 | compared and diffed against other tests or benchmarks.
22 |
23 | testcode provides access to these features via an API. The supplied
24 | command-line interface, :ref:`testcode.py`, should be sufficient for most
25 | purposes. The command-line interface utilises simple :ref:`configuration files
26 | `, wich makes it easy to customise to the local environment and to add
27 | new tests.
28 |
29 | .. toctree::
30 | :maxdepth: 1
31 |
32 | installation
33 | configuration_files
34 | jobconfig
35 | userconfig
36 | verification
37 | testcode.py
38 |
39 | Indices and tables
40 | ==================
41 |
42 | * :ref:`genindex`
43 | * :ref:`modindex`
44 | * :ref:`search`
45 |
--------------------------------------------------------------------------------
/tests/testcode/docs/installation.rst:
--------------------------------------------------------------------------------
1 | Installation
2 | ============
3 |
4 | testcode2 is designed to be very lightweight and portable, so it can easily and
5 | quickly be used on a variety of machines. Typically only downloading the
6 | testcode2 package is required.
7 |
8 | If the :ref:`testcode.py` script is used, then no additional installation steps
9 | are required assuming the directory structure is preserved. If the
10 | ``testcode2`` module is used or the files are split up and installed elsewhere,
11 | then the ``testcode2`` module must be able to be found by python (i.e. exists
12 | on $PYTHONPATH).
13 |
--------------------------------------------------------------------------------
/tests/testcode/lib/testcode2/_functools_dummy.py:
--------------------------------------------------------------------------------
1 | '''
2 | testcode2._dummy_functools
3 | --------------------------
4 |
5 | Dummy stub functions of required functools objects used.
6 |
7 | This means that we can use python 2.4 and advanced features in later versions
8 | of python.
9 |
10 | :copyright: (c) 2012 James Spencer.
11 | :license: modified BSD; see LICENSE for more details.
12 | '''
13 |
14 | def wraps(func1):
15 | '''Upgrade from python 2.4 to use functools.wraps.'''
16 | def wrapper(func2):
17 | '''Upgrade from python 2.4 to use functools.wraps.'''
18 | def decorated_func(*args, **kwargs):
19 | '''Upgrade from python 2.4 to use functools.wraps.'''
20 | return func2(*args, **kwargs)
21 | return decorated_func
22 | return wrapper
23 |
--------------------------------------------------------------------------------
/tests/testcode/lib/testcode2/ansi.py:
--------------------------------------------------------------------------------
1 | '''
2 | testcode2.ansi
3 | --------------
4 |
5 | (A subset of) ANSI codes and functions to wrap codes around strings.
6 |
7 | :copyright: (c) 2012 James Spencer.
8 | :license: modified BSD; see LICENSE for more details.
9 | '''
10 |
11 | import sys
12 |
13 | ANSI_START = '\033['
14 | ANSI_END = '\033[0m'
15 |
16 | ANSI_SGR = dict(
17 | bold=1,
18 | )
19 |
20 | ANSI_INTENSITY = dict(
21 | normal=0,
22 | bright=60,
23 | )
24 |
25 | ANSI_COLOUR = dict(
26 | black=30,
27 | red=31,
28 | green=32,
29 | yellow=33,
30 | blue=34,
31 | magenta=35,
32 | cyan=36,
33 | white=37,
34 | )
35 |
36 | def ansi_format(string, colour='black', intensity='normal', style=None,
37 | override=False):
38 | '''Return string wrapped in the appropriate ANSI codes.
39 |
40 | Note: if not writing to a true terminal and override is false, then the string
41 | is not modified.
42 | '''
43 |
44 | if sys.stdout.isatty() or override:
45 | code = str(ANSI_COLOUR[colour]+ANSI_INTENSITY[intensity])
46 | if style:
47 | code += ';%s' % (ANSI_SGR[style])
48 | code += 'm'
49 | return ANSI_START + code + string + ANSI_END + ANSI_END
50 | else:
51 | return string
52 |
--------------------------------------------------------------------------------
/tests/testcode/lib/testcode2/dir_lock.py:
--------------------------------------------------------------------------------
1 | '''
2 | testcode2.dir_lock
3 | ------------------
4 |
5 | Threading lock initialisation and helper.
6 |
7 | :copyright: (c) 2012 James Spencer.
8 | :license: modified BSD; see LICENSE for more details.
9 | '''
10 |
11 | import os
12 | import threading
13 | import testcode2.compatibility as compat
14 |
15 | class DirLock:
16 | '''Helper class for working with threading locks.'''
17 | def __init__(self):
18 | self.lock = threading.Lock()
19 | def with_lock(self, func):
20 | '''Decorate function to be executed whilst holding the lock.
21 |
22 | :param function func: arbitary function.
23 | '''
24 | @compat.functools.wraps(func)
25 | def decorated_func(*args, **kwargs):
26 | '''Function decorated by Lock.with_lock.'''
27 | self.lock.acquire()
28 | try:
29 | return func(*args, **kwargs)
30 | finally:
31 | self.lock.release()
32 | return decorated_func
33 | def in_dir(self, ddir):
34 | '''Decorate function so it is executed in the given directory ddir.
35 |
36 | The thread executing the function holds the lock whilst entering ddir and
37 | executing the function. This makes such actions thread-safe with respect to
38 | the directory location but is not appropriate for computationally-demanding
39 | functions.
40 |
41 | :param string ddir: directory in which the decorated function is executed.
42 | '''
43 | # Because we wish to use this as a decorator with arguments passed to
44 | # the decorator, we must return a wrapper function which in turn
45 | # returns the decorated function. See the excellent explanation of
46 | # decorators at: http://stackoverflow.com/a/1594484
47 | def wrapper(func):
48 | '''Wrap func to hold lock whilst being executed in ddir.
49 |
50 | :param string func: arbitrary function.
51 | '''
52 | @compat.functools.wraps(func)
53 | @self.with_lock
54 | def decorated_func(*args, **kwargs):
55 | '''Function decorated by Lock.in_dir.'''
56 | cwd = os.getcwd()
57 | os.chdir(ddir)
58 | try:
59 | val = func(*args, **kwargs)
60 | except Exception:
61 | # func has raised an error. Return to the original
62 | # directory and then re-raise the error to allow the caller
63 | # to handle it.
64 | os.chdir(cwd)
65 | raise
66 | os.chdir(cwd)
67 | return val
68 | return decorated_func
69 | return wrapper
70 |
--------------------------------------------------------------------------------
/tests/testcode/lib/testcode2/exceptions.py:
--------------------------------------------------------------------------------
1 | '''
2 | testcode2.exceptions
3 | --------------------
4 |
5 | Custom exceptions. Initialise signal handler for the interrupt signal.
6 |
7 | :copyright: (c) 2012 James Spencer.
8 | :license: modified BSD; see LICENSE for more details.
9 | '''
10 |
11 | import signal
12 | import sys
13 |
14 | def signal_handler(sig, frame):
15 | '''Capture signal and leave quietly.'''
16 | print('Signal: %s has been caught. Bye!' % (sig))
17 | sys.exit(1)
18 |
19 |
20 | class RunError(Exception):
21 | '''Exception used for errors running test jobs.'''
22 | pass
23 |
24 |
25 | class AnalysisError(Exception):
26 | '''Exception used for errors running test jobs.'''
27 | pass
28 |
29 |
30 | class TestCodeError(Exception):
31 | '''Top level exception for testcode errors.'''
32 | pass
33 |
34 | signal.signal(signal.SIGINT, signal_handler) # Listen out for Ctrl-C.
35 |
--------------------------------------------------------------------------------
/tests/testcode/lib/testcode2/vcs.py:
--------------------------------------------------------------------------------
1 | '''
2 | testcode2.vcs
3 | -------------
4 |
5 | Lightweight access to required version control system functions.
6 |
7 | :copyright: (c) 2012 James Spencer.
8 | :license: modified BSD; see LICENSE for more details.
9 | '''
10 |
11 | import os
12 | import subprocess
13 |
14 | class VCSRepository(object):
15 | '''Handle information about a version control repository.
16 |
17 | vcs: version control system used. Currently git, mercurial and subversion are supported.
18 | repository: (local) directory containing a checked-out version of the repository.
19 | remote_repository: remote location of the repository.
20 | '''
21 | def __init__(self, vcs, repository, remote_repository=None):
22 | if vcs in ['svn', 'git', 'hg']:
23 | self.vcs = vcs
24 | else:
25 | self.vcs = None
26 | self.repository = repository
27 | if remote_repository:
28 | self.remote_repository = remote_repository
29 |
30 | def get_code_id(self):
31 | '''Return the id (i.e. version number or hash) of the VCS repository.'''
32 | old_dir = os.getcwd()
33 | os.chdir(self.repository)
34 | code_id = 'UNKNOWN'
35 | id_popen = None
36 | if self.vcs == 'svn':
37 | id_popen = subprocess.Popen(['svnversion', '.'],
38 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
39 | elif self.vcs == 'git':
40 | id_popen = subprocess.Popen(['git', 'rev-parse', '--short', 'HEAD'],
41 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
42 | elif self.vcs == 'hg':
43 | id_popen = subprocess.Popen(['hg', 'id', '-i'],
44 | stdout=subprocess.PIPE, stderr=subprocess.PIPE)
45 | if id_popen:
46 | id_popen.wait()
47 | code_id = id_popen.communicate()[0].decode('utf-8').strip()
48 | os.chdir(old_dir)
49 | return (code_id)
50 |
--------------------------------------------------------------------------------
/tests/userconfig.tmp:
--------------------------------------------------------------------------------
1 | [PW]
2 | exe = XXXXXX/tests/run-pw.sh
3 | extract_program = XXXXXX/tests/extract-pw.sh
4 | inputs_args = ('*.in', '')
5 | run_cmd_template = cp tc.args environ.in; tc.program -input tc.input > tc.output 2> tc.error
6 | tolerance = ( (5.0e-5, None, 'e1'),
7 | (2.5, None, 'n1'),
8 | (1.0e-3, None, 'f1'),
9 | (1.0e-1, None, 'p1') )
10 | skip_program = grep
11 | skip_args = 'not yet implemented'
12 |
13 | [user]
14 | benchmark = GIT
15 | date_fmt = %y%m%d
16 | diff = vimdiff
17 |
18 |
--------------------------------------------------------------------------------