{"id":15140819,"url":"https://github.com/molgw/molgw","last_synced_at":"2025-04-09T13:04:01.173Z","repository":{"id":28712349,"uuid":"32233064","full_name":"molgw/molgw","owner":"molgw","description":"Accurate many-body perturbation theory calculations of the electronic structure of molecules and clusters","archived":false,"fork":false,"pushed_at":"2025-03-20T09:09:02.000Z","size":12738,"stargazers_count":42,"open_issues_count":3,"forks_count":26,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-02T07:58:53.162Z","etag":null,"topics":["bethe-salpeter","dft","fortran","greens-functions","hartree-fock","molecule","mpi","quantum-mechanics","scalapack","tddft"],"latest_commit_sha":null,"homepage":"http://www.molgw.org","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/molgw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-14T21:34:26.000Z","updated_at":"2025-04-01T18:52:32.000Z","dependencies_parsed_at":"2024-05-28T04:19:46.061Z","dependency_job_id":"bb063bcd-3e1a-4ced-a8d5-dc82e7baed2e","html_url":"https://github.com/molgw/molgw","commit_stats":{"total_commits":3026,"total_committers":19,"mean_commits":"159.26315789473685","dds":"0.43754130865829477","last_synced_commit":"8b0d3d0b2c969428cafaf61d0b2d9c9c7d057731"},"previous_names":["molgw/molgw","bruneval/molgw"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molgw%2Fmolgw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molgw%2Fmolgw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molgw%2Fmolgw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molgw%2Fmolgw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/molgw","download_url":"https://codeload.github.com/molgw/molgw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045230,"owners_count":21038553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bethe-salpeter","dft","fortran","greens-functions","hartree-fock","molecule","mpi","quantum-mechanics","scalapack","tddft"],"created_at":"2024-09-26T08:41:33.730Z","updated_at":"2025-04-09T13:04:01.144Z","avatar_url":"https://github.com/molgw.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"-----------------------------------------\n#                 MOLGW\n-----------------------------------------\n\n\nMany-body perturbation theory for atoms, molecules, and clusters\n\n\n## Getting started\n\nThis is a minimalistic README file.\nMany more details can be found on the web site [molgw.org](http://www.molgw.org/).\nA tutorial section exists there.\n\n\n## Features\n\nMOLGW implements the following schemes:\n- Hartree-Fock\n- LDA (PW, VWN)\n- GGA (PBE, PW91, BLYP)\n- potential-only meta-GGA (BJ, RPP)\n- hybrid functionals (PBE0, B3LYP)\n- double-hybrid functionals (PBE0-DH, PBE-QIDH, B2PLYP, and RSX-QIDH)\n- screened hybrid functionals (HSE03, HSE06, CAM-B3LYP, and LC-BLYP)\n- any user-developped range-separated hybrid based on wPBEH\n- GW@HF or GW@DFT\n- GW/PT2 density-matrix\n- QSGW\n- QSMP2\n- MP2@HF (MP2 correlation energy used in double-hybrid DFT functionals)\n- PT2@HF or PT2@DFT\n- PT3@HF or PT3@DFT\n- CI for few electrons \n- Linear-response TDDFT or TDHF\n- Bethe-Salpeter equation\n- real-time TDDFT\n- X2C relativistic HF/DFT calculations\n- HF/DFT+NOFT (MULLER, CGA, CA, GU, POWER, PNOF5, PNOF7, and GNOF)\n- Molecules subject to external finite electric fields\n\nThe Python3 module `molgw.py` is available for automation.\n\n## Installation\n\nMOLGW needs Fortran 2003 (and a few Fortran2008 features) and C++ compilers.\nMOLGW is being tested with `gfortran`, `g++` (version 11.x.x) and `ifort` (version 21).\nMOLGW can run in parallel using OPENMP and MPI parallelization.\n\nAll the machine dependent variables should be set in file `~molgw/src/my_machine.arch`\nExamples for this file can be found in the folder `~molgw/config/`.\nThen\n`cd ~molgw/src`\n`make`\n\n- BLAS and LAPACK linear algebra libraries are required.\n- [LIBINT](https://github.com/evaleev/libint/releases) or [LIBCINT](https://github.com/sunqm/libcint/releases) is required for Gaussian integrals\n- [LIBXC](https://www.tddft.org/programs/libxc/download/) is required for DFT calculations (else only HF is available)\n\nTo run on multi-node computers\n- MPI and SCALAPACK are both required\n\n\n## Basis sets\n\nMany standard Gaussian basis sets are shipped with MOLGW.\n\nMore basis sets can be obtained from [Basis Set Exchange](https://bse.pnl.gov/bse/portal)\nThe file can be generated from a NWChem file using the script\n`~molgw/utils/basisset_nwchem2molgw.py aug-cc-pVDZ.nwchem`\n\nYou may even create your own.\n\n\n## Usage\n\n`/path/to/molgw/molgw helium.in \u003e helium.out`\n\nMany example input files can be found in `~molgw/tests/inputs/`\n\n\n## Known issues\n\n- QSGW scf loop might be quite unstable for large basis sets, use a large eta\n- TDDFT GGA kernel can induce very large numerical values that hinders the numerical stability and breaks some comparison with other codes.\n\n\n## Bug reporting\n\nPlease use the [issues](https://github.com/molgw/molgw/issues) section on MOLGW github.\n\n\n## Information for developers\n\nBesides the wrapper calls to the LIBINT library, MOLGW is entirely written in Fortran2003/2008.\nFortran C bindings are used to call LIBXC and LIBCINT.\nThe source files can be found in ~molgw/src/.\n\n### Coding Rules \n\nThe Fortran intent in/out/inout is compulsory for the arguments of a subroutine.\nOne character variable names are discouraged.\n\nThe careful developer should try\n- to follow the overall layout and the conventions of the code (double space indent, separation of the list of variables arguments/local, loop counters naming, etc.)\n- to protect the data contained in a module with private or protected attribute as much as possible.\n- to avoid cascading object access, such as a%b%c (Create methods instead)\n- to hide the MPI statements with a generic wrapper in subroutine src/m_mpi.f90.\n- to hide the SCALAPACK statements with a generic wrapper in subroutine src/m_scalapack.f90 (not implemented as of today).\n\n### Automatically generated files\n\nA few fortran source files are generated by python scripts:\n- src/basis_path.f90\n- src/revision.f90 \nare generated by src/prepare_sourcecode.py (that is run at each \"make\" operation)\nand\n- src/input_variables.f90\nis generated by utils/input_variables.py from a YAML file src/input_variables.yaml .\nDo not attempt to edit the fortran files. You should rather edit the yaml file.\n\nTo add a new input variable, append a new variable description in the YAML file src/input_variables.yaml.\nThen execute the python script utils/input_variables.py.\nThis will generate automatically the Fortran source file src/input_variables.f90\nand the HTML and markdown documentation files docs/input_variables.html docs/input_variables.md.\n\n### Adding a new source file\n\nIt requires the manual editing of the src/Makefile (sorry).\nPlease check carefully the module dependence so to compile and add it to the right \"level\" of the Makefile.\nThe code should compile properly in parallel with `make -j`.\n\n\n## Contributors\n\n- Fabien Bruneval\n- Ivan Maliyov\n- Mauricio Rodriguez-Mayorga \n- Xixi Qi\n- Young-Moo Byun\n- Meiyue Shao\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolgw%2Fmolgw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmolgw%2Fmolgw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolgw%2Fmolgw/lists"}