{ "info": { "author": "Yi-Xin Liu", "author_email": "liuyxpp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "PyDiagram\n=========\n\nPyDiagram is a python package for generating a phase diagram from results output by polymer field-theoretic simulations. PyDiagram also provides functions for analysis of simulation results.\n\nQuickstart\n----------\n\n1. Install\n^^^^^^^^^^\n\n::\n\n $ pip install pydiagram\n\n**Required Packages**\n\n* ``numpy``\n* ``scipy``\n* ``matplotlib``\n* ``mpltex``\n* ``attrdict``\n* ``PyYAML``\n\n*Important note*: PyYAML cannot be installed by pip or easy_install. Please install it by downloading its source code and use ``python setup.py install`` to install it, see details at `PyYAML Documentation `_.\n\n2. Use PyDiagram as An Executable\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nTo use the executable, ``pydiagram``, you need to provide a project configuration file. The configuration file is in YAML format. Three sample configuration files, ``config_polyorder.yml``, ``config_polyfts.yml``, and ``config_pydiagram.yml``, are shipped with PyDiagram package. You can copy one of them to your project root directory and make any necessary modifications to it.\n\nTypical usage.\n\n.. code:: bash\n\n pydiagram [-v] [-h] [-p] [-q] [-s] [-m]\n\n* ``pydiagram -p``\n\nThis command processes the simulation data in the current directory. It will save ``diagram``, ``info_map``, and ``boundary`` objects as Python pickle files. The parser can be specified in the project configuration file using the ``solver`` option.\n\n* ``pydiagram -q``\n\nAccording to the plot mode specified in the project configuration file, this command will plot requested figures and save them as files.\n\n* ``pydiagram -s``\n\nThis command will run pydiagram as a server.\n\n* ``pydiagram -m``\n\nThis command will run pydiagram in manual mode, which will submit additional simulation jobs specified in the ``predictor.manual`` in the project configuration file.\n\n3. Use PyDiagram as A Library\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nYou can customize your own processing, plotting and predicting scripts by utilizing PyDiagram functions. As described in the last section, your script will also depend on a project configuration file.\n\nTypical usage.\n\n.. code:: python\n\n import pydiagram\n import matplotlib.pyplot as plt\n\n # Generate diagram by specifying the folder where data locate.\n # This will require the output data files from supported solvers.\n # Here assume the project configuration file in the current directory.\n diagram = pydiagram.get_diagram()\n # Plot the raw diagram\n fig, ax = plt.subplots(1)\n pydiagram.plot_diagram(ax, diagram)\n\n # Or you can generate diagram from .dgm file\n # First load .dgm file to get info_map\n xaxis, yaxis, info_map = pydiagram.load_dgm('phase_data.dgm')\n diagram = pydiagram.get_diagram_from_info_map(info_map)\n\n # You can find phase boundary from digaram\n boundary = pydiagram.get_boundary(diagram, info_map)\n # And plot it as scatter points\n pydiagram.plot_boundary_point(ax, boundary)\n # Or plot it as line\n pydiagram.plot_boundary_line(ax, boundary)\n\n # PyDiagram also provides a plot function for plotting diagram points\n # and phase boundary together.\n pydiagram.plot_phase_diagram(diagram, boundary, settings, xaxis, yaxis)\n\n # To analyze the simulation results, PyDiagram also provides\n # a plotting function which will plot F vs. x or F vs. y,\n # a vs. x or a vs. y, and accuracy vs. x or accuracy vs. y.\n pydiagram(info_map, xaxis, yaxis, path, phases, val)\n\nAll above mentioned functions have more available options to fine tune the processing and plotting. For more details, please consult the source code or directly contact me via E-mail.\n\n4. dgm File Format\n^^^^^^^^^^^^^^^^^^\n\nFor non `Polyorder `_ or `PolyFTS `_ users, to use PyDiagram you have to generate your own ``dgm`` file from your simulation results by following the ``dgm`` file format.\n\nThe format of the ``dgm`` file.\n\nFirst line::\n\n [x-axis name] [y-axis name]\n\nOther lines::\n\n [x] [y] [phase] [F] [a] [accuracy] [separation state]\n\n* ``x-axis name``: the variable name of the x axis in the phase diagram.\n* ``y-axis name``: the variable name of the y axis in the phase diagram.\n* ``x`` and ``y``: the coordinates in the phase diagram.\n* ``phase``: the name of the phase structure.\n* ``F``: the Gibbs free energy of the corresponding phase structure.\n* ``a``: the stretch-free cell size.\n* ``accuracy``: the residual error for the corresponding simulation.\n* ``separation state``: Does the simulation yield phase separated structures? 0 for no and 1 for yes.\n\nThe first five columns are mandatory while the last two are optional.\nThe optional values are assumed by their order.\nFor example, if only 6 columns are provided, then the 6th column is interpreted as ``accuracy``.\n\nExample::\n\n f xN\n 0.1 12.5 HEX 3.953993 2.9543 8.7e-7 1\n 0.1 12.6 LAM 3.970134 2.5877 1.7e-8 1\n\nLinks\n-----\n\n* `Yi-Xin Liu's academic homepage `_", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/liuyxpp/pydiagram", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "pydiagram", "package_url": "https://pypi.org/project/pydiagram/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pydiagram/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/liuyxpp/pydiagram" }, "release_url": "https://pypi.org/project/pydiagram/0.6/", "requires_dist": null, "requires_python": null, "summary": "PyDiagram is a python package for generating a phase diagram from results output by polymer field-theoretic simulations. PyDiagram also provides functions for analysis of simulation results.", "version": "0.6" }, "last_serial": 1574073, "releases": { "0.4": [], "0.5": [ { "comment_text": "", "digests": { "md5": "23d1ee0ad458f4858f4a6ebeba842d38", "sha256": "14cf3a53cdb8596db2106076dda258194799f1896c8aa4fba415130cf5f90596" }, "downloads": -1, "filename": "pydiagram-0.5.tar.gz", "has_sig": false, "md5_digest": "23d1ee0ad458f4858f4a6ebeba842d38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95529, "upload_time": "2015-05-20T00:00:01", "url": "https://files.pythonhosted.org/packages/41/9e/577d34ce1f4ab643450ba2b020e35bd212db45055cfb1070a7ac78fe37a0/pydiagram-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "0412d4812d41bfea02d28fe6dafb0d55", "sha256": "1b62b16d91415b7b40c43e0cd12fe35318d74699d20e0b5a7cd8511ade57ce0a" }, "downloads": -1, "filename": "pydiagram-0.6.tar.gz", "has_sig": false, "md5_digest": "0412d4812d41bfea02d28fe6dafb0d55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100129, "upload_time": "2015-06-01T23:35:54", "url": "https://files.pythonhosted.org/packages/60/45/01af08f03a924d692bc7bef74677d75555a4a3a8a03727ff8c96d8ac7ee4/pydiagram-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0412d4812d41bfea02d28fe6dafb0d55", "sha256": "1b62b16d91415b7b40c43e0cd12fe35318d74699d20e0b5a7cd8511ade57ce0a" }, "downloads": -1, "filename": "pydiagram-0.6.tar.gz", "has_sig": false, "md5_digest": "0412d4812d41bfea02d28fe6dafb0d55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100129, "upload_time": "2015-06-01T23:35:54", "url": "https://files.pythonhosted.org/packages/60/45/01af08f03a924d692bc7bef74677d75555a4a3a8a03727ff8c96d8ac7ee4/pydiagram-0.6.tar.gz" } ] }