{ "info": { "author": "Danilo S. Victorazzo", "author_email": "victorazzo@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering" ], "description": "# Abdbeam : composites cross section analysis\nA Python package for the cross section analysis of composite material beams of any shape. \n\n![Abdbeam Hat Example](https://user-images.githubusercontent.com/24232637/51789056-0d42e200-2153-11e9-9fae-cdd82db90422.png)\n\n## Main features\n\nThese are a few things you can do with **Abdbeam**:\n\n* Use a fast thin-walled anisotropic composite beam theory including closed cells, open branches, shear connectors and booms (discrete stiffeners containing axial and torsional stiffnesses);\n* Recover replacement stiffnesses (EA, EIyy, EIzz, EIyz, GJ) and/or a full 4 x 4 stiffness matrix for beams with arbitrary layups and shapes;\n* Recover centroid and shear center locations;\n* Obtain internal load distributions (Nx, Nxy, Mx, My, Mxy for segments; Px and Tx for booms) for a large number of cross section load cases (defined by Px, My, Mz, Tz, Vy and Vz section loads);\n* Plot cross sections, their properties and internal loads.\n\n## Installing\n\nInstall using PyPI ([Python package index](https://pypi.org/project/abdbeam)) :\n\n```sh\npip install abdbeam\n```\n\n## Source and Documentation\n\nThe source code is hosted on GitHub at https://github.com/victorazzo/abdbeam and the documentation can be found at https://docs.abdbeam.org.\n\n## Dependencies\n\n- [NumPy](https://www.numpy.org)\n- [Pandas](https://pandas.pydata.org)\n- [Matplotlib](https://matplotlib.org)\n\n## Example\n\nLet's use **Abdbeam** to analyze the cross section with two closed cells below:\n\n\n\nStart creating the section materials, its points and segments (we'll also calculate the section properties and request a summary at the end):\n\n```python\nimport abdbeam as ab\nsc = ab.Section()\n# Create a materials dictionary:\nmts = dict()\nmts[1] = ab.Laminate()\nply_mat = ab.PlyMaterial(0.166666, 148000, 9650, 4550, 0.3)\nmts[1].ply_materials[1] = ply_mat\nmts[1].plies = [[0,1]]*6 + [[45,1]]*6\n# Create a points dictionary based on Y and Z point coordinates:\npts = dict()\npts[1] = ab.Point(0, -35)\npts[2] = ab.Point(-50, -35)\npts[3] = ab.Point(-50, 35)\npts[4] = ab.Point(0, 35)\npts[5] = ab.Point(50, 35)\npts[6] = ab.Point(50, -35)\n# Create a segments dictionary referencing point and material ids:\nsgs = dict()\nsgs[1] = ab.Segment(1,2,1)\nsgs[2] = ab.Segment(2,3,1)\nsgs[3] = ab.Segment(3,4,1)\nsgs[4] = ab.Segment(4,1,1)\nsgs[5] = ab.Segment(4,5,1)\nsgs[6] = ab.Segment(5,6,1)\nsgs[7] = ab.Segment(6,1,1)\n# Point the dictionaries to the section\nsc.materials = mts\nsc.points = pts\nsc.segments = sgs\n# Calculate and output section properties\nsc.calculate_properties()\nsc.summary()\n```\n\nWhich prints:\n\n```sh\nSection Summary\n===============\n\nNumber of points: 6\nNumber of segments: 7\nNumber of cells: 2\n\nCentroid\n--------\nyc = -2.67780636e-01\nzc = 0.00000000e+00\n\nShear Center\n------------\nys = 2.35301214e-03\nzs = -1.45758049e-03\n\nReplacement Stiffnesses\n-----------------------\nEA = 6.80329523e+07\nEIyy = 5.24834340e+10\nEIzz = 8.36408748e+10\nEIyz = 0.00000000e+00\nGJ = 1.23762317e+10\nEImax = 8.36408748e+10\nEImin = 5.24834340e+10\nAngle = 0.00000000e+00\n\n[P_c] - Beam Stiffness Matrix at the Centroid\n---------------------------------------------\n[[ 6.80329523e+07 0.00000000e+00 2.46320132e+05 -1.43701515e+08]\n [ 0.00000000e+00 5.24834340e+10 0.00000000e+00 0.00000000e+00]\n [ 2.46320132e+05 0.00000000e+00 8.36408748e+10 -2.12142163e+07]\n [-1.43701515e+08 0.00000000e+00 -2.12142163e+07 1.23762317e+10]]\n\n[W_c] - Beam Compliance Matrix at the Centroid\n----------------------------------------------\n[[1.50683149e-08 0.00000000e+00 1.66286490e-28 1.74959530e-10]\n [0.00000000e+00 1.90536313e-11 0.00000000e+00 0.00000000e+00]\n [1.57282135e-25 0.00000000e+00 1.19558821e-11 2.04936911e-14]\n [1.74959530e-10 0.00000000e+00 2.04936911e-14 8.28315446e-11]]\n\n[P] - Beam Stiffness Matrix at the Origin\n-----------------------------------------\n[[ 6.80329523e+07 0.00000000e+00 -1.79715871e+07 -1.43701515e+08]\n [ 0.00000000e+00 5.24834340e+10 0.00000000e+00 0.00000000e+00]\n [-1.79715871e+07 0.00000000e+00 8.36456213e+10 1.72662667e+07]\n [-1.43701515e+08 0.00000000e+00 1.72662667e+07 1.23762317e+10]]\n\n[W] - Beam Compliance Matrix at the Origin\n------------------------------------------\n[[1.50691722e-08 0.00000000e+00 3.20155371e-12 1.74965018e-10]\n [0.00000000e+00 1.90536313e-11 0.00000000e+00 0.00000000e+00]\n [3.20155371e-12 0.00000000e+00 1.19558821e-11 2.04936911e-14]\n [1.74965018e-10 0.00000000e+00 2.04936911e-14 8.28315446e-11]]\n```\n\nNow let's create two load cases (101 and 102) and calculate their internal loads:\n\n```python\nsc.loads = dict()\nsc.loads[101] = ab.Load(My=5e6)\nsc.loads[102] = ab.Load(Tx=250000, Vz=5000.0)\nsc.calculate_internal_loads()\n```\n\nNext print all internal loads (which outputs a lot of data we'll not show here):\n```python\nsc.print_internal_loads()\n```\n\nOr access the Pandas dataframe containing these internal loads directly:\n```python\ndf = sc.sgs_int_lds_df\n```\n\nNext plot the cross section and its properties (we'll show the segment orientations, hide legends, change the centroid , shear center and principal axis colors and use a custom figure size):\n```python\nab.plot_section(sc, segment_coord=True, title='Abdbeam - Example', \n legend=False, prop_color='#471365', figsize=(5.12, 3.84))\n```\n![Abdbeam Plot Section Example](https://user-images.githubusercontent.com/24232637/51790615-babef100-2165-11e9-83c8-72a0d1a6c1f0.png)\n\nFinally, plot Nx and Nxy for load case 101 (we'll change the matplotlib contour palette, reduce the internal load diagram scale, and use a custom figure size):\n```python\nab.plot_section_loads(sc, 101, contour_color='viridis', diagram_scale=0.7, \n int_load_list=['Nx', 'Nxy'], figsize=(5.12, 3.84))\n```\n![Abdbeam Plot Loads Example](https://user-images.githubusercontent.com/24232637/52542062-0a0e3f80-2d6a-11e9-8f17-323d5186180b.png)\n\n## License\n\nBSD-3\n\n## Contribute\n\n**Abdbeam** is at its early development stages and we encourage you to pitch in and [contribute on GitHub](https://github.com/victorazzo/abdbeam). Guidelines for contributors are in the works, so stay tuned.\n\n## Theory\n\nFor the theory behind Abdbeam, the most complete reference is:\n\n[Victorazzo DS, De Jesus A. A Koll\u00c3\u00a1r and Pluzsik anisotropic composite beam theory for arbitrary multicelled cross sections. Journal of Reinforced Plastics and Composites. 2016 Dec;35(23):1696-711.](https://journals.sagepub.com/doi/abs/10.1177/0731684416665493)\n\nThese are also great references on its originating theory:\n\n* [Koll\u00c3\u00a1r LP, Springer GS. Mechanics of composite structures. Cambridge university press; 2003 Feb 17.](https://www.amazon.com/Mechanics-Composite-Structures-L%C3%A1szl%C3%B3-Koll%C3%A1r/dp/0521126908/ref=sr_1_1?ie=UTF8&qid=1544936929&sr=8-1&keywords=Mechanics+of+composite+structures)\n* [Koll\u00c3\u00a1r LP and Pluzsik A. Analysis of thin-walled composite beams with arbitrary layup. J Reinf Plast Compos 2002; 21: 1423\u00e2\u20ac\u201c1465.](https://journals.sagepub.com/doi/abs/10.1177/0731684402021016928)\n\n\nNote: the effects of shear deformation and restrained warping are assumed negligible in **Abdbeam**. Check the references above for more details.\n\n\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/victorazzo/abdbeam", "keywords": "", "license": "BSD-3", "maintainer": "", "maintainer_email": "", "name": "abdbeam", "package_url": "https://pypi.org/project/abdbeam/", "platform": "", "project_url": "https://pypi.org/project/abdbeam/", "project_urls": { "Homepage": "https://github.com/victorazzo/abdbeam" }, "release_url": "https://pypi.org/project/abdbeam/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Cross section analysis of composite material beams of any shape.", "version": "0.2.1" }, "last_serial": 4803762, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c21cfa21f8f3e5165ffb33755210f281", "sha256": "7fd0e170e52647e45c66f24e96596a946c37f3fe9fae81b8f0f656e3cd505a7c" }, "downloads": -1, "filename": "abdbeam-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c21cfa21f8f3e5165ffb33755210f281", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20742, "upload_time": "2018-12-16T23:47:04", "url": "https://files.pythonhosted.org/packages/ee/bc/47cd9d2057bcc11bc8a05fe66d830ba2feb5d6d08a4a21598e90a414bd8f/abdbeam-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3414d825d6fa68c013d2fe70c8c02d32", "sha256": "13d9dbc92f00665d029aa6203babd64cfd997f136a53fa9be779d2e4675119bf" }, "downloads": -1, "filename": "abdbeam-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3414d825d6fa68c013d2fe70c8c02d32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21404, "upload_time": "2018-12-16T23:47:07", "url": "https://files.pythonhosted.org/packages/e2/1a/3774672eea7d4a8cd70b7990afc16b63aff85be05e498ebcba4a3594f7ba/abdbeam-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b53b7298a17b6d223b12bd3e528ce1a1", "sha256": "e29b6be8dbec440cb0ebb24593ba7a25f65f52f2ec35e5d15c3d44ae349a4d8d" }, "downloads": -1, "filename": "abdbeam-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b53b7298a17b6d223b12bd3e528ce1a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34170, "upload_time": "2019-02-03T21:44:47", "url": "https://files.pythonhosted.org/packages/d5/c0/d7667c6f77e7b1cc42dbe81cc3f1b10a21763a8518d0f5962202f45c6e21/abdbeam-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5db8a042868f63de9c5907016e569194", "sha256": "a8be364aac2a4beee9a1a331dcf601c8a203f0756ad20b6658f330aacccb73b1" }, "downloads": -1, "filename": "abdbeam-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5db8a042868f63de9c5907016e569194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30977, "upload_time": "2019-02-03T21:44:49", "url": "https://files.pythonhosted.org/packages/0d/f6/e6e11505a55f1a3f0a10c4c8d6be1776ab77751fdfb929e0537d7a986489/abdbeam-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "acc312413667c4c6a4782ca281d35439", "sha256": "0295e21b8bcc5b9606f0cc78547f6a99454c89efa47157c4f2c67887ebaf95f4" }, "downloads": -1, "filename": "abdbeam-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "acc312413667c4c6a4782ca281d35439", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34167, "upload_time": "2019-02-11T01:13:04", "url": "https://files.pythonhosted.org/packages/74/38/b6ca38d7b91b7fba01629c756d605e33fb57b0bfeacc4e42b43bf4552e1d/abdbeam-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fadeef47160a94b0154960b557f80123", "sha256": "bff189decfb13d2bc7df1f819979d2f7d0344b8c93c07ebc0f2ce460829283fa" }, "downloads": -1, "filename": "abdbeam-0.2.1.tar.gz", "has_sig": false, "md5_digest": "fadeef47160a94b0154960b557f80123", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31003, "upload_time": "2019-02-11T01:13:06", "url": "https://files.pythonhosted.org/packages/07/73/33183fe0ee9b59da5e774e47fc40747b81cae5640e4a07dd885d5db795cd/abdbeam-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "acc312413667c4c6a4782ca281d35439", "sha256": "0295e21b8bcc5b9606f0cc78547f6a99454c89efa47157c4f2c67887ebaf95f4" }, "downloads": -1, "filename": "abdbeam-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "acc312413667c4c6a4782ca281d35439", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34167, "upload_time": "2019-02-11T01:13:04", "url": "https://files.pythonhosted.org/packages/74/38/b6ca38d7b91b7fba01629c756d605e33fb57b0bfeacc4e42b43bf4552e1d/abdbeam-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fadeef47160a94b0154960b557f80123", "sha256": "bff189decfb13d2bc7df1f819979d2f7d0344b8c93c07ebc0f2ce460829283fa" }, "downloads": -1, "filename": "abdbeam-0.2.1.tar.gz", "has_sig": false, "md5_digest": "fadeef47160a94b0154960b557f80123", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31003, "upload_time": "2019-02-11T01:13:06", "url": "https://files.pythonhosted.org/packages/07/73/33183fe0ee9b59da5e774e47fc40747b81cae5640e4a07dd885d5db795cd/abdbeam-0.2.1.tar.gz" } ] }