{ "info": { "author": "ajz34", "author_email": "17110220038@fudan.edu.cn", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3" ], "description": "# Python xDH Project\n\n| | Badges |\n| :------ | :------- |\n| **Builds** | [![Build Status](https://travis-ci.com/ajz34/Py_xDH.svg?branch=master)](https://travis-ci.com/ajz34/Py_xDH) [![Documentation Status](https://readthedocs.org/projects/py-xdh/badge/?version=latest)](https://py-xdh.readthedocs.io/zh_CN/latest/?badge=latest) ![GitHub](https://img.shields.io/github/license/ajz34/py_xdh) |\n| **Code Quality** | [![codecov](https://codecov.io/gh/ajz34/Py_xDH/branch/master/graph/badge.svg)](https://codecov.io/gh/ajz34/Py_xDH) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/ajz34/Py_xDH.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ajz34/Py_xDH/context:python) |\n| **Docker** | ![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/ajz34/pyxdh) [![](https://images.microbadger.com/badges/image/ajz34/pyxdh.svg)](https://microbadger.com/images/ajz34/pyxdh \"Get your own image badge on microbadger.com\") |\n\nThis project is mainly documentation or notes of some basic quantum chemistry derivative implementations\n(including GGA, MP2, non-consistent GGA, xDH).\n**Documentation is written in Chinese for the current moment.**\n\nThis project also includes demo python package `pyxdh` that implements properties calculation, which integral engine,\nbasis processing, DFT grid engine and CP-HF algorithm is based on python quantum chemistry package [PySCF](https://github.com/pyscf/pyscf).\n\n\u8fd9\u9879\u5de5\u7a0b\u4e3b\u8981\u662f\u4e00\u4e9b\u57fa\u7840\u7684\u91cf\u5316\u65b9\u6cd5 (\u6db5\u76d6 GGA \u4e3a\u57fa\u7840\u7684\u81ea\u6d3d\u573a\u3001MP2\u3001\u975e\u81ea\u6d3d GGA\u3001XYG3 \u578b\u53cc\u6742\u5316\u6cdb\u51fd) \u7684\u68af\u5ea6\u6027\u8d28\u8ba1\u7b97\u7684\u8bf4\u660e\u6587\u6863\u4e0e\u7b14\u8bb0\u3002\n**\u76ee\u524d\u8fd9\u4efd\u7b14\u8bb0\u4ec5\u6709\u4e2d\u6587\u7684\u7248\u672c\u3002**\n\n\u8fd9\u9879\u5de5\u7a0b\u4e5f\u5305\u542b\u5b9e\u73b0\u8fd9\u4e9b\u68af\u5ea6\u6027\u8d28\u8ba1\u7b97\u7684 Python \u5e93 `pyxdh`\u3002\u8be5\u5e93\u7684\u7535\u5b50\u79ef\u5206\u3001\u57fa\u7ec4\u5904\u7406\u3001DFT \u683c\u70b9\u79ef\u5206\u5f15\u64ce\u4e0e CP-HF \u65b9\u7a0b\u7b97\u6cd5\u57fa\u4e8e\n[PySCF](https://github.com/pyscf/pyscf) \u7684\u91cf\u5b50\u5316\u5b66\u5e93\u3002\n\n> **Warning**\n> \n> `pyxdh` has not been fully and rigorously tested, nor peer reviewed.\n> Please use other quantum chemistry software instead anyway if one is preparing papers or making industrial implementation.\n> \n> This package is virtually only for learning coding techniques for double hybrid secondary derivative properties.\n> Efficiency could be extremely terrible and is not the gist of this package.\n> \n> `pyxdh` \u6ca1\u6709\u7ecf\u8fc7\u4e25\u683c\u7684\u6d4b\u8bc4\uff0c\u76ee\u524d\u4e5f\u6ca1\u6709\u4efb\u4f55\u540c\u884c\u8bc4\u8bae\u3002\n> \u5728\u8fd9\u4efd\u8b66\u544a\u64a4\u9500\u4e4b\u524d\uff0c\u8bf7\u4e0d\u8981\u5728\u6b63\u5f0f\u53d1\u8868\u7684\u8bba\u6587\u4e2d\u4f7f\u7528\u6b64\u5904\u7684\u505a\u6cd5\u4f5c\u4e3a XYG3 \u53ca\u5176\u5bfc\u6570\u6027\u8d28\u7684\u8ba1\u7b97\u65b9\u6cd5\u3002\n> \u5bf9\u4e8e\u5176\u5b83\u65b9\u6cd5\uff0c\u8b6c\u5982 MP2\u3001\u53cc\u6742\u5316\u6cdb\u51fd\u7b49\u6027\u8d28\uff0c\u4e5f\u8bf7\u5728\u751f\u4ea7\u73af\u5883\u6216\u6b63\u5f0f\u53d1\u8868\u8bba\u6587\u4e2d\u4f7f\u7528\u6210\u719f\u7684\u91cf\u5316\u8f6f\u4ef6\u3002\n> \n> \u8fd9\u4e2a\u5e93\u4ec5\u4ec5\u662f\u5bf9\u4e8c\u9636\u68af\u5ea6\u521d\u6b65\u5b9e\u73b0\u7684\u6280\u672f\u8ba8\u8bba\u3002\u7a0b\u5e8f\u6548\u7387\u4f1a\u6bd4\u8f83\u7cdf\u7cd5\u4e14\u5e76\u4e0d\u662f\u8fd9\u4e2a\u5e93\u5173\u5fc3\u7684\u6838\u5fc3\u95ee\u9898\u3002\n\n## Abilities\n\n| | GGA | MP2 | GGA-GGA | GGA xDH |\n|:---------------:|:---:|:---:|:-------:|:-------:|\n| Energy | + | + | + | + |\n| Gradient | + | + | + | + |\n| Dipole | + | + | + | + |\n| Hessian | + | + | + | + |\n| Dipole Gradient | + | + | + | + |\n| Polarizability | + | + | + | + |\n\nWhere\n - \"+\": Implemented in this repository;\n - \"GGA\": SCF process with GGA kernel or naive HF; note that LDA, meta-GGA or NLC is not supported in these code;\n - \"MP2\": PT2 with SCF reference; can be naive MP2 with HF reference or B2PLYP-type Double Hybrid functional (DH);\n - \"GGA-GGA\": Non-Consistent GGA, e.g. B3LYP energy take HF density as reference;\n - \"GGA xDH\": XYG3 type functional (xDH) take GGA density as reference.\n\n\u5176\u4e2d\uff0c\n - \"+\"\uff1a\u5728\u8fd9\u4efd\u4ee3\u7801\u5e93\u4e2d\u5df2\u7ecf\u5b9e\u73b0\uff1b\n - \"GGA\"\uff1a\u4ee5 GGA \u4e3a\u57fa\u7840\u7684 SCF\uff0c\u5305\u62ec HF\uff1b\u4f46 LDA\u3001meta-GGA\u3001NLC \u73b0\u4e0d\u652f\u6301\uff1b\n - \"MP2\"\uff1a\u4ee5 SCF \u4e3a\u53c2\u8003\u6001\u7684\u4e8c\u9636\u5fae\u6270\uff1b\u8fd9\u5305\u62ec\u666e\u901a\u7684 MP2 \u548c B2PLYP \u578b\u53cc\u6742\u5316\u6cdb\u51fd\uff1b\n - \"GGA-GGA\"\uff1a\u975e\u81ea\u6d3d GGA\uff0c\u8b6c\u5982\u4ee5 HF \u4e3a\u53c2\u8003\u6001\u83b7\u5f97\u7684 B3LYP \u80fd\u91cf\u7684\u6cdb\u51fd\uff1b\n - \"GGA xDH\"\uff1a\u4ee5 GGA \u4e3a\u53c2\u8003\u6001\u4e0e\u5305\u542b GGA \u7684\u80fd\u91cf\u6cdb\u51fd\u7684 XYG3 \u578b\u53cc\u6742\u5316\u6cdb\u51fd\u3002\n\n## Example: Calculate XYG3 Polarizability\n\nExample is explained in [Documentation](https://py-xdh.readthedocs.io/zh_CN/latest/intro/intro_pyxdh.html)\nor in [jupyter page](https://github.com/ajz34/Py_xDH/blob/master/docs/source/intro/intro_pyxdh.ipynb).\n\nFollowing is the almost the same code demo extracted from these documents.\n\n```python\nfrom pyxdh.DerivOnce import DipoleXDH\nfrom pyxdh.DerivTwice import PolarXDH\nfrom pyscf import gto, dft\n\n# Generate H2O2 molecule\nmol = gto.Mole()\nmol.atom = \"\"\"\nO 0.0 0.0 0.0\nO 0.0 0.0 1.5\nH 1.0 0.0 0.0\nH 0.0 0.7 1.0\n\"\"\"\nmol.basis = \"6-31G\"\nmol.verbose = 0\nmol.build()\n\n# Generate (99, 590) grids\ngrids = dft.Grids(mol)\ngrids.atom_grid = (99, 590)\ngrids.build()\n\n# Self-consistent part of XYG3\nscf_eng = dft.RKS(mol)\nscf_eng.xc = \"B3LYPg\"\nscf_eng.grids = grids\n\n# Non-self-consistent GGA part of XYG3\nnc_eng = dft.RKS(mol)\nnc_eng.xc = \"0.8033*HF - 0.0140*LDA + 0.2107*B88, 0.6789*LYP\"\nnc_eng.grids = grids\n\n# Dipole helper from pyxdh\nconfig = {\n \"scf_eng\": scf_eng,\n \"nc_eng\": nc_eng,\n \"cc\": 0.3211\n}\ndip_xDH = DipoleXDH(config)\n\n# Polar helper from pyxdh, generated by dipole helper\nconfig = {\n \"deriv_A\": dip_xDH,\n \"deriv_B\": dip_xDH,\n}\npolar_xDH = PolarXDH(config)\n\n# Final result of polarizability\nprint(- polar_xDH.E_2)\n\n# Results should be something like\n# [[ 6.87997982 -0.1021484 -1.09976624]\n# [-0.1021484 4.7171979 0.29678172]\n# [-1.09976624 0.29678172 14.75690205]]\n```\n\n## Documentation\n\n**Note: Documentation remains to be updated! Only `pyxdh` code can be used currently.**\n\n**\u6ce8\u610f\uff1a\u6587\u6863\u90e8\u5206\u4ecd\u6709\u5f85\u5b8c\u5584\uff01\u76ee\u524d\u4e3a\u6b62\uff0c`pyxdh` \u5e93\u7684\u4ee3\u7801\u786e\u5b9e\u662f\u53ef\u4ee5\u4f7f\u7528\u7684\uff0c\u4f46\u4e00\u4e9b\u6587\u6863\u7684\u4ee3\u7801\u662f\u6709\u95ee\u9898\u7684\u3002**\n\nPublished web page: https://py-xdh.readthedocs.io/zh_CN/latest/\n\nPrerequisite knowledge of chapter 3, 4, 10 of *A New Dimension to Quantum Chemistry: Analytic Derivative Methods in\nAb Initio Molecular Electronic Structure Theory*, Yamaguchi, *et. al.* or equivalent is recommended; while chapter\n1, 2, 3, 6 of *Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory*, Szabo and Ostlund or\nequivalent is essential.\n\n\u9605\u8bfb\u6587\u6863\u5efa\u8bae\u5bf9\u4e8e *A New Dimension to Quantum Chemistry: Analytic Derivative Methods in Ab Initio Molecular Electronic\nStructure Theory*, Yamaguchi, *et. al.* \u4e66\u4e2d\u7b2c 3\u30014\u300110 \u7ae0\u8282\u6216\u76f8\u4f3c\u7684\u5185\u5bb9\u6709\u6240\u4e86\u89e3\uff1b\u82e5\u4e0d\u4e86\u89e3\uff0c*Modern Quantum Chemistry:\nIntroduction to Advanced Electronic Structure Theory*, Szabo and Ostlund \u7b2c 1\u30012\u30013\u30016 \u7ae0\u6216\u8005\u7b49\u540c\u7684\u5185\u5bb9\u7684\u4e86\u89e3\u662f\u5fc5\u987b\u7684\u3002\n\nDocumentation consists of:\n\n - Basic and specific usage of Python, NumPy;\n - Matrices and derivative matrices realization and derivation;\n - Properties realization;\n - Plenty codes with abundant fomular explanation.\n\nDocumentation consists of executable Jupyter notebooks. In order to run these Jupyter notebooks, one may pytest `pyxdh`\npackage in terminal successfully.\n\n\u6587\u6863\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a\n\n - Python\u3001NumPy \u90e8\u5206\u57fa\u7840\uff0c\u4ee5\u53ca\u4e0e\u6587\u6863\u548c\u5de5\u7a0b\u6709\u5173\u7684\u7528\u6cd5\u4ecb\u7ecd\uff1b\n - \u91cf\u5316\u77e9\u9635\u53ca\u5176\u5bfc\u6570\u77e9\u9635\u7684\u5b9e\u73b0\u4e0e\u63a8\u5bfc\uff1b\n - \u5206\u5b50\u6027\u8d28\u7684\u5b9e\u73b0\uff1b\n - \u5145\u8db3\u7684\u4ee3\u7801\u4e0e\u516c\u5f0f\u89e3\u91ca\uff1b\n\n\u6587\u6863\u4e3b\u8981\u7531\u53ef\u6267\u884c\u7684 Jupyter \u7b14\u8bb0\u672c\u6784\u6210\u3002\u82e5\u8981\u6267\u884c\u8fd9\u4e9b Jupyter \u7b14\u8bb0\u672c\uff0c\u8bf7\u5148\u786e\u4fdd\u5bf9 `pyxdh` \u5e93\u7684 pytest \u662f\u6210\u529f\u7684\u3002\n\n## `pyxdh` Package\n\nThis is merely a demo package that implements derivative of some basic quantum chemistry methods.\nCurrently it is not distrubuted to PyPI.\n\n\u8fd9\u4e2a\u5e93\u76ee\u524d\u53ea\u662f\u4e00\u4e2a\u77ed\u5c0f\u7684\u3001\u5305\u542b\u57fa\u7840\u91cf\u5316\u65b9\u6cd5\u68af\u5ea6\u5b9e\u73b0\u7684\u5e93\u3002\u5b83\u5e76\u6ca1\u6709\u53d1\u5e03\u5230 PyPI \u4e2d\u3002\n\n### Deficiencies and facilities\n\nDeficiencies can be:\n\n - Support restricted reference, no-forzen-core, no-density-fitting methods currently; no symmetry is utilized;\n - Numerical behavior in big molecule is not tested;\n - Huge time cost when evaluating B2PLYP-type functional hessian;\n - Huge memory cost O(N^4) for MP2 properties, as well as no density fitting is utilized;\n - Complicated multiple inheritance (diamond inheritance);\n - Does not support all kind of DFT approximations (especially LDA, meta-GGA, NLC);\n - Code strongly disagree with \"pure function\" philosophy;\n - The author believe code from a junior chemistry student major in chemistry should not be believed in any way;\n this kind of code is somehow like homework projects of advanced PhD courses.\n\n\u8fd9\u4e2a\u5e93\u76ee\u524d\u7684\u7f3a\u9677\u6709\n\n - \u73b0\u5728\u53ea\u652f\u6301\u95ed\u58f3\u5c42\u53c2\u8003\u6001\uff0c\u5e76\u4e14\u4e0d\u652f\u6301\u51bb\u6838\u8fd1\u4f3c\uff0c\u4ee5\u53ca Density Fitting \u65b9\u6cd5\uff1b\u4e0d\u4f7f\u7528\u5bf9\u79f0\u6027\u8d28\u8fdb\u884c\u8ba1\u7b97\u4e0a\u7684\u7b80\u5316\uff1b\n - \u7f3a\u5c11\u5bf9\u4e8e\u5927\u5206\u5b50\u7684\u6570\u503c\u6d4b\u8bc4\uff1b\n - \u5bf9\u4e8e B2PLYP \u578b\u6cdb\u51fd\uff0cHessian \u8ba1\u7b97\u7684\u65f6\u95f4\u6d88\u8017\u8fc7\u4e8e\u4e25\u91cd\uff1b\n - \u6240\u6709 MP2 \u65b9\u6cd5\u4e0d\u4f7f\u7528 Density Fitting\uff0c\u5e76\u4e14\u4f1a\u6709 O(N^4) \u7684\u5185\u5b58\u6d88\u8017\uff1b\n - \u4f7f\u7528\u4e86\u591a\u91cd\u7ee7\u627f (\u83f1\u5f62\u7ee7\u627f)\uff1b\n - \u4e0d\u652f\u6301\u6240\u6709 DFT \u8fd1\u4f3c\u7684\u8ba1\u7b97 (\u8b6c\u5982 LDA\u3001meta-GGA\u3001NLC)\uff1b\n - \u4e0e \"pure function\" \u7684\u601d\u60f3\u80cc\u9053\u800c\u9a70\uff1b\n - \u4f5c\u8005\u8ba4\u4e3a\u4e0d\u53ef\u4ee5\u6307\u671b\u4e00\u4e2a\u4fee\u8bfb\u5316\u5b66\u7684\u4f4e\u5e74\u7ea7\u5b66\u751f\u7684\u4ee3\u7801\uff1b\u5e76\u4e14\u8fd9\u7c7b\u4ee3\u7801\u76f8\u6bd4\u4e0e\u6210\u719f\u7684\u5e93\uff0c\u8fd9\u66f4\u50cf\u662f\u9ad8\u7ea7 PhD \u8bfe\u7a0b\u7684\u5927\u4f5c\u4e1a\u3002\n\nHowever, `pyxdh` code is intended to be:\n\n - Easy to use, since no sophiscated compilation is required;\n - Easy to extend and contribute with object-oriented designed code framework;\n - Intuitive equation to code transformation and vice versa;\n - Code quality (coverage) guaranteed.\n\n\u7136\u800c\uff0c`pyxdh` \u7684\u4ee3\u7801\u5e0c\u671b\u662f\n\n - \u7531\u4e8e\u6ca1\u6709\u590d\u6742\u7684\u7f16\u8bd1\u8fc7\u7a0b\uff0c\u5e94\u5f53\u4ee3\u7801\u6613\u4e8e\u4f7f\u7528\uff1b\n - \u7531\u4e8e\u4f7f\u7528\u9762\u5411\u5bf9\u8c61\u7684\u601d\u60f3\uff0c\u7a0b\u5e8f\u5e94\u5f53\u6613\u4e8e\u6269\u5c55\uff1b\n - \u5177\u6709\u76f4\u89c2\u7684\u516c\u5f0f\u4e0e\u4ee3\u7801\u4e92\u63a8\uff1b\n - \u53ef\u89c2\u7684\u4ee3\u7801\u8986\u76d6\u7387\u3002\n\nThe author hope this package, with its documentations, can be good education or exercise material to\ntheoretical/computational chemistry/physics PhD students in his/her first year;\nbut not the program ability (derivative properties calculation) itself.\n\n\u4f5c\u8005\u5e0c\u671b\u8fd9\u4e2a\u5e93\u4e0e\u5176\u6587\u6863\u53ef\u4ee5\u662f\u4e00\u4efd\u5bf9\u4e8e\u7406\u8bba/\u8ba1\u7b97\u5316\u5b66/\u7269\u7406 PhD \u5b66\u751f\u4e0d\u9519\u7684\u5b66\u4e60\u4e0e\u7ec3\u4e60\u6750\u6599\uff0c\u800c\u5e76\u4e0d\u662f\u5e0c\u671b\u5927\u5bb6\u5173\u6ce8\u8fd9\u4e2a\u7a0b\u5e8f\u7684\u529f\u80fd\u672c\u8eab\u3002\n\n### Usage\n\n- Copy `.pyscf_conf.py` to `$HOME` to increase CP-HF precision.\n It can be crucial when evaluating molecular coefficient derivative matrix precisely.\n- `export PYTHONPATH=$Py_xDH/pyxdh:$PYTHONPATH`; or install package with pip manually.\n Latter approach has not been tested. IDE like PyCharm is recommended when working with python codes.\n- Python package dependencies is listed in `requirements.txt`. Simply `pip install -r requirements.txt` should work.\n- `pyscf` package must be installed from PyPI currently, since `xcfun` dependency does not occur in conda pyscf channel.\n- Testing classes in source code can be examples for running jobs. Hacking these code is appreciated.\n\nGenerally, following instructions in `.travis.yml` is okay.\nAll tests may cost 5-20 minutes depending on computers or servers. \n\n- \u8bf7\u5148\u590d\u5236 `.pyscf_conf.py` \u6587\u4ef6\u5230 `$HOME` \u6587\u4ef6\u5939\uff1b\u8fd9\u901a\u5e38\u4f1a\u63d0\u9ad8 CP-HF \u65b9\u7a0b\u7cbe\u5ea6\uff0c\u5e76\u56e0\u6b64\u4f1a\u5bf9\u77e9\u9635\u68af\u5ea6\u7684\u6b63\u786e\u6027\u6709\u81f3\u5173\u91cd\u8981\u7684\u5f71\u54cd\u3002\n- \u8bf7\u6267\u884c `export PYTHONPATH=$Py_xDH:$PYTHONPATH`\uff0c\u6216\u8005\u76f4\u63a5\u5b89\u88c5\u8be5\u5e93\uff1b\u4f46\u540e\u8005\u6ca1\u6709\u7ecf\u8fc7\u6d4b\u8bd5\u3002\u8bf7\u5c3d\u91cf\u4f7f\u7528\u7c7b\u4f3c\u4e8e PyCharm \u7b49\u96c6\u6210\u5f00\u53d1\u73af\u5883\u6765\u6267\u884c\u7a0b\u5e8f\u4ee3\u7801\u3002\n- Python \u5e93\u51fd\u6570\u4f9d\u8d56\u5173\u7cfb\u5217\u4e3e\u5728 `requirements.txt` \u4e2d\u3002\u6267\u884c `pip install -r requirements.txt` \u5e94\u5f53\u53ef\u4ee5\u5b89\u88c5\u8fd9\u90e8\u5206\u4f9d\u8d56\u5173\u7cfb\u3002\n- \u7531\u4e8e `xcfun` \u5305\u4e0d\u5728 conda \u7684 pyscf channel\uff0c\u56e0\u6b64\u73b0\u5728 `pyscf` \u5fc5\u987b\u901a\u8fc7 PyPI \u5b89\u88c5\u3002\n- \u4ee3\u7801\u4e2d\u7684\u6d4b\u8bd5\u6837\u4f8b\u4e5f\u53ef\u4ee5\u662f\u4ee3\u7801\u7684\u6267\u884c\u6837\u4f8b\u3002\u8fd9\u4e9b\u4ee3\u7801\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\n\n\u4e00\u822c\u6765\u8bf4\uff0c\u6309\u7167 `.travis.yml` \u6587\u4ef6\u7684\u6307\u793a\u6765\u5b89\u88c5\u4e0e\u8fd0\u884c\u7a0b\u5e8f\u4e5f\u662f\u53ef\u4ee5\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u6839\u636e\u7535\u8111\u6216\u670d\u52a1\u5668\u7684\u60c5\u51b5\u4e0d\u540c\uff0c\u8fd0\u884c\u6240\u6709\u6d4b\u8bd5\u9700\u8981 5-20 \u5206\u949f\u3002\n\n### Docker Image\n\nDocker provides another way to use pyxdh package in any system (Linux, Windows, Mac, ...), as well as running documents in jupyter environment.\n\nTo use docker image, one can run the following code when connected to internet (provided that 8888 port is available):\n\nDocker \u63d0\u4f9b\u4e86\u53e6\u4e00\u79cd\u53ef\u4ee5\u5728 Linux\u3001Windows\u3001Mac \u4f7f\u7528 pyxdh \u5e93\u7684\u65b9\u5f0f\uff1b\u5b83\u540c\u65f6\u8fd8\u5141\u8bb8\u6211\u4eec\u76f4\u63a5\u4f7f\u7528 jupyter \u7b14\u8bb0\u672c\u73af\u5883\u3002\n\n\u82e5\u8981\u7528 Docker \u8fd0\u884c pyxdh\uff0c\u8bf7\u5728\u4fdd\u8bc1\u7f51\u8def\u8fde\u901a\u3001\u7aef\u53e3 8888 \u6ca1\u6709\u88ab\u5360\u7528\u7684\u60c5\u51b5\u4e0b\u6267\u884c\u4e0b\u8ff0\u4ee3\u7801\uff1a\n\n```bash\n$ docker run -it -p 8888:8888 ajz34/pyxdh\n```\n\nIf above code is successful, jupyter notebook should have been run in docker container.\nSimply follow the instructions from terminal should work. \n\n\u5982\u679c\u4e0a\u8ff0\u4ee3\u7801\u8fd0\u884c\u987a\u5229\uff0cjupyter \u7b14\u8bb0\u672c\u73af\u5883\u5e94\u5f53\u5df2\u7ecf\u5728 Docker \u5bb9\u5668\u91cc\u914d\u7f6e\u5b8c\u6bd5\u5e76\u8fd0\u884c\u4e86\u3002\u6309\u7167\u7ec8\u7aef\u6240\u7ed9\u51fa\u7684\u6307\u793a\u6253\u5f00 Jupyter \u7b14\u8bb0\u672c\u5c31\u53ef\u4ee5\u4e86\u3002\n\n## Acknowledge\n\n- [PySCF](https://github.com/pyscf/pyscf) inspirits this project a lot!\n- [Psi4NumPy](https://github.com/psi4/psi4numpy) is the initial motivation for this project. However, for some practical\n reasons, this project has been moved to PySCF.\n- Thanks labmates for valuable discussions and suggestions.\n- Thanks supervisor and teachers in lab for project support and server support.\n- Thanks parents for project support.\n- Currently, the author does not know any funding grants supporting this project. It should have some.\n Project is almost personally driven at this stage.\n- Futher discussion is welcomed by raising issue or e-mail. Chinese is prefered; English is also okay.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ajz34/Py_xDH", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyxdh", "package_url": "https://pypi.org/project/pyxdh/", "platform": "", "project_url": "https://pypi.org/project/pyxdh/", "project_urls": { "Homepage": "https://github.com/ajz34/Py_xDH" }, "release_url": "https://pypi.org/project/pyxdh/0.0.3/", "requires_dist": [ "numpy (!=1.16)", "scipy", "pyscf", "jupyter", "sphinx", "nbsphinx", "pyberny", "sphinx-rtd-theme", "sphinxcontrib-bibtex", "jupyter-contrib-nbextensions", "pandoc", "docopt", "codecov", "pytest-cov" ], "requires_python": "", "summary": "Document and code of python and PySCF approach XYG3 type of density functional realization", "version": "0.0.3" }, "last_serial": 5934986, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c1b554d7094c0af55a536f520da2776d", "sha256": "50cc20101c3c311bcb30d669386263cc0e41fc24cb783ef44b9da8bb45ec5180" }, "downloads": -1, "filename": "pyxdh-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c1b554d7094c0af55a536f520da2776d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39564, "upload_time": "2019-09-17T06:14:46", "url": "https://files.pythonhosted.org/packages/97/a5/e0a89eecd8edc9a4994ae4dadf48f37297e2c273ce0d30cc272baf08df5e/pyxdh-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "9fc1f0ddc634405e4fe763a406fcc001", "sha256": "ca53429ffa659715dd774dc50b4149b6ef9c333df67537dd05b35263419e506d" }, "downloads": -1, "filename": "pyxdh-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9fc1f0ddc634405e4fe763a406fcc001", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40605, "upload_time": "2019-10-06T02:24:46", "url": "https://files.pythonhosted.org/packages/aa/69/b3abf66a64d2fd560217792eb70d98cef00fc5c5e52f18a9fdf864c93b57/pyxdh-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e350a20c1ca86ddb95147e3e6f7f0dbb", "sha256": "bc909428267b63bd116189a2c39f51642b0d195a81ab3279696e5030e723c8f0" }, "downloads": -1, "filename": "pyxdh-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e350a20c1ca86ddb95147e3e6f7f0dbb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60200, "upload_time": "2019-10-06T14:07:00", "url": "https://files.pythonhosted.org/packages/3c/6a/ca05cce4f412ea548007f720e75bb7b49490283f10c240640d9c3ec50ff1/pyxdh-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6888929898c74ec88d1384e31d94eac7", "sha256": "a77fcb7b31fc5ebdc0827cdb2b12c904c6c1e8ef668fc601dd81eb41066c332c" }, "downloads": -1, "filename": "pyxdh-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6888929898c74ec88d1384e31d94eac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94822, "upload_time": "2019-10-06T14:07:01", "url": "https://files.pythonhosted.org/packages/e0/07/2eb0993aec580584ad31a4bf460f9033084f4e60abee51bcc39434a8ee39/pyxdh-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e350a20c1ca86ddb95147e3e6f7f0dbb", "sha256": "bc909428267b63bd116189a2c39f51642b0d195a81ab3279696e5030e723c8f0" }, "downloads": -1, "filename": "pyxdh-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e350a20c1ca86ddb95147e3e6f7f0dbb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60200, "upload_time": "2019-10-06T14:07:00", "url": "https://files.pythonhosted.org/packages/3c/6a/ca05cce4f412ea548007f720e75bb7b49490283f10c240640d9c3ec50ff1/pyxdh-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6888929898c74ec88d1384e31d94eac7", "sha256": "a77fcb7b31fc5ebdc0827cdb2b12c904c6c1e8ef668fc601dd81eb41066c332c" }, "downloads": -1, "filename": "pyxdh-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6888929898c74ec88d1384e31d94eac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94822, "upload_time": "2019-10-06T14:07:01", "url": "https://files.pythonhosted.org/packages/e0/07/2eb0993aec580584ad31a4bf460f9033084f4e60abee51bcc39434a8ee39/pyxdh-0.0.3.tar.gz" } ] }