{ "info": { "author": "Francois Cuvelier", "author_email": "cuvelier@math.univ-paris13.fr", "bugtrack_url": null, "classifiers": [ "Topic :: Scientific/Engineering :: Mathematics" ], "description": ".. _fc-hypermesh: http://www.math.univ-paris13.fr/~cuvelier/software/Python/fc-hypermesh.html \n \n.. _www.python.org: http://www.python.org/\n\n.. _Miniconda: https://conda.io/miniconda.html\n\n.. _Anaconda: https://www.anaconda.com\n\n.. _Canopy: https://www.enthought.com/product/canopy/\n\n.. _Mayavi: http://docs.enthought.com/mayavi/mayavi/\n\n.. _Matplotlib: https://matplotlib.org/\n \n.. _hypermesh-report: https://hal.archives-ouvertes.fr/hal-01638329/file/hypermesh_0.1.1%20%281%29.pdf\n\n.. image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/pyfc-hypermeshv4_400.png\n :width: 400px\n :align: center\n\nThe **fc\\_hypermesh** Python package allows to generate conforming meshes\nof hypercubes, hyperrectangles or of any d-orthotopes by simplices or orthotopes with their m-faces\n \n\n \nIntroduction:\n------------- \n\n__ hypermesh-report_\n\n.. image:: http://www.math.univ-paris13.fr/~cuvelier/images/icons/HALv3_78x78.png\n :target: https://hal.archives-ouvertes.fr/hal-01638329\n :align: left\n :alt: sysfs line plot\n :width: 55px\n \nThis implements `Vectorized algorithms for regular tessellations of d-orthotopes and theirfaces, Cuvelier F. and Scarella G., 2017`__\n \n.. _fc\\_hypermesh Python package: http://www.math.univ-paris13.fr/~cuvelier/software/fc-hypermesh-Python.html\n \nMore documentation is available on `fc\\_hypermesh Python package`_ dedicated web page. \n\nThis package was tested under:\n\n - **CentOS 7**, **Fedora 27**\n - with Python 2.7.14 compiled from source (www.python.org_)\n - with Python 3.5.5 compiled from source (www.python.org_)\n - with Python 3.6.4 compiled from source (www.python.org_)\n - **MacOS High Sierra**\n - with Miniconda_ Python 2.7 distribution\n - with Miniconda_ Python 3.6 distribution\n - **openSUSE Leap 42.3 7**\n - with Python 2.7.14 compiled from source (www.python.org_)\n - with Python 3.4.8 compiled from source (www.python.org_)\n - with Python 3.5.5 compiled from source (www.python.org_)\n - with Python 3.6.4 compiled from source (www.python.org_)\n - **Ubuntu 14.04.5 LTS** \n - with Python 2.7 compiled from source (www.python.org_)\n - with Python 3.6 compiled from source (www.python.org_)\n - with Miniconda_ Python 2.7 distribution\n - with Miniconda_ Python 3.6 distribution\n - **Ubuntu 17.10** \n - with Python 2.7.14 compiled from source (www.python.org_)\n - with Python 3.6.3 compiled from source (www.python.org_)\n - with Python 3.6.4 compiled from source (www.python.org_)\n - **Windows 10** \n - with Miniconda_ Python 2.7 distribution\n - with Miniconda_ Python 3.6 distribution\n\n\nInstallation:\n-------------\n\nThe **fc\\_hypermesh** Python package is available from the Python Package Index, so to install/upgrade simply type\n\n.. code:: \n\n pip install fc_hypermesh -U\n \nThereafter, it's possible to run one of the demo functions \n\n.. code:: python\n\n import fc_hypermesh\n fc_hypermesh.demos.demo01()\n\nExamples usage:\n---------------\n\n- Meshing the rectangle [-1,1]x[0,1] by simplices with 12+1 points in\n x-axis and 5+1 points in y-axis:\n\n .. code:: python\n\n from fc_hypermesh import OrthMesh\n oTh=OrthMesh(2,[12,5],type='simplicial',box=[[-1,1],[0,1]])\n print(oTh)\n\n The output of the ``print(oTh)`` command is::\n\n OrthMesh object \n d : 2\n Mesh : EltMesh object \n type (str): simplicial\n type : 0\n d : 2\n m : 2\n q : (2,78)\n me : (3,120)\n\n Number of 1-faces : 4\n [ 0] (type,nq,nme) : (simplicial,6,5)\n [ 1] (type,nq,nme) : (simplicial,6,5)\n [ 2] (type,nq,nme) : (simplicial,13,12)\n [ 3] (type,nq,nme) : (simplicial,13,12)\n Number of 0-faces : 4\n [ 0] (type,nq,nme) : (simplicial,1,1)\n [ 1] (type,nq,nme) : (simplicial,1,1)\n [ 2] (type,nq,nme) : (simplicial,1,1)\n [ 3] (type,nq,nme) : (simplicial,1,1)\n\n If ``matplotlib`` package is installed one can represent the mesh\n\n .. code:: python\n\n import matplotlib.pyplot as plt\n plt.ion()\n plt.figure(1)\n oTh.plotmesh(legend=True)\n plt.figure(2)\n oTh.plotmesh(m=1,legend=True,linewidth=3)\n plt.axis('off')\n \n \n\n .. |OrthMesh_2D_simplicial_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_2D_simplicial_fig1_Python360.png\n :width: 300\n :align: middle\n \n .. |OrthMesh_2D_simplicial_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_2D_simplicial_fig2_Python360.png\n :width: 300\n :align: middle\n \n +-------------------------------+-------------------------------+\n | |OrthMesh_2D_simplicial_fig1| | |OrthMesh_2D_simplicial_fig2| |\n +-------------------------------+-------------------------------+\n\n- Meshing the rectangular cuboid [-1,1]x[0,1]x[0,2] by simplices with 11+1 points in\n x-axis, 5+1 points in y-axis and 10+1 points in z-axis:\n\n .. code:: python\n\n from fc_hypermesh import OrthMesh\n oTh=OrthMesh(3,[10,5,10],box=[[-1,1],[0,1],[0,2]])\n\n If ``matplotlib`` package is installed one can represent the mesh\n\n .. code:: python\n \n from fc_tools.graphics import set_axes_equal\n import matplotlib.pyplot as plt\n plt.ion()\n plt.figure(1)\n oTh.plotmesh(legend=True,linewidth=0.5)\n set_axes_equal()\n plt.figure(2)\n oTh.plotmesh(m=2,legend=True,edgecolor=[0,0,0])\n plt.axis('off')\n set_axes_equal()\n \n .. |OrthMesh_3D_simplicial_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_3D_simplicial_fig1_Python360.png\n :width: 300\n :align: middle\n \n .. |OrthMesh_3D_simplicial_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_3D_simplicial_fig2_Python360.png\n :width: 300\n :align: middle\n \n +-------------------------------+-------------------------------+\n | |OrthMesh_3D_simplicial_fig1| | |OrthMesh_3D_simplicial_fig2| |\n +-------------------------------+-------------------------------+\n \n- Meshing the rectangle [-1,1]x[0,1] by orthotopes with 12+1 points in\n x-axis, 5+1 points in y-axis and 10+1 points in z-axis:\n\n .. code:: python\n\n from fc_hypermesh import OrthMesh\n oTh=OrthMesh(2,[12,5],type='orthotope',box=[[-1,1],[0,1]])\n\n If ``matplotlib`` package is installed one can represent the mesh\n\n .. code:: python\n \n from fc_tools.graphics import set_axes_equal\n import matplotlib.pyplot as plt\n plt.ion()\n plt.figure(1)\n oTh.plotmesh(legend=True)\n set_axes_equal()\n plt.figure(2)\n oTh.plotmesh(m=1,legend=True,linewidth=3)\n plt.axis('off')\n set_axes_equal()\n \n .. |OrthMesh_2D_orthotope_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_2D_orthotope_fig1_Python360.png\n :width: 300\n :align: middle\n \n .. |OrthMesh_2D_orthotope_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_2D_orthotope_fig2_Python360.png\n :width: 300\n :align: middle\n \n +------------------------------+------------------------------+\n | |OrthMesh_2D_orthotope_fig1| | |OrthMesh_2D_orthotope_fig2| |\n +------------------------------+------------------------------+\n \n- Meshing the rectangular cuboid [-1,1]x[0,1]x[0,2] by orthotopes with 11+1 points in\n x-axis, 5+1 points in y-axis and 10+1 points in z-axis:\n\n .. code:: python\n\n from fc_hypermesh import OrthMesh\n oTh=OrthMesh(3,[10,5,10],type='orthotope', box=[[-1,1],[0,1],[0,2]])\n\n If ``matplotlib`` package is installed one can represent the mesh\n\n .. code:: python\n \n from fc_tools.graphics import set_axes_equal\n import matplotlib.pyplot as plt\n plt.ion()\n plt.figure(1)\n oTh.plotmesh(legend=True,linewidth=0.5)\n set_axes_equal()\n plt.figure(2)\n oTh.plotmesh(m=2,legend=True,edgecolor=[0,0,0])\n plt.axis('off')\n set_axes_equal()\n \n .. |OrthMesh_3D_orthotope_fig1| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_3D_orthotope_fig1_Python360.png\n :width: 300\n :align: middle\n \n .. |OrthMesh_3D_orthotope_fig2| image:: http://www.math.univ-paris13.fr/~cuvelier/software/codes/Python/fc-hypermesh/snapshots/OrthMesh_3D_orthotope_fig2_Python360.png\n :width: 300\n :align: middle\n \n +------------------------------+------------------------------+\n | |OrthMesh_3D_orthotope_fig1| | |OrthMesh_3D_orthotope_fig2| |\n +------------------------------+------------------------------+\n \nTesting :\n--------- \n There are seven demos functions in the ``fc_hypermesh`` package named ``demo01`` to ``demo07``.\n The source code is in module ``demos.py``.\n For example, run the following code under Python:\n \n .. code:: python\n \n import fc_hypermesh\n fc_hypermesh.demo01()\n \nBenchmarking:\n-------------\n\n .. code:: python\n \n import fc_hypermesh\n fc_hypermesh.bench_gen(3,'simplicial',[[-1,1],[-1,1],[-1,1]],range(20,170,20))\n \n The output of this code is::\n\n # BENCH in dimension 3 with simplicial mesh\n #d: 3\n #type: simplicial\n #box: [[-1, 1], [-1, 1], [-1, 1]]\n #desc: N nq nme time(s)\n 20 9261 48000 0.214\n 40 68921 384000 0.211\n 60 226981 1296000 0.274\n 80 531441 3072000 0.363\n 100 1030301 6000000 0.492\n 120 1771561 10368000 0.679\n 140 2803221 16464000 0.951\n 160 4173281 24576000 1.323 \n \n .. code:: python\n \n import fc_hypermesh\n fc_hypermesh.bench_gen(5,'orthotope',[[-1,1],[-1,1],[-1,1],[-1,1],[-1,1]],[5,10,15,20,25,27])\n \n The output of this code is:: \n \n # BENCH in dimension 5 with orthotope mesh\n #d: 5\n #type: orthotope\n #box: [[-1, 1], [-1, 1], [-1, 1], [-1, 1], [-1, 1]]\n #desc: N nq nme time(s)\n 5 7776 3125 0.468\n 10 161051 100000 0.512\n 15 1048576 759375 0.738\n 20 4084101 3200000 1.223\n 25 11881376 9765625 2.542\n 27 17210368 14348907 3.350", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.math.univ-paris13.fr/~cuvelier/software", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "fc-hypermesh", "package_url": "https://pypi.org/project/fc-hypermesh/", "platform": "", "project_url": "https://pypi.org/project/fc-hypermesh/", "project_urls": { "Homepage": "http://www.math.univ-paris13.fr/~cuvelier/software" }, "release_url": "https://pypi.org/project/fc-hypermesh/0.0.12/", "requires_dist": null, "requires_python": "", "summary": "Generate conforming meshes of hypercubes, hyperrectangles or of any d-orthotopes by simplices or orthotopes with their m-faces", "version": "0.0.12" }, "last_serial": 3772326, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7ef1a73ece834794b1e01534a9d897f6", "sha256": "bd4ddb68460568e634aa3046543535613f6183981ea5f1896607fd918abad9ee" }, "downloads": -1, "filename": "fc_hypermesh-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7ef1a73ece834794b1e01534a9d897f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6723, "upload_time": "2017-03-02T14:29:58", "url": "https://files.pythonhosted.org/packages/c9/9d/9af2adcce7a0132a03364127ca94138b3b6a46ac95f74a45ffbbcaae4016/fc_hypermesh-0.0.1.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "c45e1774644205a1fd86c97c3a589c2c", "sha256": "b9460a3d16ece615a73eb175209316e710d5df54e8512a0f500e0d0b8313c59e" }, "downloads": -1, "filename": "fc_hypermesh-0.0.12.tar.gz", "has_sig": false, "md5_digest": "c45e1774644205a1fd86c97c3a589c2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15659, "upload_time": "2018-04-17T08:54:24", "url": "https://files.pythonhosted.org/packages/6f/18/458bb49514f457257c8d614adeff8696c20b7d12b7d744fdb50fd0caf852/fc_hypermesh-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "845262b523044c86a32420903cebe8aa", "sha256": "30c3dfaf4c479eca063f5d277231a06bdb935e980a53bf2eded45434f4e3e9f8" }, "downloads": -1, "filename": "fc_hypermesh-0.0.2.tar.gz", "has_sig": false, "md5_digest": "845262b523044c86a32420903cebe8aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6162, "upload_time": "2017-03-03T06:30:46", "url": "https://files.pythonhosted.org/packages/ee/85/458abd6d0a2714df6aa7f61e6ff5f6e2567dbd1bf9ec59066e798789c2a7/fc_hypermesh-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "f5b983bf8f7e354c55702744b9a3cdf8", "sha256": "96c3ad1c26e6bf6ff598aeb89ab553803f469b7f6f6914b5320e3553236c1cf3" }, "downloads": -1, "filename": "fc_hypermesh-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f5b983bf8f7e354c55702744b9a3cdf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6374, "upload_time": "2017-03-04T13:27:18", "url": "https://files.pythonhosted.org/packages/31/24/becfd6d5f60e8fc310dd25eab7bcb80f6278c54795de443427a47bb4b050/fc_hypermesh-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c85cefe45643353292d0f905820f688b", "sha256": "a195344995e0ea841ebfdfd5dfa9921bae2144f76533996f7c4452464c10c615" }, "downloads": -1, "filename": "fc_hypermesh-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c85cefe45643353292d0f905820f688b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6578, "upload_time": "2017-04-23T04:35:54", "url": "https://files.pythonhosted.org/packages/5b/72/8f4447be0d2a47312a528f3eb6042f7a1628ee9f39fb353fa3e4f77f5b2c/fc_hypermesh-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "578ed37ac267f55c9353ace15115130c", "sha256": "d28f9471e202cee99e390b346582656e7b6be666a7dfde12f088a42392de7c09" }, "downloads": -1, "filename": "fc_hypermesh-0.0.5.tar.gz", "has_sig": false, "md5_digest": "578ed37ac267f55c9353ace15115130c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6574, "upload_time": "2017-06-14T09:14:18", "url": "https://files.pythonhosted.org/packages/a9/76/f99442c8e3450b76f4beb54eb96258157d49b57806849a063d1506cbe583/fc_hypermesh-0.0.5.tar.gz" } ], "0.0.6": [], "0.0.7": [ { "comment_text": "", "digests": { "md5": "73b25efc212b39cfb10d5dbdfd5b53a5", "sha256": "9b7668c30038436ae247b289232acaf5ac191a5de22cc31b7cd90fa6367ca8c8" }, "downloads": -1, "filename": "fc_hypermesh-0.0.7.tar.gz", "has_sig": false, "md5_digest": "73b25efc212b39cfb10d5dbdfd5b53a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7659, "upload_time": "2017-08-23T12:09:11", "url": "https://files.pythonhosted.org/packages/dd/61/101e979034804bbfc10ad0109acdc6c21fc1aaa2af7fcfcc7a953bd1e7b6/fc_hypermesh-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "8d9d9ff441eff6ac483d36c25137181b", "sha256": "0303f3801e36a677878262391fa9bea9dc568656b4a6cd6c85bfa9e3ad292cbc" }, "downloads": -1, "filename": "fc_hypermesh-0.0.8.tar.gz", "has_sig": false, "md5_digest": "8d9d9ff441eff6ac483d36c25137181b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9878, "upload_time": "2017-08-24T11:07:39", "url": "https://files.pythonhosted.org/packages/ef/b9/0afb5676fb6a46bd43d3784128771e95bd1dd09ad61a3ea277623c674078/fc_hypermesh-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "3f80128b69619aa5a00b143464120dcd", "sha256": "37ad584277ddc1896946cb712996a452d2f2b775eeda21857880549984c4bb8a" }, "downloads": -1, "filename": "fc_hypermesh-0.0.9.tar.gz", "has_sig": false, "md5_digest": "3f80128b69619aa5a00b143464120dcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9883, "upload_time": "2017-08-24T11:14:23", "url": "https://files.pythonhosted.org/packages/9f/11/164374738841013243c994f8220256699039a997c5b290cf3aac2c1baf0f/fc_hypermesh-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c45e1774644205a1fd86c97c3a589c2c", "sha256": "b9460a3d16ece615a73eb175209316e710d5df54e8512a0f500e0d0b8313c59e" }, "downloads": -1, "filename": "fc_hypermesh-0.0.12.tar.gz", "has_sig": false, "md5_digest": "c45e1774644205a1fd86c97c3a589c2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15659, "upload_time": "2018-04-17T08:54:24", "url": "https://files.pythonhosted.org/packages/6f/18/458bb49514f457257c8d614adeff8696c20b7d12b7d744fdb50fd0caf852/fc_hypermesh-0.0.12.tar.gz" } ] }