# DivERGe implements various ERG examples
DivERGe provides a versatile framework to set up (one,) two and three
dimensional functional renormalization group (FRG/ERG) calculations under the
static vertex approximation.
It implements three backends, the grid FRG, truncated unity FRG (TUFRG) and
orbital space n-patch FRG.
For maximum performance, the code is written in C/C++ with extensions in CUDA
(GPUs). It makes minimal use of other dependencies, only FFTW and LAPACK are
required. MPI may be used if desired. DivERGe can be interfaced from C/C++ or
python, with an existing python FFI wrapper. This wrapper is published in pypi,
such that you can run
```
pip install diverge-flow
```
on a 64bit linux machine and directly use divERGe. For different architectures,
compilation is additionally required (and putting the correct
```libdivERGe.so``` in your ```LD_LIBRARY_PATH```). You can verify the .so file
in use by calling ```diverge.info()``` from python. For any other language, you
must write all the FFI wrappers yourself.
# [Documentation](https://frg.pages.rwth-aachen.de/diverge/)
[https://frg.pages.rwth-aachen.de/diverge/](https://frg.pages.rwth-aachen.de/diverge/)
# [Download CPU release](https://git.rwth-aachen.de/frg/diverge/-/raw/master/public/releases/v0.8/divERGe.tar.gz)
Generic linux (amd64) builds (GLIBC>=2.17, this should be given almost anywhere
to date) can be downloaded
[here](https://git.rwth-aachen.de/frg/diverge/-/tree/master/public/releases). We
recommend building from source for an optimized version on the HPC
infrastructure to your availability.
# Testing
We use a slightly modified version of
[Catch2](https://github.com/catchorg/Catch2) for testing. To check divERGe's
health from python, run
```
import diverge
diverge.init(None, None)
diverge.run_tests()
diverge.finalize()
```
# Citation
Please cite [this paper](https://doi.org/10.21468/SciPostPhysCodeb.26) when
using divERGe for your work. You may use the following BibTex entry:
```
@Article{10.21468/SciPostPhysCodeb.26,
title={{divERGe implements various Exact Renormalization Group examples}},
author={Jonas B. Profe and Dante M. Kennes and Lennart Klebl},
journal={SciPost Phys. Codebases},
pages={26},
year={2024},
publisher={SciPost},
doi={10.21468/SciPostPhysCodeb.26},
url={https://scipost.org/10.21468/SciPostPhysCodeb.26},
}
```
# License
divERGe is published under the
[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html). The releases include
differently licensed software ([OpenBLAS](https://www.openblas.net/),
[FFTW](https://www.fftw.org/)) in binary form.
<!-- non-free parts ([CUDA](https://developer.nvidia.com/cuda-toolkit)) and -->
# Authors
**Jonas B. Profe** and **Lennart Klebl**, 2024.
Raw data
{
"_id": null,
"home_page": null,
"name": "diverge-flow",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "frg, hpc",
"author": "Jonas B. Profe, Lennart Klebl",
"author_email": "jonas.hauck@rwth-aachen.de, lennart.klebl@rwth-aachen.de",
"download_url": "https://files.pythonhosted.org/packages/db/5d/7b4f9e8d22205089ad7340c1b42127784a4d1cc29ea376fa3beca1298e98/diverge_flow-0.8.2.tar.gz",
"platform": null,
"description": "# DivERGe implements various ERG examples\nDivERGe provides a versatile framework to set up (one,) two and three\ndimensional functional renormalization group (FRG/ERG) calculations under the\nstatic vertex approximation.\n\nIt implements three backends, the grid FRG, truncated unity FRG (TUFRG) and\norbital space n-patch FRG.\n\nFor maximum performance, the code is written in C/C++ with extensions in CUDA\n(GPUs). It makes minimal use of other dependencies, only FFTW and LAPACK are\nrequired. MPI may be used if desired. DivERGe can be interfaced from C/C++ or\npython, with an existing python FFI wrapper. This wrapper is published in pypi,\nsuch that you can run\n```\npip install diverge-flow\n```\non a 64bit linux machine and directly use divERGe. For different architectures,\ncompilation is additionally required (and putting the correct\n```libdivERGe.so``` in your ```LD_LIBRARY_PATH```). You can verify the .so file\nin use by calling ```diverge.info()``` from python. For any other language, you\nmust write all the FFI wrappers yourself.\n\n# [Documentation](https://frg.pages.rwth-aachen.de/diverge/)\n[https://frg.pages.rwth-aachen.de/diverge/](https://frg.pages.rwth-aachen.de/diverge/)\n\n# [Download CPU release](https://git.rwth-aachen.de/frg/diverge/-/raw/master/public/releases/v0.8/divERGe.tar.gz)\nGeneric linux (amd64) builds (GLIBC>=2.17, this should be given almost anywhere\nto date) can be downloaded\n[here](https://git.rwth-aachen.de/frg/diverge/-/tree/master/public/releases). We\nrecommend building from source for an optimized version on the HPC\ninfrastructure to your availability.\n\n# Testing\nWe use a slightly modified version of\n[Catch2](https://github.com/catchorg/Catch2) for testing. To check divERGe's\nhealth from python, run\n```\nimport diverge\ndiverge.init(None, None)\ndiverge.run_tests()\ndiverge.finalize()\n```\n\n# Citation\nPlease cite [this paper](https://doi.org/10.21468/SciPostPhysCodeb.26) when\nusing divERGe for your work. You may use the following BibTex entry:\n```\n@Article{10.21468/SciPostPhysCodeb.26,\n\ttitle={{divERGe implements various Exact Renormalization Group examples}},\n\tauthor={Jonas B. Profe and Dante M. Kennes and Lennart Klebl},\n\tjournal={SciPost Phys. Codebases},\n\tpages={26},\n\tyear={2024},\n\tpublisher={SciPost},\n\tdoi={10.21468/SciPostPhysCodeb.26},\n\turl={https://scipost.org/10.21468/SciPostPhysCodeb.26},\n}\n```\n\n# License\ndivERGe is published under the\n[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html). The releases include\ndifferently licensed software ([OpenBLAS](https://www.openblas.net/),\n[FFTW](https://www.fftw.org/)) in binary form.\n<!-- non-free parts ([CUDA](https://developer.nvidia.com/cuda-toolkit)) and -->\n\n# Authors\n**Jonas B. Profe** and **Lennart Klebl**, 2024.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "divERGe implements various ERG examples",
"version": "0.8.2",
"project_urls": null,
"split_keywords": [
"frg",
" hpc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "35ee6094d06c4acbdfb6d2c367c67f63a1ecd2bcec530b78808feaf4b5267341",
"md5": "679769fa47d2051b67a5936aa46d5883",
"sha256": "5090f7ff5e6752cb8e4fb0136d2e92af8e733a40912347830b1c5ebad51d556f"
},
"downloads": -1,
"filename": "diverge_flow-0.8.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "679769fa47d2051b67a5936aa46d5883",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 2602476,
"upload_time": "2024-10-31T18:57:56",
"upload_time_iso_8601": "2024-10-31T18:57:56.555811Z",
"url": "https://files.pythonhosted.org/packages/35/ee/6094d06c4acbdfb6d2c367c67f63a1ecd2bcec530b78808feaf4b5267341/diverge_flow-0.8.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "db5d7b4f9e8d22205089ad7340c1b42127784a4d1cc29ea376fa3beca1298e98",
"md5": "32fbeff9e7ba4a8033591388c9f976c8",
"sha256": "76658592b793c7aff24746062a4bff882c478bac9446d11a3dd7f05b2393fe78"
},
"downloads": -1,
"filename": "diverge_flow-0.8.2.tar.gz",
"has_sig": false,
"md5_digest": "32fbeff9e7ba4a8033591388c9f976c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2587782,
"upload_time": "2024-10-31T18:58:01",
"upload_time_iso_8601": "2024-10-31T18:58:01.958393Z",
"url": "https://files.pythonhosted.org/packages/db/5d/7b4f9e8d22205089ad7340c1b42127784a4d1cc29ea376fa3beca1298e98/diverge_flow-0.8.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-31 18:58:01",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "diverge-flow"
}