yambopy 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- yambopy-0.3.0/.coveragerc +8 -0
- yambopy-0.3.0/.gitignore +9 -0
- yambopy-0.3.0/.travis.yml +45 -0
- yambopy-0.3.0/LICENCE +3 -0
- yambopy-0.3.0/PKG-INFO +153 -0
- yambopy-0.3.0/README.md +130 -0
- yambopy-0.3.0/docs/logos/yambopy_square.png +0 -0
- yambopy-0.3.0/docs/logos/yambopy_text.png +0 -0
- yambopy-0.3.0/pyproject.toml +51 -0
- yambopy-0.3.0/pytest.ini +2 -0
- yambopy-0.3.0/qepy/__init__.py +34 -0
- yambopy-0.3.0/qepy/auxiliary.py +23 -0
- yambopy-0.3.0/qepy/bravais.py +175 -0
- yambopy-0.3.0/qepy/data/__init__.py +0 -0
- yambopy-0.3.0/qepy/data/pseudos/B.pbe-mt_fhi.UPF +1816 -0
- yambopy-0.3.0/qepy/data/pseudos/Mo.pz-mt_fhi.UPF +2008 -0
- yambopy-0.3.0/qepy/data/pseudos/N.pbe-mt_fhi.UPF +1742 -0
- yambopy-0.3.0/qepy/data/pseudos/S.pz-mt_fhi.UPF +1868 -0
- yambopy-0.3.0/qepy/data/pseudos/Si.pbe-mt_fhi.UPF +1840 -0
- yambopy-0.3.0/qepy/data/pseudos/__init__.py +0 -0
- yambopy-0.3.0/qepy/dynmat.py +68 -0
- yambopy-0.3.0/qepy/lattice.py +132 -0
- yambopy-0.3.0/qepy/matdyn.py +331 -0
- yambopy-0.3.0/qepy/ph.py +91 -0
- yambopy-0.3.0/qepy/pp.py +148 -0
- yambopy-0.3.0/qepy/projwfc.py +59 -0
- yambopy-0.3.0/qepy/projwfcxml.py +504 -0
- yambopy-0.3.0/qepy/pseudo.py +15 -0
- yambopy-0.3.0/qepy/pw.py +767 -0
- yambopy-0.3.0/qepy/pwxml.py +640 -0
- yambopy-0.3.0/qepy/supercell.py +431 -0
- yambopy-0.3.0/qepy/tests/__init__.py +0 -0
- yambopy-0.3.0/qepy/tests/test_pw.py +23 -0
- yambopy-0.3.0/qepy/tools.py +4 -0
- yambopy-0.3.0/qepy/unfolding.py +297 -0
- yambopy-0.3.0/qepy/unfoldingyambo.py +359 -0
- yambopy-0.3.0/qepy/units.py +52 -0
- yambopy-0.3.0/qepy/upf_interface/__init__.py +0 -0
- yambopy-0.3.0/qepy/upf_interface/ppupf.py +143 -0
- yambopy-0.3.0/qepy/xml.py +59 -0
- yambopy-0.3.0/schedulerpy/__init__.py +21 -0
- yambopy-0.3.0/schedulerpy/bash.py +56 -0
- yambopy-0.3.0/schedulerpy/oar.py +97 -0
- yambopy-0.3.0/schedulerpy/pbs.py +160 -0
- yambopy-0.3.0/schedulerpy/scheduler.py +299 -0
- yambopy-0.3.0/schedulerpy/slurm.py +100 -0
- yambopy-0.3.0/schedulerpy/tests/test_scheduler.py +207 -0
- yambopy-0.3.0/setup.cfg +4 -0
- yambopy-0.3.0/tests/.gitignore +18 -0
- yambopy-0.3.0/tests/install.sh +17 -0
- yambopy-0.3.0/tests/requirements.txt +9 -0
- yambopy-0.3.0/tests/test_parser.py +79 -0
- yambopy-0.3.0/tests/test_si.py +356 -0
- yambopy-0.3.0/tests/test_tutorial.py +155 -0
- yambopy-0.3.0/tests/test_yambopy.py +52 -0
- yambopy-0.3.0/tests/tests.md +44 -0
- yambopy-0.3.0/tutorial/calculation_tutorial.md +50 -0
- yambopy-0.3.0/tutorial/databases_qepy/bn-semiconductor/plot-qe-bands.py +22 -0
- yambopy-0.3.0/tutorial/databases_qepy/bn-semiconductor/plot-qe-orbitals.py +45 -0
- yambopy-0.3.0/tutorial/databases_qepy/gw-bands/plot-qp.py +70 -0
- yambopy-0.3.0/tutorial/databases_qepy/iron-metal/Fe.rel-pbe-n-nc.UPF +4316 -0
- yambopy-0.3.0/tutorial/databases_qepy/iron-metal/flow-iron.py +57 -0
- yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-bands.py +21 -0
- yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-orbitals-colormap.py +50 -0
- yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-orbitals-size.py +39 -0
- yambopy-0.3.0/tutorial/databases_qepy_tutorial.md +64 -0
- yambopy-0.3.0/tutorial/databases_yambopy/bz_plot.py +99 -0
- yambopy-0.3.0/tutorial/databases_yambopy/dipoles_plot.py +64 -0
- yambopy-0.3.0/tutorial/databases_yambopy/elph_plot.py +63 -0
- yambopy-0.3.0/tutorial/databases_yambopy/exc_abs_plot.py +57 -0
- yambopy-0.3.0/tutorial/databases_yambopy/exc_kspace_plot.py +89 -0
- yambopy-0.3.0/tutorial/databases_yambopy/exc_read.py +48 -0
- yambopy-0.3.0/tutorial/databases_yambopy_tutorial.md +19 -0
- yambopy-0.3.0/tutorial/double-grid/clean.sh +1 -0
- yambopy-0.3.0/tutorial/double-grid/dg_test.py +42 -0
- yambopy-0.3.0/tutorial/double-grid/input_data/pseudos/B.pbe-mt_fhi.UPF +1816 -0
- yambopy-0.3.0/tutorial/double-grid/input_data/pseudos/N.pbe-mt_fhi.UPF +1742 -0
- yambopy-0.3.0/tutorial/double-grid_tutorial.md +73 -0
- yambopy-0.3.0/tutorial/nonlinear/linear_reponse_analysis_nl.py +28 -0
- yambopy-0.3.0/tutorial/nonlinear/nl_harmonic_analysis.py +13 -0
- yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip.in +50 -0
- yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip_RWA.in +50 -0
- yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip_qssin.in +51 -0
- yambopy-0.3.0/tutorial/real-time/clean.sh +1 -0
- yambopy-0.3.0/tutorial/real-time/gs_bn.py +280 -0
- yambopy-0.3.0/tutorial/real-time/optimize_time_step.py +23 -0
- yambopy-0.3.0/tutorial/real-time/prepare_rt.py +17 -0
- yambopy-0.3.0/tutorial/real-time/pseudos/B.pbe-mt_fhi.UPF +1816 -0
- yambopy-0.3.0/tutorial/real-time/pseudos/N.pbe-mt_fhi.UPF +1742 -0
- yambopy-0.3.0/tutorial/real-time_tutorial.md +37 -0
- yambopy-0.3.0/tutorial/run_calculations/.gitignore +27 -0
- yambopy-0.3.0/tutorial/run_calculations/bse_bn.py +146 -0
- yambopy-0.3.0/tutorial/run_calculations/bse_conv_bn.py +177 -0
- yambopy-0.3.0/tutorial/run_calculations/bse_cutoff_bn.py +216 -0
- yambopy-0.3.0/tutorial/run_calculations/clean.sh +1 -0
- yambopy-0.3.0/tutorial/run_calculations/gs_bn.py +280 -0
- yambopy-0.3.0/tutorial/run_calculations/gw_bn.py +55 -0
- yambopy-0.3.0/tutorial/run_calculations/gw_bse_bn.py +109 -0
- yambopy-0.3.0/tutorial/run_calculations/gw_conv_bn.py +243 -0
- yambopy-0.3.0/tutorial/run_calculations/ip_bn.py +109 -0
- yambopy-0.3.0/tutorial/run_calculations/plot-bse-conv.py +26 -0
- yambopy-0.3.0/tutorial/run_calculations/plot-bse.py +10 -0
- yambopy-0.3.0/tutorial/run_calculations/plot-excitondb.py +68 -0
- yambopy-0.3.0/tutorial/run_calculations/plot-gw-conv.py +21 -0
- yambopy-0.3.0/tutorial/run_calculations/plot-qp.py +76 -0
- yambopy-0.3.0/tutorial/run_calculations/pseudos/B.pbe-mt_fhi.UPF +1816 -0
- yambopy-0.3.0/tutorial/run_calculations/pseudos/N.pbe-mt_fhi.UPF +1742 -0
- yambopy-0.3.0/tutorial/run_calculations/run-scheduler.py +51 -0
- yambopy-0.3.0/tutorial/supercell/Q.modes +65 -0
- yambopy-0.3.0/tutorial/supercell/clean.sh +1 -0
- yambopy-0.3.0/tutorial/supercell/generate_supercells.py +128 -0
- yambopy-0.3.0/tutorial/supercell/uc.scf +33 -0
- yambopy-0.3.0/tutorial/supercell_tutorial.md +6 -0
- yambopy-0.3.0/yambocommandline/__init__.py +19 -0
- yambopy-0.3.0/yambocommandline/commands/__init__.py +0 -0
- yambopy-0.3.0/yambocommandline/commands/band_plots.py +166 -0
- yambopy-0.3.0/yambocommandline/commands/convert_RL_to_Ry.py +67 -0
- yambopy-0.3.0/yambocommandline/commands/generate_bands.py +276 -0
- yambopy-0.3.0/yambocommandline/commands/generate_save.py +60 -0
- yambopy-0.3.0/yambocommandline/commands/get_phq_input.py +57 -0
- yambopy-0.3.0/yambocommandline/commands/gkkp.py +127 -0
- yambopy-0.3.0/yambocommandline/commands/gw_subspace.py +107 -0
- yambopy-0.3.0/yambocommandline/commands/recipes.py +859 -0
- yambopy-0.3.0/yambocommandline/commands/update_serial.py +93 -0
- yambopy-0.3.0/yambocommandline/scripts/README +93 -0
- yambopy-0.3.0/yambocommandline/scripts/analyse_bse.py +167 -0
- yambopy-0.3.0/yambocommandline/scripts/analyse_gw.py +127 -0
- yambopy-0.3.0/yambocommandline/scripts/plot_excitons.py +134 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/break-symm.py +61 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/drafts/rt-excitons.py +52 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/drafts/rt-ypp.py +64 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/plot_occ.py +268 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/plot_occ2.py +251 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-bse.py +110 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-cohsex.py +91 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-ip.py +81 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-merge.py +63 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-pulse.py +197 -0
- yambopy-0.3.0/yambocommandline/scripts/realtime/rt-ta.py +120 -0
- yambopy-0.3.0/yambocommandline/scripts/yambopy.py +631 -0
- yambopy-0.3.0/yamboparser/COPYING +24 -0
- yambopy-0.3.0/yamboparser/__init__.py +10 -0
- yambopy-0.3.0/yamboparser/tests/__init__.py +0 -0
- yambopy-0.3.0/yamboparser/tests/test_parser.py +79 -0
- yambopy-0.3.0/yamboparser/yambofile.py +302 -0
- yambopy-0.3.0/yamboparser/yambofolder.py +48 -0
- yambopy-0.3.0/yambopy/.gitignore +2 -0
- yambopy-0.3.0/yambopy/__init__.py +123 -0
- yambopy-0.3.0/yambopy/analyse.py +368 -0
- yambopy-0.3.0/yambopy/bse/__init__.py +10 -0
- yambopy-0.3.0/yambopy/bse/bse_absorption.py +253 -0
- yambopy-0.3.0/yambopy/bse/bse_dispersion.py +214 -0
- yambopy-0.3.0/yambopy/bse/excitonweight.py +288 -0
- yambopy-0.3.0/yambopy/bse/excitonwf.py +184 -0
- yambopy-0.3.0/yambopy/bse/tests/__init__.py +0 -0
- yambopy-0.3.0/yambopy/bse/tests/test_bse_absorption.py +28 -0
- yambopy-0.3.0/yambopy/common/__init__.py +8 -0
- yambopy-0.3.0/yambopy/common/calculation_manager.py +102 -0
- yambopy-0.3.0/yambopy/common/save_generation.py +300 -0
- yambopy-0.3.0/yambopy/common/transform_matrix_element.py +101 -0
- yambopy-0.3.0/yambopy/common/workflow.py +85 -0
- yambopy-0.3.0/yambopy/data/__init__.py +0 -0
- yambopy-0.3.0/yambopy/data/refs/bse/SAVE/ns.db1 +0 -0
- yambopy-0.3.0/yambopy/data/refs/bse/o-yambo.eel_q1_diago_bse +607 -0
- yambopy-0.3.0/yambopy/data/refs/bse/o-yambo.eps_q1_diago_bse +607 -0
- yambopy-0.3.0/yambopy/data/refs/bse/yambo/ndb.BS_diago_Q01 +0 -0
- yambopy-0.3.0/yambopy/data/refs/bse/yambo_run.in +150 -0
- yambopy-0.3.0/yambopy/data/refs/gw/LOG/l-yambo_em1d_ppa_HF_and_locXC_gw0_CPU_1 +126 -0
- yambopy-0.3.0/yambopy/data/refs/gw/LOG/l-yambo_em1d_ppa_HF_and_locXC_gw0_CPU_2 +116 -0
- yambopy-0.3.0/yambopy/data/refs/gw/SAVE/ns.db1 +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw/o-yambo.qp +193 -0
- yambopy-0.3.0/yambopy/data/refs/gw/r-yambo_em1d_ppa_HF_and_locXC_gw0 +703 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/l-BndsRnXp_1_20_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/o-BndsRnXp_1_20.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/r-BndsRnXp_1_20_em1d_ppa_HF_and_locXC_gw0 +697 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/l-BndsRnXp_1_30_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/o-BndsRnXp_1_30.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/r-BndsRnXp_1_30_em1d_ppa_HF_and_locXC_gw0 +697 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/l-FFTGvecs_00010_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/o-FFTGvecs_00010.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/r-FFTGvecs_00010_em1d_ppa_HF_and_locXC_gw0 +697 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010.json +163 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/l-FFTGvecs_00015_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/o-FFTGvecs_00015.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/r-FFTGvecs_00015_em1d_ppa_HF_and_locXC_gw0 +697 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015.json +163 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/l-NGsBlkXp_00002_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/o-NGsBlkXp_00002.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/r-NGsBlkXp_00002_em1d_ppa_HF_and_locXC_gw0 +699 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/l-NGsBlkXp_00005_em1d_ppa_HF_and_locXC_gw0 +72 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/o-NGsBlkXp_00005.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/r-NGsBlkXp_00005_em1d_ppa_HF_and_locXC_gw0 +699 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/SAVE/ns.db1 +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/l-reference_em1d_ppa_HF_and_locXC_gw0 +71 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/o-reference.qp +190 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/r-reference_em1d_ppa_HF_and_locXC_gw0 +697 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference.in +73 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/reference.json +163 -0
- yambopy-0.3.0/yambopy/data/refs/gw_conv/yambo.in +95 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_1 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_10 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_11 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_12 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_13 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_14 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_15 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_16 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_17 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_18 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_19 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_2 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_3 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_4 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_5 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_6 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_7 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_8 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_9 +0 -0
- yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ns.db1 +0 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/l-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut_CPU_1 +2655 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/o-GW_run.10.720.qp +113 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/r-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut +3856 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/l-yambo_em1d_HF_and_locXC_gw0 +79 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/l-yambo_em1d_life +27 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/o-yambo.qp +88 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/r-yambo_em1d_HF_and_locXC_gw0 +520 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/r-yambo_em1d_life +227 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t3_parse_netcdf/ndb.HF_and_locXC +0 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t3_parse_netcdf/ndb.QP +0 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t4_parse_success/r-GW_run.16.2000_em1d_ppa_HF_and_locXC_gw0_rim_cut +3866 -0
- yambopy-0.3.0/yambopy/data/refs/parser/t4_parse_success/r-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut +3856 -0
- yambopy-0.3.0/yambopy/data/refs/si/analyse_bse_conv/BndsRnXs_exciton_energies.dat +4 -0
- yambopy-0.3.0/yambopy/data/refs/si/analyse_bse_conv/FFTGvecs_exciton_energies.dat +4 -0
- yambopy-0.3.0/yambopy/data/refs/si/analyse_gw_conv/gw_conv_BndsRnXp.dat +4 -0
- yambopy-0.3.0/yambopy/data/refs/si/analyse_gw_conv/gw_conv_FFTGvecs.dat +4 -0
- yambopy-0.3.0/yambopy/data/refs/si/nscf_si.nscf +27 -0
- yambopy-0.3.0/yambopy/data/refs/si/relax_si.scf +30 -0
- yambopy-0.3.0/yambopy/data/refs/si/scf_si.scf +24 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse.in +112 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/BndsRnXs_1_20.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/BndsRnXs_1_30.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/FFTGvecs_00015.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/FFTGvecs_00020.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00002.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00005.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00010.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00020.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/bse_conv.tar.gz +0 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/reference.in +85 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw.in +95 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/BndsRnXp_1_20.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/BndsRnXp_1_30.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/FFTGvecs_00015.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/FFTGvecs_00020.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00002.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00005.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00010.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00020.in +74 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/gw_conv.tar.gz +0 -0
- yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/reference.in +74 -0
- yambopy-0.3.0/yambopy/data/structures.py +45 -0
- yambopy-0.3.0/yambopy/dbs/__init__.py +10 -0
- yambopy-0.3.0/yambopy/dbs/bsekerneldb.py +121 -0
- yambopy-0.3.0/yambopy/dbs/dipolesdb.py +470 -0
- yambopy-0.3.0/yambopy/dbs/electronsdb.py +336 -0
- yambopy-0.3.0/yambopy/dbs/elphondb.py +308 -0
- yambopy-0.3.0/yambopy/dbs/em1sdb.py +375 -0
- yambopy-0.3.0/yambopy/dbs/excitondb.py +1748 -0
- yambopy-0.3.0/yambopy/dbs/excphondb.py +203 -0
- yambopy-0.3.0/yambopy/dbs/greendb.py +228 -0
- yambopy-0.3.0/yambopy/dbs/hfdb.py +37 -0
- yambopy-0.3.0/yambopy/dbs/kqgridsdb.py +74 -0
- yambopy-0.3.0/yambopy/dbs/latticedb.py +341 -0
- yambopy-0.3.0/yambopy/dbs/nldb.py +173 -0
- yambopy-0.3.0/yambopy/dbs/qpdb.py +441 -0
- yambopy-0.3.0/yambopy/dbs/rtdb.py +63 -0
- yambopy-0.3.0/yambopy/dbs/savedb.py +484 -0
- yambopy-0.3.0/yambopy/dbs/tests/__init__.py +0 -0
- yambopy-0.3.0/yambopy/dbs/tests/test_dipolesdb.py +36 -0
- yambopy-0.3.0/yambopy/dbs/tests/test_excitondb.py +59 -0
- yambopy-0.3.0/yambopy/dbs/tests/test_latticedb.py +43 -0
- yambopy-0.3.0/yambopy/dbs/tests/test_qpdb.py +27 -0
- yambopy-0.3.0/yambopy/dbs/tests/test_savedb.py +29 -0
- yambopy-0.3.0/yambopy/dbs/wfdb.py +111 -0
- yambopy-0.3.0/yambopy/double_grid/__init__.py +6 -0
- yambopy-0.3.0/yambopy/double_grid/dg_convergence.py +585 -0
- yambopy-0.3.0/yambopy/em1s/em1s_rotate.py +472 -0
- yambopy-0.3.0/yambopy/flow/__init__.py +1 -0
- yambopy-0.3.0/yambopy/flow/task.py +961 -0
- yambopy-0.3.0/yambopy/flow/tests/__init__.py +0 -0
- yambopy-0.3.0/yambopy/flow/tests/test_task.py +165 -0
- yambopy-0.3.0/yambopy/gkkp/compute_gkkp.py +361 -0
- yambopy-0.3.0/yambopy/gkkp/refine_gkkp.py +524 -0
- yambopy-0.3.0/yambopy/integration_tests/clean.sh +1 -0
- yambopy-0.3.0/yambopy/integration_tests/itest_si_bse.py +256 -0
- yambopy-0.3.0/yambopy/integration_tests/itest_si_gw.py +257 -0
- yambopy-0.3.0/yambopy/integration_tests/itest_tutorial.py +157 -0
- yambopy-0.3.0/yambopy/integration_tests/itest_yambopy.py +55 -0
- yambopy-0.3.0/yambopy/integration_tests/pseudos/B.pbe-mt_fhi.UPF +1816 -0
- yambopy-0.3.0/yambopy/integration_tests/pseudos/Mo.pz-mt_fhi.UPF +2008 -0
- yambopy-0.3.0/yambopy/integration_tests/pseudos/N.pbe-mt_fhi.UPF +1742 -0
- yambopy-0.3.0/yambopy/integration_tests/pseudos/S.pz-mt_fhi.UPF +1868 -0
- yambopy-0.3.0/yambopy/integration_tests/pseudos/Si.pbe-mt_fhi.UPF +1840 -0
- yambopy-0.3.0/yambopy/integration_tests/pytest.ini +4 -0
- yambopy-0.3.0/yambopy/io/__init__.py +10 -0
- yambopy-0.3.0/yambopy/io/factories.py +625 -0
- yambopy-0.3.0/yambopy/io/inputfile.py +414 -0
- yambopy-0.3.0/yambopy/io/iofile.py +41 -0
- yambopy-0.3.0/yambopy/io/jsonfile.py +38 -0
- yambopy-0.3.0/yambopy/io/outputfile.py +225 -0
- yambopy-0.3.0/yambopy/io/tests/__init__.py +0 -0
- yambopy-0.3.0/yambopy/io/tests/test_inputfile.py +43 -0
- yambopy-0.3.0/yambopy/io/tests/test_outputfile.py +45 -0
- yambopy-0.3.0/yambopy/io/yambofile.py +63 -0
- yambopy-0.3.0/yambopy/lattice.py +198 -0
- yambopy-0.3.0/yambopy/nl/__init__.py +8 -0
- yambopy-0.3.0/yambopy/nl/damp_it.py +16 -0
- yambopy-0.3.0/yambopy/nl/external_efield.py +43 -0
- yambopy-0.3.0/yambopy/nl/fft_interp.py +23 -0
- yambopy-0.3.0/yambopy/nl/harmonic_analysis.py +228 -0
- yambopy-0.3.0/yambopy/nl/hhg_tools.py +79 -0
- yambopy-0.3.0/yambopy/nl/linear_optics.py +120 -0
- yambopy-0.3.0/yambopy/plot/__init__.py +5 -0
- yambopy-0.3.0/yambopy/plot/bandstructure.py +466 -0
- yambopy-0.3.0/yambopy/plot/plotting.py +128 -0
- yambopy-0.3.0/yambopy/plot/spectra.py +8 -0
- yambopy-0.3.0/yambopy/quasiparticles/QP_rotate.py +281 -0
- yambopy-0.3.0/yambopy/rt/__init__.py +8 -0
- yambopy-0.3.0/yambopy/rt/rt_movie.py +239 -0
- yambopy-0.3.0/yambopy/rt/rt_timestep_optimize.py +517 -0
- yambopy-0.3.0/yambopy/tests/__init__.py +0 -0
- yambopy-0.3.0/yambopy/tests/test_yamboanalyse.py +63 -0
- yambopy-0.3.0/yambopy/tools/__init__.py +0 -0
- yambopy-0.3.0/yambopy/tools/duck.py +16 -0
- yambopy-0.3.0/yambopy/tools/funcs.py +23 -0
- yambopy-0.3.0/yambopy/tools/jsonencoder.py +38 -0
- yambopy-0.3.0/yambopy/tools/skw.py +600 -0
- yambopy-0.3.0/yambopy/tools/string.py +7 -0
- yambopy-0.3.0/yambopy/units.py +63 -0
- yambopy-0.3.0/yambopy.egg-info/PKG-INFO +153 -0
- yambopy-0.3.0/yambopy.egg-info/SOURCES.txt +366 -0
- yambopy-0.3.0/yambopy.egg-info/dependency_links.txt +1 -0
- yambopy-0.3.0/yambopy.egg-info/entry_points.txt +2 -0
- yambopy-0.3.0/yambopy.egg-info/requires.txt +7 -0
- yambopy-0.3.0/yambopy.egg-info/top_level.txt +5 -0
yambopy-0.3.0/.gitignore
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
sudo: required # or false
|
|
2
|
+
language: python
|
|
3
|
+
cache: pip
|
|
4
|
+
|
|
5
|
+
python:
|
|
6
|
+
- 2.7
|
|
7
|
+
- 3.7
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
- YAMBO_VERSION=4.4 PW_VERSION=6.3
|
|
11
|
+
# - any combination of versions
|
|
12
|
+
|
|
13
|
+
matrix:
|
|
14
|
+
allow_failures:
|
|
15
|
+
- python: 3.5 # Builds using this version can fail without compromising the end result
|
|
16
|
+
fast_finish: true # Don't wait for the test on Py3.5 to finish to ack
|
|
17
|
+
# Add to the matrix of jobs
|
|
18
|
+
# - os: osx
|
|
19
|
+
# language: objective-c
|
|
20
|
+
# env: PYENV_VERSION=2.7.12
|
|
21
|
+
# - os: osx
|
|
22
|
+
# language: objective-c
|
|
23
|
+
# env: PYENV_VERSION=3.5.2
|
|
24
|
+
|
|
25
|
+
before_install:
|
|
26
|
+
- sudo apt-get update -qq
|
|
27
|
+
- sudo apt-get install -qq gfortran libopenmpi-dev openmpi-bin libblas-dev liblapack-dev libfftw3-dev libnetcdf-dev libhdf5-serial-dev
|
|
28
|
+
|
|
29
|
+
before_script:
|
|
30
|
+
- "export MPLBACKEND=Agg"
|
|
31
|
+
|
|
32
|
+
install:
|
|
33
|
+
- "pip install -r ./tests/requirements.txt"
|
|
34
|
+
- "./tests/install.sh"
|
|
35
|
+
- "python setup.py install"
|
|
36
|
+
script:
|
|
37
|
+
- "py.test -s --cov-config=.coveragerc --cov"
|
|
38
|
+
|
|
39
|
+
# safelist
|
|
40
|
+
branches:
|
|
41
|
+
only:
|
|
42
|
+
- master
|
|
43
|
+
- travis
|
|
44
|
+
- devel-alejandro
|
|
45
|
+
- master-whypy
|
yambopy-0.3.0/LICENCE
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
All the material included in this distribution is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
|
|
2
|
+
|
|
3
|
+
These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (http://www.gnu.org/licenses/).
|
yambopy-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: yambopy
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Yambopy: a pre/post-processing tool for Yambo
|
|
5
|
+
Author: Henrique Miranda
|
|
6
|
+
Author-email: Fulvio Paleari <fulvio.paleari@nano.cnr.it>, Alejandro Molina-Sanchez <alejandro.molina@uv.es>
|
|
7
|
+
Project-URL: Homepage, https://github.com/yambo-code/yambopy
|
|
8
|
+
Project-URL: Documentation, https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Requires-Python: >=3.6
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENCE
|
|
16
|
+
Requires-Dist: numpy
|
|
17
|
+
Requires-Dist: scipy
|
|
18
|
+
Requires-Dist: netCDF4
|
|
19
|
+
Requires-Dist: matplotlib
|
|
20
|
+
Requires-Dist: pyyaml
|
|
21
|
+
Requires-Dist: lxml
|
|
22
|
+
Requires-Dist: monty
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
yambopy
|
|
28
|
+
=======
|
|
29
|
+
|
|
30
|
+
Create automatic workflows for yambo and quantum espresso using python. Work directly with netCDF databases.
|
|
31
|
+
Do pre/post-processing, data analysis and plotting for yambo and quantum espresso.
|
|
32
|
+
|
|
33
|
+
- Yambo official website: http://www.yambo-code.eu/
|
|
34
|
+
- Yambo wiki: http://www.yambo-code.org/wiki
|
|
35
|
+
- Yambo Github page [download yambo & yambopy]: https://github.com/yambo-code/yambo
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
Documentation
|
|
39
|
+
-------------
|
|
40
|
+
|
|
41
|
+
The main usage of yambopy is by importing its modules in the user's own scripts, such as:
|
|
42
|
+
```
|
|
43
|
+
from yambopy import *
|
|
44
|
+
from qepy import *
|
|
45
|
+
```
|
|
46
|
+
There is also a command line interface feature. Just type
|
|
47
|
+
```
|
|
48
|
+
yambopy
|
|
49
|
+
```
|
|
50
|
+
on terminal to see the options. Typing `yambopy [option]` will show the related help message.
|
|
51
|
+
|
|
52
|
+
You can find explained tutorials and a partial
|
|
53
|
+
documentation on the Yambo wiki page: https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
|
|
54
|
+
|
|
55
|
+
The tutorials contain examples scripts illustrating how to use some of the features: they are intended to be copied, modified and adapted to other use cases and to your ideas and needs.
|
|
56
|
+
|
|
57
|
+
Additional information about capabilities and usage are available inside the tutorial folder and by reading the docstrings of the various classes. Keep in mind that a basic knowledge of python (`numpy` and `matplotlib` packages) will greatly help while using yambopy.
|
|
58
|
+
|
|
59
|
+
Features
|
|
60
|
+
--------
|
|
61
|
+
- Create Yambo and Quantum Espresso input files from python
|
|
62
|
+
- Collect and manipulate the human-readable output data for analysis
|
|
63
|
+
- Automatic submissions of calculations (e.g., custom workflows for convergence or multi-executable runs)
|
|
64
|
+
- Access Yambo netCDF databases and Quantum Espresso xml files
|
|
65
|
+
- Analyse, interpolate and plot the results in various ways using matplotlib
|
|
66
|
+
- Visualize advanced quantities such as:
|
|
67
|
+
- dielectric function, exciton weights in k and q-space, electron-phonon matrix elements...
|
|
68
|
+
- [Aiida](https://github.com/aiidateam) plugin for Yambo-Aiida workflows
|
|
69
|
+
- Tutorials
|
|
70
|
+
|
|
71
|
+
Installation
|
|
72
|
+
------------
|
|
73
|
+
|
|
74
|
+
Make sure that you have a suitable python environment (crated for example with [conda](https://docs.conda.io/projects/miniconda/en/latest/) or [venv](https://docs.python.org/3/library/venv.html)).
|
|
75
|
+
|
|
76
|
+
#### Regular installation of released version
|
|
77
|
+
Type `pip install yambopy`
|
|
78
|
+
|
|
79
|
+
#### Local installation from this repository (for latest patches)
|
|
80
|
+
Clone this repository in your local machine or cluster, enter the directory and type `pip install .`
|
|
81
|
+
|
|
82
|
+
#### More information
|
|
83
|
+
Follow the installation steps on the [Yambo wiki](https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy).
|
|
84
|
+
|
|
85
|
+
Requirements
|
|
86
|
+
------------
|
|
87
|
+
- yambo (>5.0.0): http://www.yambo-code.org/
|
|
88
|
+
- numpy: http://www.numpy.org/
|
|
89
|
+
- scipy: https://www.scipy.org/
|
|
90
|
+
- matplotlib: http://matplotlib.org/
|
|
91
|
+
- netCDF4: http://unidata.github.io/netcdf4-python/
|
|
92
|
+
- lxml: https://lxml.de/
|
|
93
|
+
- pyyaml: https://pyyaml.org/
|
|
94
|
+
- monty: https://pypi.org/project/monty/
|
|
95
|
+
- Quantum Espresso (optional): http://www.quantum-espresso.org/
|
|
96
|
+
|
|
97
|
+
Troubleshooting, bugs and questions
|
|
98
|
+
-----------------------------------
|
|
99
|
+
Please write a post in the yambopy subsection of the [yambo forum](https://www.yambo-code.eu/forum/viewforum.php?f=35&sid=77b7f6076dea7cdf40432efbc035feb6)
|
|
100
|
+
|
|
101
|
+
Current development goals
|
|
102
|
+
-------------------------
|
|
103
|
+
- General review and update of all features
|
|
104
|
+
- Brillouin zone paths patch
|
|
105
|
+
- Full support for finite-momentum BSE postprocessing
|
|
106
|
+
- Full documentation & tutorials
|
|
107
|
+
- Increase efficiency of I/O for large database sizes and numbers
|
|
108
|
+
- Test suite
|
|
109
|
+
- Make it easier to add new features
|
|
110
|
+
|
|
111
|
+
Authors
|
|
112
|
+
------
|
|
113
|
+
Original author:
|
|
114
|
+
- [Henrique Pereira Coutada Miranda](http://henriquemiranda.github.io/).
|
|
115
|
+
|
|
116
|
+
Current developers and maintainers:
|
|
117
|
+
- [Fulvio Paleari](http://palful.github.io) (CNR - Nanoscience institute, Modena)
|
|
118
|
+
- [Alejandro Molina Sanchez](http://alexmoratalla.github.io/) (University of Valencia)
|
|
119
|
+
- José Castelo (University of Valencia)
|
|
120
|
+
|
|
121
|
+
Active contributors:
|
|
122
|
+
- Claudio Attaccalite
|
|
123
|
+
- Miki Bonacci
|
|
124
|
+
- Jorge Cervantes-Villanueva
|
|
125
|
+
- Riccardo Reho
|
|
126
|
+
- Michele Re Fiorentin
|
|
127
|
+
- You if you want to share your scripts!
|
|
128
|
+
|
|
129
|
+
Past contributors:
|
|
130
|
+
- Matteo Zanfrognini
|
|
131
|
+
- Alexandre Morlet
|
|
132
|
+
- Davide Romanin
|
|
133
|
+
- Daniel Murphy
|
|
134
|
+
|
|
135
|
+
The code is at an ongoing stage of development, help us by sending bug reports, patches and suggestions!
|
|
136
|
+
|
|
137
|
+
How to contribute
|
|
138
|
+
-----------------
|
|
139
|
+
If you want to contribute, we suggest the following steps:
|
|
140
|
+
1. Fork this repository
|
|
141
|
+
2. Implement and test your new feature(s) in the forked repo
|
|
142
|
+
3. Create a pull request in order to include your development in the official code
|
|
143
|
+
|
|
144
|
+
Acknoledgements
|
|
145
|
+
----------------
|
|
146
|
+
- The [Abipy](https://abinit.github.io/abipy/) library developed for the Abinit code was the original inspiration for Yambopy. In particular, abipy's `SkwInterpolator` module for band structure interpolations has been directly imported into yambopy.
|
|
147
|
+
- Yambopy logos by Claudia Cardoso
|
|
148
|
+
- University of Luxembourg
|
|
149
|
+
- University of Valencia
|
|
150
|
+
- Nanoscience Institute of the Italian National Research Council
|
|
151
|
+
- [MaX](https://www.max-centre.eu/): Materials at the eXascale EU center of excellence
|
|
152
|
+
|
|
153
|
+

|
yambopy-0.3.0/README.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
|
|
2
|
+

|
|
3
|
+
|
|
4
|
+
yambopy
|
|
5
|
+
=======
|
|
6
|
+
|
|
7
|
+
Create automatic workflows for yambo and quantum espresso using python. Work directly with netCDF databases.
|
|
8
|
+
Do pre/post-processing, data analysis and plotting for yambo and quantum espresso.
|
|
9
|
+
|
|
10
|
+
- Yambo official website: http://www.yambo-code.eu/
|
|
11
|
+
- Yambo wiki: http://www.yambo-code.org/wiki
|
|
12
|
+
- Yambo Github page [download yambo & yambopy]: https://github.com/yambo-code/yambo
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Documentation
|
|
16
|
+
-------------
|
|
17
|
+
|
|
18
|
+
The main usage of yambopy is by importing its modules in the user's own scripts, such as:
|
|
19
|
+
```
|
|
20
|
+
from yambopy import *
|
|
21
|
+
from qepy import *
|
|
22
|
+
```
|
|
23
|
+
There is also a command line interface feature. Just type
|
|
24
|
+
```
|
|
25
|
+
yambopy
|
|
26
|
+
```
|
|
27
|
+
on terminal to see the options. Typing `yambopy [option]` will show the related help message.
|
|
28
|
+
|
|
29
|
+
You can find explained tutorials and a partial
|
|
30
|
+
documentation on the Yambo wiki page: https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
|
|
31
|
+
|
|
32
|
+
The tutorials contain examples scripts illustrating how to use some of the features: they are intended to be copied, modified and adapted to other use cases and to your ideas and needs.
|
|
33
|
+
|
|
34
|
+
Additional information about capabilities and usage are available inside the tutorial folder and by reading the docstrings of the various classes. Keep in mind that a basic knowledge of python (`numpy` and `matplotlib` packages) will greatly help while using yambopy.
|
|
35
|
+
|
|
36
|
+
Features
|
|
37
|
+
--------
|
|
38
|
+
- Create Yambo and Quantum Espresso input files from python
|
|
39
|
+
- Collect and manipulate the human-readable output data for analysis
|
|
40
|
+
- Automatic submissions of calculations (e.g., custom workflows for convergence or multi-executable runs)
|
|
41
|
+
- Access Yambo netCDF databases and Quantum Espresso xml files
|
|
42
|
+
- Analyse, interpolate and plot the results in various ways using matplotlib
|
|
43
|
+
- Visualize advanced quantities such as:
|
|
44
|
+
- dielectric function, exciton weights in k and q-space, electron-phonon matrix elements...
|
|
45
|
+
- [Aiida](https://github.com/aiidateam) plugin for Yambo-Aiida workflows
|
|
46
|
+
- Tutorials
|
|
47
|
+
|
|
48
|
+
Installation
|
|
49
|
+
------------
|
|
50
|
+
|
|
51
|
+
Make sure that you have a suitable python environment (crated for example with [conda](https://docs.conda.io/projects/miniconda/en/latest/) or [venv](https://docs.python.org/3/library/venv.html)).
|
|
52
|
+
|
|
53
|
+
#### Regular installation of released version
|
|
54
|
+
Type `pip install yambopy`
|
|
55
|
+
|
|
56
|
+
#### Local installation from this repository (for latest patches)
|
|
57
|
+
Clone this repository in your local machine or cluster, enter the directory and type `pip install .`
|
|
58
|
+
|
|
59
|
+
#### More information
|
|
60
|
+
Follow the installation steps on the [Yambo wiki](https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy).
|
|
61
|
+
|
|
62
|
+
Requirements
|
|
63
|
+
------------
|
|
64
|
+
- yambo (>5.0.0): http://www.yambo-code.org/
|
|
65
|
+
- numpy: http://www.numpy.org/
|
|
66
|
+
- scipy: https://www.scipy.org/
|
|
67
|
+
- matplotlib: http://matplotlib.org/
|
|
68
|
+
- netCDF4: http://unidata.github.io/netcdf4-python/
|
|
69
|
+
- lxml: https://lxml.de/
|
|
70
|
+
- pyyaml: https://pyyaml.org/
|
|
71
|
+
- monty: https://pypi.org/project/monty/
|
|
72
|
+
- Quantum Espresso (optional): http://www.quantum-espresso.org/
|
|
73
|
+
|
|
74
|
+
Troubleshooting, bugs and questions
|
|
75
|
+
-----------------------------------
|
|
76
|
+
Please write a post in the yambopy subsection of the [yambo forum](https://www.yambo-code.eu/forum/viewforum.php?f=35&sid=77b7f6076dea7cdf40432efbc035feb6)
|
|
77
|
+
|
|
78
|
+
Current development goals
|
|
79
|
+
-------------------------
|
|
80
|
+
- General review and update of all features
|
|
81
|
+
- Brillouin zone paths patch
|
|
82
|
+
- Full support for finite-momentum BSE postprocessing
|
|
83
|
+
- Full documentation & tutorials
|
|
84
|
+
- Increase efficiency of I/O for large database sizes and numbers
|
|
85
|
+
- Test suite
|
|
86
|
+
- Make it easier to add new features
|
|
87
|
+
|
|
88
|
+
Authors
|
|
89
|
+
------
|
|
90
|
+
Original author:
|
|
91
|
+
- [Henrique Pereira Coutada Miranda](http://henriquemiranda.github.io/).
|
|
92
|
+
|
|
93
|
+
Current developers and maintainers:
|
|
94
|
+
- [Fulvio Paleari](http://palful.github.io) (CNR - Nanoscience institute, Modena)
|
|
95
|
+
- [Alejandro Molina Sanchez](http://alexmoratalla.github.io/) (University of Valencia)
|
|
96
|
+
- José Castelo (University of Valencia)
|
|
97
|
+
|
|
98
|
+
Active contributors:
|
|
99
|
+
- Claudio Attaccalite
|
|
100
|
+
- Miki Bonacci
|
|
101
|
+
- Jorge Cervantes-Villanueva
|
|
102
|
+
- Riccardo Reho
|
|
103
|
+
- Michele Re Fiorentin
|
|
104
|
+
- You if you want to share your scripts!
|
|
105
|
+
|
|
106
|
+
Past contributors:
|
|
107
|
+
- Matteo Zanfrognini
|
|
108
|
+
- Alexandre Morlet
|
|
109
|
+
- Davide Romanin
|
|
110
|
+
- Daniel Murphy
|
|
111
|
+
|
|
112
|
+
The code is at an ongoing stage of development, help us by sending bug reports, patches and suggestions!
|
|
113
|
+
|
|
114
|
+
How to contribute
|
|
115
|
+
-----------------
|
|
116
|
+
If you want to contribute, we suggest the following steps:
|
|
117
|
+
1. Fork this repository
|
|
118
|
+
2. Implement and test your new feature(s) in the forked repo
|
|
119
|
+
3. Create a pull request in order to include your development in the official code
|
|
120
|
+
|
|
121
|
+
Acknoledgements
|
|
122
|
+
----------------
|
|
123
|
+
- The [Abipy](https://abinit.github.io/abipy/) library developed for the Abinit code was the original inspiration for Yambopy. In particular, abipy's `SkwInterpolator` module for band structure interpolations has been directly imported into yambopy.
|
|
124
|
+
- Yambopy logos by Claudia Cardoso
|
|
125
|
+
- University of Luxembourg
|
|
126
|
+
- University of Valencia
|
|
127
|
+
- Nanoscience Institute of the Italian National Research Council
|
|
128
|
+
- [MaX](https://www.max-centre.eu/): Materials at the eXascale EU center of excellence
|
|
129
|
+
|
|
130
|
+

|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools", "setuptools-scm"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
#requires = ["flit_core"]
|
|
5
|
+
#build-backend = "flit_core.buildapi"
|
|
6
|
+
[project]
|
|
7
|
+
name = "yambopy"
|
|
8
|
+
version = "0.3.0"
|
|
9
|
+
authors = [
|
|
10
|
+
{ name="Fulvio Paleari", email="fulvio.paleari@nano.cnr.it" },
|
|
11
|
+
{ name="Alejandro Molina-Sanchez", email="alejandro.molina@uv.es" },
|
|
12
|
+
{ name="Henrique Miranda" },
|
|
13
|
+
]
|
|
14
|
+
description = "Yambopy: a pre/post-processing tool for Yambo"
|
|
15
|
+
readme = "README.md"
|
|
16
|
+
requires-python = ">=3.6"
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
|
|
20
|
+
"Operating System :: OS Independent",
|
|
21
|
+
"Development Status :: 3 - Alpha",
|
|
22
|
+
]
|
|
23
|
+
dependencies = [ "numpy", "scipy", "netCDF4", "matplotlib", "pyyaml", "lxml", "monty"]
|
|
24
|
+
[project.urls]
|
|
25
|
+
"Homepage" = "https://github.com/yambo-code/yambopy"
|
|
26
|
+
"Documentation" = "https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy"
|
|
27
|
+
[project.scripts]
|
|
28
|
+
yambopy="yambocommandline.scripts.yambopy:YambopyCmd"
|
|
29
|
+
[tool.setuptools]
|
|
30
|
+
packages = ['yambopy',
|
|
31
|
+
'yambopy.io',
|
|
32
|
+
'yambopy.dbs',
|
|
33
|
+
'yambopy.bse',
|
|
34
|
+
'yambopy.rt',
|
|
35
|
+
'yambopy.double_grid',
|
|
36
|
+
'yambopy.data',
|
|
37
|
+
'yambopy.plot',
|
|
38
|
+
'yambopy.em1s',
|
|
39
|
+
'yambopy.tools',
|
|
40
|
+
'yambopy.common',
|
|
41
|
+
'yambopy.gkkp',
|
|
42
|
+
'yambopy.flow',
|
|
43
|
+
'yambopy.nl',
|
|
44
|
+
'qepy',
|
|
45
|
+
'qepy.upf_interface',
|
|
46
|
+
'qepy.data.pseudos',
|
|
47
|
+
'schedulerpy',
|
|
48
|
+
'yamboparser',
|
|
49
|
+
'yambocommandline',
|
|
50
|
+
'yambocommandline.commands',]
|
|
51
|
+
|
yambopy-0.3.0/pytest.ini
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Copyright (C) 2018 Henrique Pereira Coutada Miranda
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# This file is part of yambopy
|
|
5
|
+
#
|
|
6
|
+
"""
|
|
7
|
+
Scripts to manipulate Quantum Espresso input files
|
|
8
|
+
|
|
9
|
+
Also able to read output files in xml format (datafile.xml or datafile-schema.xml)
|
|
10
|
+
|
|
11
|
+
"""
|
|
12
|
+
import os
|
|
13
|
+
|
|
14
|
+
class qepyenv():
|
|
15
|
+
PW = "pw.x"
|
|
16
|
+
PH = "ph.x"
|
|
17
|
+
DYNMAT = "dynmat.x"
|
|
18
|
+
PSEUDODIR = os.path.join(os.path.dirname(__file__),'data','pseudos')
|
|
19
|
+
CONV_THR = 1e-8
|
|
20
|
+
|
|
21
|
+
from qepy.xml import *
|
|
22
|
+
from qepy.bravais import *
|
|
23
|
+
from qepy.pw import *
|
|
24
|
+
from qepy.pwxml import *
|
|
25
|
+
from qepy.projwfc import *
|
|
26
|
+
from qepy.projwfcxml import *
|
|
27
|
+
from qepy.ph import *
|
|
28
|
+
from qepy.dynmat import *
|
|
29
|
+
from qepy.matdyn import *
|
|
30
|
+
from qepy.lattice import *
|
|
31
|
+
from qepy.unfolding import *
|
|
32
|
+
from qepy.unfoldingyambo import *
|
|
33
|
+
from qepy.supercell import *
|
|
34
|
+
from qepy.upf_interface.ppupf import *
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copyright (C) 2015 Henrique Pereira Coutada Miranda, Alejandro Molina-Sanchez
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# This file is part of yambopy
|
|
5
|
+
#
|
|
6
|
+
from builtins import range
|
|
7
|
+
from builtins import object
|
|
8
|
+
import numpy as np
|
|
9
|
+
import os
|
|
10
|
+
|
|
11
|
+
def float_from_string(x):
|
|
12
|
+
"""
|
|
13
|
+
Convert a string in a float
|
|
14
|
+
"""
|
|
15
|
+
y=[]
|
|
16
|
+
for t in x.split():
|
|
17
|
+
try:
|
|
18
|
+
y.append(float(t))
|
|
19
|
+
except ValueError:
|
|
20
|
+
pass
|
|
21
|
+
return y
|
|
22
|
+
|
|
23
|
+
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of yambopy
|
|
3
|
+
#
|
|
4
|
+
import numpy as np
|
|
5
|
+
from qepy import xml
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
This file contains a list of functions to deal with Bravais lattices
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
def get_ibrav(datafile_xml):
|
|
12
|
+
"""
|
|
13
|
+
Get ibrav number (as string) from QE data-file-schema.xml
|
|
14
|
+
|
|
15
|
+
[NB] datafile_xml must be in the form:
|
|
16
|
+
|
|
17
|
+
datafile_xml = ET.parse( "PREFIX.save/data-file-schema.xml" )
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
ibrav = xml.get_xml_attrib(datafile_xml,'atomic_structure','bravais_index',repeated=True)
|
|
21
|
+
return ibrav
|
|
22
|
+
|
|
23
|
+
def lattice_dictionary(ibrav):
|
|
24
|
+
"""
|
|
25
|
+
Dictionary with text descriptions for ibrav numbers
|
|
26
|
+
"""
|
|
27
|
+
bravais_lattices = {
|
|
28
|
+
0 : 'free',
|
|
29
|
+
1 : 'cubic P (sc)',
|
|
30
|
+
2 : 'cubic F (fcc)',
|
|
31
|
+
3 : 'cubic I (bcc)',
|
|
32
|
+
4 : 'Hexagonal and Trigonal P',
|
|
33
|
+
5 : 'Trigonal R, 3fold axis c',
|
|
34
|
+
6 : 'Tetragonal P (st)',
|
|
35
|
+
7 : 'Tet ragonal I (bct)',
|
|
36
|
+
8 : 'Orthorhombic P',
|
|
37
|
+
9 : 'Orthorhombic base-centered(bco)',
|
|
38
|
+
10 : 'Orthorhombic face-centered',
|
|
39
|
+
11 : 'Orthorhombic body-centered',
|
|
40
|
+
12 : 'Monoclinic P, unique axis c',
|
|
41
|
+
13 : 'Monoclinic base-centered',
|
|
42
|
+
14 : 'Triclinic'
|
|
43
|
+
}
|
|
44
|
+
try: bravais_lattices[ibrav]
|
|
45
|
+
except KeyError: print("This lattice type is not implemented ):")
|
|
46
|
+
else: return bravais_lattices[ibrav]
|
|
47
|
+
|
|
48
|
+
def lattice_type(ibrav,cell):
|
|
49
|
+
"""
|
|
50
|
+
Input: specific lattice type (ibrav) and cell parameters (as list)
|
|
51
|
+
Output: lattice vectors
|
|
52
|
+
"""
|
|
53
|
+
ibrav = int(ibrav)
|
|
54
|
+
lattice = lattice_dictionary(ibrav)
|
|
55
|
+
sqrt = np.sqrt
|
|
56
|
+
|
|
57
|
+
if lattice=='Hexagonal and Trigonal P':
|
|
58
|
+
a = cell[0]
|
|
59
|
+
c_a = cell[2] #c/a
|
|
60
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
61
|
+
[-0.5, sqrt(3.)/2., 0. ],
|
|
62
|
+
[ 0., 0., c_a ] ])
|
|
63
|
+
if lattice=='free':
|
|
64
|
+
vecs = np.array([ datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a1").text.split(),
|
|
65
|
+
datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a2").text.split(),
|
|
66
|
+
datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a3").text.split() ]).astype(float)
|
|
67
|
+
if lattice=='cubic P (sc)':
|
|
68
|
+
a = cell[0]
|
|
69
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
70
|
+
[ 0., 1., 0. ],
|
|
71
|
+
[ 0., 0., 1. ] ])
|
|
72
|
+
if lattice== 'cubic F (fcc)':
|
|
73
|
+
a = cell[0]
|
|
74
|
+
vecs = a/2.*np.array([ [-1., 0., 1. ],
|
|
75
|
+
[ 0., 1., 1. ],
|
|
76
|
+
[-1., 1., 0. ] ])
|
|
77
|
+
if lattice=='cubic I (bcc)':
|
|
78
|
+
a = cell[0]
|
|
79
|
+
vecs = a/2.*np.array([ [ 1., 1., 1. ],
|
|
80
|
+
[-1., 1., 1. ],
|
|
81
|
+
[-1.,-1., 0. ] ])
|
|
82
|
+
if lattice=='Trigonal R, 3fold axis c':
|
|
83
|
+
a = cell[0]
|
|
84
|
+
c_g = cell[3] #cos(gamma)
|
|
85
|
+
tx, ty, tz = [ sqrt((1.-c_g)/2.), sqrt((1.-c_g)/6.), sqrt((1.+2*c_g)/3.) ]
|
|
86
|
+
vecs = a*np.array([ [ tx, -ty, tz ],
|
|
87
|
+
[ 0., 2*ty, tz ],
|
|
88
|
+
[-tx, -ty, tz ] ])
|
|
89
|
+
if lattice=='Tetragonal P (st)':
|
|
90
|
+
a = cell[0]
|
|
91
|
+
c_a = cell[2]
|
|
92
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
93
|
+
[ 0., 1., 0. ],
|
|
94
|
+
[ 0., 0., c_a ] ])
|
|
95
|
+
if lattice=='Tetragonal I (bct)':
|
|
96
|
+
a = cell[0]
|
|
97
|
+
c_a = cell[2]
|
|
98
|
+
vecs = a/2.*np.array([ [ 1.,-1., c_a ],
|
|
99
|
+
[ 1., 1., c_a ],
|
|
100
|
+
[-1.,-1., c_a ] ])
|
|
101
|
+
if lattice=='Orthorhombic P':
|
|
102
|
+
a = cell[0]
|
|
103
|
+
b_a = cell[1] #b/a
|
|
104
|
+
c_a = cell[2]
|
|
105
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
106
|
+
[ 0., b_a, 0. ],
|
|
107
|
+
[ 0., 0., c_a ] ])
|
|
108
|
+
if lattice=='Orthorhombic base-centered(bco)':
|
|
109
|
+
a = cell[0]
|
|
110
|
+
b_a = cell[1]
|
|
111
|
+
c_a = cell[2]
|
|
112
|
+
vecs = a*np.array([ [ 1./2., b_a/2., 0. ],
|
|
113
|
+
[-1./2., b_a/2., 0. ],
|
|
114
|
+
[ 0., 0., c_a ] ])
|
|
115
|
+
if lattice=='Orthorhombic face-centered':
|
|
116
|
+
a = cell[0]
|
|
117
|
+
b_a = cell[1]
|
|
118
|
+
c_a = cell[2]
|
|
119
|
+
vecs = a/2.*np.array([ [ 1., 0., c_a ],
|
|
120
|
+
[ 1., b_a, 0. ],
|
|
121
|
+
[ 0., b_a, c_a ] ])
|
|
122
|
+
if lattice=='Orthorhombic body-centered':
|
|
123
|
+
a = cell[0]
|
|
124
|
+
b_a = cell[1]
|
|
125
|
+
c_a = cell[2]
|
|
126
|
+
vecs = a/2.*np.array([ [ 1., b_a, c_a ],
|
|
127
|
+
[-1., b_a, c_a ],
|
|
128
|
+
[-1.,-b_a, c_a ] ])
|
|
129
|
+
if lattice=='Monoclinic P, unique axis c':
|
|
130
|
+
a = cell[0]
|
|
131
|
+
b_a = cell[1]
|
|
132
|
+
c_a = cell[2]
|
|
133
|
+
c_g = cell[3]
|
|
134
|
+
s_g =+sqrt(1.-c_g*c_g)
|
|
135
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
136
|
+
[ b_a*c_g, b_a*s_g, 0. ],
|
|
137
|
+
[ 0., 0., c_a ] ])
|
|
138
|
+
if lattice=='Monoclinic base-centered':
|
|
139
|
+
a = cell[0]
|
|
140
|
+
b_a = cell[1]
|
|
141
|
+
c_a = cell[2]
|
|
142
|
+
c_g = cell[3]
|
|
143
|
+
s_g =+sqrt(1.-c_g*c_g)
|
|
144
|
+
vecs = a*np.array([ [ 1./2., 0.,-c_a/2. ],
|
|
145
|
+
[ b_a*c_g, b_a*s_g, 0. ],
|
|
146
|
+
[ 1./2., 0., c_a/2. ] ])
|
|
147
|
+
if lattice=='Triclinic':
|
|
148
|
+
a = cell[0]
|
|
149
|
+
b_a = cell[1]
|
|
150
|
+
c_a = cell[2]
|
|
151
|
+
c_a = cell[3] #cos(alpha)
|
|
152
|
+
c_b = cell[4] #cos(beta)
|
|
153
|
+
c_g = cell[5] #cos(gamma)
|
|
154
|
+
s_g =+sqrt(1.-c_g*c_g)
|
|
155
|
+
V2 = a**6.*b_a**2.*c_a**2.*(1.+2.*c_a*c_b*c_g-c_a*c_a-c_b*c_b-c_g*c_g)
|
|
156
|
+
vecs = a*np.array([ [ 1., 0., 0. ],
|
|
157
|
+
[ b_a*c_g, b_a*s_g, 0. ],
|
|
158
|
+
[ c_a*c_b, c_a*(c_a-c_b*c_g)/s_g, c_a*sqrt(V2)/(a*b_a*a*c_a*a)/s_g ] ])
|
|
159
|
+
#
|
|
160
|
+
try: vecs
|
|
161
|
+
except NameError: print("This lattice type is not implemented ):")
|
|
162
|
+
else: return vecs
|
|
163
|
+
|
|
164
|
+
def crys_to_car(lattice_vectors,reciprocal_space=False):
|
|
165
|
+
""" Calculation of the metric tensor in real or reciprocal space
|
|
166
|
+
|
|
167
|
+
Input:
|
|
168
|
+
- Lattice vectors (real space)
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
#Metric tensor
|
|
172
|
+
G = np.array([ [np.dot(a1,a2) for a1 in lattice_vectors] for a2 in lattice_vectors ])
|
|
173
|
+
#Metric tensor in reciprocal space
|
|
174
|
+
if reciprocal_space: return np.linalg.inv(G)
|
|
175
|
+
else: return G
|
|
File without changes
|