limitstates


Namelimitstates JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryA structural design library.
upload_time2024-11-28 06:44:04
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords structures design buildings
VCS
bugtrack_url
requirements matplotlib numpy pandas planesections hysteresis
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<p align="center">
  <img src="https://github.com/cslotboom/limitstates/raw/main/doc/logo/logo-text-2.jpg" width="500">
</p>

A structural design and representation library. Documentation can be viewed [here](https://limitstates.readthedocs.io/en/latest/index.html).

# Overview
limitstates is a python library that can represent and design structural 
elements according to code and material standards from various countries. Limit states has two main components: 
a set of classes that representations structural objects, e.g. A Ibeam that is 6m long made or steel; 
and design libraries that can act on elements and determine capacities, e.g. Canada's CSA s16 2024 steel material standard.
**Limitstates is currently incomplete and in public beta testing.**
**Expect breaking changes before the first version release.**

A simple script is shown below where a structural object is created and used.


```Python
import limitstates as ls
import limitstates.design.csa.s16.c24 as s16

L = 6
Fy = 350
sectionName = 'W310X118'

# Define the material, in this case a code specific steel with Fy = 350 MPa
mat = s16.MaterialSteelCsa24(Fy, sUnit='MPa')

# Define a steel section from a database, in this case a cisc 12 w section.
steelSections   = ls.getSteelSections(mat, 'csa', 'cisc_12', 'w')
section         = ls.getByName(steelSections, sectionName)

# make a member, in this case a simplely supported beam 6m long beam.
member = ls.initSimplySupportedMember(L, 'm')

# Make a element, which the design library can act on.
beam = s16.BeamColumnSteelCsa24(member, section)

# Check capacity assuming it's laterally supported using CSA's s16 standard.
Mr = s16.checkBeamMrSupported(beam) / 1000
```

# Installation

`
pip install limitstates
`

# Documentation
https://limitstates.readthedocs.io/en/latest/

# Library Organization
There are four main parts of the limitstates library: units, objects, design, analysis.

The units library is a light-weight module for unit conversions. 
All structural objects in the limitstates libary are dependant on the unit library for conversions. 
See [units api reference](https://limitstates.readthedocs.io/en/latest/rst/units.html) for more detail.

The objects library contains generic classes that represent and manipulate structural elements. 
Members of the object library are not specific to any code, for example a W530x150 cross section has the same geometry for American and Canadian codes.
See the [objects api reference](https://limitstates.readthedocs.io/en/latest/rst/objects.html) for more detail.

The design library contains specialized objects for a particular design code, and functions that act on them. 
For example,   "BeamColumnSteelCsa24" is a code specific implementations of the generic "BeamColumn" class, 
and the function "checkBeamMrSupported", acts on it to determine a sections unsupported moment. 
Design libraries are divided by country and material standard. Currently, content only exists for Canadian design codes.
See [design api reference](https://limitstates.readthedocs.io/en/latest/rst/design.html) for more detail.

The Analysis library will contain functions that act on structural objects to analyze them. The analysis Library is a work in progress. 

# Deveopment Roadmap
Version one of limitstates will release when the library can design most major elements in canadian design codes, and the core objects can handle American/EU design codes. 
The specific items required for version 1 are below:

### Object Library
- [ ] Create a section element for reinforced concrete
- [ ] Improve section and material database documentation
- [ ] Support plotting for concrete elements / sections
- [ ] Support plotting for CLT elements / sections
- [ ] Add section summary to section plotting
- [ ] Add an generic design example showing how database can be used.

### Design

#### CSA o86
- [ ] Add Examples.
- [ ] Add beam shear checks.

#### CSA S16
- [ ] Develop multi-span beam checks.
- [ ] Add beam shear checks.

#### CSA A23.3
- [ ] Complete code checks for basic concrete beams in moment/shear.
- [ ] Add section solvers for concrete that can determine steel required based on input capacities.
- [ ] Complete code checks for basic concrete columns in compression / bending.
- [ ] Complete code checks for basic concrete columns in compression / bending with slenderness effects.
- [ ] Add examples for basic concrete checks
- [ ] Add examples for concrete in compression

#### US/EU Standards
- [ ] Ensure all basic design objects are compatible with US codes and units.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "limitstates",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "structures, design, buildings",
    "author": null,
    "author_email": "Christian Slotboom <christian.slotboom@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5a/81/66c55fc074d74b02888f2b4cefc82b45831f6c4aa6d97284e95a9075b5e3/limitstates-0.2.2.tar.gz",
    "platform": null,
    "description": "\r\n<p align=\"center\">\r\n  <img src=\"https://github.com/cslotboom/limitstates/raw/main/doc/logo/logo-text-2.jpg\" width=\"500\">\r\n</p>\r\n\r\nA structural design and representation library. Documentation can be viewed [here](https://limitstates.readthedocs.io/en/latest/index.html).\r\n\r\n# Overview\r\nlimitstates is a python library that can represent and design structural \r\nelements according to code and material standards from various countries. Limit states has two main components: \r\na set of classes that representations structural objects, e.g. A Ibeam that is 6m long made or steel; \r\nand design libraries that can act on elements and determine capacities, e.g. Canada's CSA s16 2024 steel material standard.\r\n**Limitstates is currently incomplete and in public beta testing.**\r\n**Expect breaking changes before the first version release.**\r\n\r\nA simple script is shown below where a structural object is created and used.\r\n\r\n\r\n```Python\r\nimport limitstates as ls\r\nimport limitstates.design.csa.s16.c24 as s16\r\n\r\nL = 6\r\nFy = 350\r\nsectionName = 'W310X118'\r\n\r\n# Define the material, in this case a code specific steel with Fy = 350 MPa\r\nmat = s16.MaterialSteelCsa24(Fy, sUnit='MPa')\r\n\r\n# Define a steel section from a database, in this case a cisc 12 w section.\r\nsteelSections   = ls.getSteelSections(mat, 'csa', 'cisc_12', 'w')\r\nsection         = ls.getByName(steelSections, sectionName)\r\n\r\n# make a member, in this case a simplely supported beam 6m long beam.\r\nmember = ls.initSimplySupportedMember(L, 'm')\r\n\r\n# Make a element, which the design library can act on.\r\nbeam = s16.BeamColumnSteelCsa24(member, section)\r\n\r\n# Check capacity assuming it's laterally supported using CSA's s16 standard.\r\nMr = s16.checkBeamMrSupported(beam) / 1000\r\n```\r\n\r\n# Installation\r\n\r\n`\r\npip install limitstates\r\n`\r\n\r\n# Documentation\r\nhttps://limitstates.readthedocs.io/en/latest/\r\n\r\n# Library Organization\r\nThere are four main parts of the limitstates library: units, objects, design, analysis.\r\n\r\nThe units library is a light-weight module for unit conversions. \r\nAll structural objects in the limitstates libary are dependant on the unit library for conversions. \r\nSee [units api reference](https://limitstates.readthedocs.io/en/latest/rst/units.html) for more detail.\r\n\r\nThe objects library contains generic classes that represent and manipulate structural elements. \r\nMembers of the object library are not specific to any code, for example a W530x150 cross section has the same geometry for American and Canadian codes.\r\nSee the [objects api reference](https://limitstates.readthedocs.io/en/latest/rst/objects.html) for more detail.\r\n\r\nThe design library contains specialized objects for a particular design code, and functions that act on them. \r\nFor example,   \"BeamColumnSteelCsa24\" is a code specific implementations of the generic \"BeamColumn\" class, \r\nand the function \"checkBeamMrSupported\", acts on it to determine a sections unsupported moment. \r\nDesign libraries are divided by country and material standard. Currently, content only exists for Canadian design codes.\r\nSee [design api reference](https://limitstates.readthedocs.io/en/latest/rst/design.html) for more detail.\r\n\r\nThe Analysis library will contain functions that act on structural objects to analyze them. The analysis Library is a work in progress. \r\n\r\n# Deveopment Roadmap\r\nVersion one of limitstates will release when the library can design most major elements in canadian design codes, and the core objects can handle American/EU design codes. \r\nThe specific items required for version 1 are below:\r\n\r\n### Object Library\r\n- [ ] Create a section element for reinforced concrete\r\n- [ ] Improve section and material database documentation\r\n- [ ] Support plotting for concrete elements / sections\r\n- [ ] Support plotting for CLT elements / sections\r\n- [ ] Add section summary to section plotting\r\n- [ ] Add an generic design example showing how database can be used.\r\n\r\n### Design\r\n\r\n#### CSA o86\r\n- [ ] Add Examples.\r\n- [ ] Add beam shear checks.\r\n\r\n#### CSA S16\r\n- [ ] Develop multi-span beam checks.\r\n- [ ] Add beam shear checks.\r\n\r\n#### CSA A23.3\r\n- [ ] Complete code checks for basic concrete beams in moment/shear.\r\n- [ ] Add section solvers for concrete that can determine steel required based on input capacities.\r\n- [ ] Complete code checks for basic concrete columns in compression / bending.\r\n- [ ] Complete code checks for basic concrete columns in compression / bending with slenderness effects.\r\n- [ ] Add examples for basic concrete checks\r\n- [ ] Add examples for concrete in compression\r\n\r\n#### US/EU Standards\r\n- [ ] Ensure all basic design objects are compatible with US codes and units.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A structural design library.",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/cslotboom/limitstates"
    },
    "split_keywords": [
        "structures",
        " design",
        " buildings"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84246727e3dd427fb8b4d31ab4ad8b4731d04d50396a4385a71f5f4c1e9cd0d3",
                "md5": "ba6b6b2d09263c0c16e7496c6efbfba8",
                "sha256": "209f794e53e8a6697eb76973dceedbaaac53192d611bcc91904eb34c2307329c"
            },
            "downloads": -1,
            "filename": "limitstates-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ba6b6b2d09263c0c16e7496c6efbfba8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 541856,
            "upload_time": "2024-11-28T06:43:58",
            "upload_time_iso_8601": "2024-11-28T06:43:58.062650Z",
            "url": "https://files.pythonhosted.org/packages/84/24/6727e3dd427fb8b4d31ab4ad8b4731d04d50396a4385a71f5f4c1e9cd0d3/limitstates-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a8166c55fc074d74b02888f2b4cefc82b45831f6c4aa6d97284e95a9075b5e3",
                "md5": "80ac361cb5435aa4fe0aa9debd4b5c80",
                "sha256": "3cf9ca6bd684e088c13078852368baf8f63501944321451f9435e2d74c9f6d0f"
            },
            "downloads": -1,
            "filename": "limitstates-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "80ac361cb5435aa4fe0aa9debd4b5c80",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 2903226,
            "upload_time": "2024-11-28T06:44:04",
            "upload_time_iso_8601": "2024-11-28T06:44:04.393279Z",
            "url": "https://files.pythonhosted.org/packages/5a/81/66c55fc074d74b02888f2b4cefc82b45831f6c4aa6d97284e95a9075b5e3/limitstates-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-28 06:44:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cslotboom",
    "github_project": "limitstates",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "planesections",
            "specs": []
        },
        {
            "name": "hysteresis",
            "specs": []
        }
    ],
    "lcname": "limitstates"
}
        
Elapsed time: 0.44425s