# M-N-Kappa
Implementation of the *M*-*N*-*κ* method for deformation-computation of structural beams
considering multi-line material models as well as shear connector behaviour implemented in
[python](https://www.python.org/).
## Introduction
The ``m_n_kappa``-package addresses primarily scientific investigations in structural engineering.
It has been developed having steel-concrete composite beams, i.e. slim-floor beams in mind,
but due to its general approach using multiline material models the scope of application is potentially
much greater.
- *M*: resistance moment of a cross-section
- *N*: internal shear-force applied with differing sign on the concrete-slab
and the steel-girder
- *κ*: the curvature over the cross-section4
It is assumed that the curvature *κ* is uniformly distributed over the
full height of the cross-section.
The *M*-*κ*-Method allows to compute the deformation of composite beams assuming
rigid shear connection.
The *M*-*N*-*κ*-Method extends the method by the load-slip-behaviour of the shear
connectors.
## Features
The following list is an extract of the given and potential features
- strain-based design
- consideration of
[effective width for concrete slabs](https://johannesschorr.github.io/M-N-Kappa/theory/effective_widths.html)
distinguishing between membran and bending loading
- consideration of load-slip behaviour of shear connectors (not yet implemented)
- easy to use interface (see [Example](#example-computing-a-steel-girder))
## Installation
The installation via [PyPi](https://pypi.org/) runs as follows.
```
pip install m_n_kappa
```
## Example: Computing a steel-concrete composite beam
The following example shows how easy and straightforward ``m_n_kappa`` is applied to
computing the deformation of a composite beam.
![](./docs/source/images/getting_started_example-dark.svg)
The slab is a rectangle of concrete of type C30/35.
```python
from m_n_kappa import Rectangle, Concrete
slab = Rectangle(top_edge=0.0, bottom_edge=100, width=2000)
concrete = Concrete(f_cm=38)
concrete_slab = concrete + slab
```
The girder is a HEB 200 steel-profile of type S355.
````python
from m_n_kappa import IProfile, Steel
girder = IProfile(top_edge=100.0, t_w=9.5, h_w=200-2*15, t_fo=15, b_fo=200)
steel = Steel(f_y=355, failure_strain=0.15)
steel_girder = steel + girder
````
Merging the ``concrete_slab`` and the ``steel_girder`` to a composite cross-section
is accomplished also easily.
````python
composite_cross_section = concrete_slab + steel_girder
````
This ``Crosssection``-object of a composite beam allows you to do several things like
computing the curvature *κ*, the *M*-*κ*-curve or the deformation of the beam
under a given loading.
```python
from m_n_kappa import SingleSpanUniformLoad, Beam
loading = SingleSpanUniformLoad(length=8000, load=1.0)
beam = Beam(
cross_section=composite_cross_section,
element_number=10,
load=loading
)
deformation_at_maximum_position = beam.deformations_at_maximum_deformation_position()
deformation_at_maximum_position.values()
```
If you want to know more please refer to the [Documentation](https://johannesschorr.github.io/M-N-Kappa/).
## Documentation
The documentation gives you more [examples](https://johannesschorr.github.io/M-N-Kappa/examples/index.html),
let's you understand the mechanics working under the hood in the
[Theory guide](https://johannesschorr.github.io/M-N-Kappa/theory/index.html)
or shows you application of the model on tests in
[Verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html).
Overview:
- [Getting started](https://johannesschorr.github.io/M-N-Kappa/getting_started.html)
- [Examples](https://johannesschorr.github.io/M-N-Kappa/examples/index.html)
- [Theory guide](https://johannesschorr.github.io/M-N-Kappa/theory/index.html)
- [Verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html)
## Contributions are highly appreciated
- Did you find a typo, a bug or want to add an explanation or figure to the documentation?
- Do you want to implement another [material model](https://johannesschorr.github.io/M-N-Kappa/api/m_n_kappa.Material.html),
enhance the performance or implement another [feature](https://johannesschorr.github.io/M-N-Kappa/roadmap.html#roadmap-roadmap)?
- You used ``m_n_kappa`` to compute the load-deformation behaviour of your experimental investigation and want to share
your [verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html)?
All types of contributions are welcomed.
Please check beforehand the [Contributing](https://johannesschorr.github.io/M-N-Kappa/contributing.html)'s page.
## About
- [Roadmap](https://johannesschorr.github.io/M-N-Kappa/roadmap.html):
Roadmap, ideas for implementation and To do's
- [License](https://johannesschorr.github.io/M-N-Kappa/license.html): 3-Clause BSD License
- [Release Notes](https://johannesschorr.github.io/M-N-Kappa/whatsnew/index.html)
Raw data
{
"_id": null,
"home_page": "",
"name": "m-n-kappa",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "beam,deformation,engineering,moment-curvature,multi-linear material,non-linear material,strain-based,structural-engineering",
"author": "",
"author_email": "Johannes Schorr <johannes.schorr@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/be/ae/af81388afbc74dded0813c70a1b3bb6a736f122883278b4028a4e43cdc5d/m_n_kappa-0.0.1.tar.gz",
"platform": null,
"description": "# M-N-Kappa\n\nImplementation of the *M*-*N*-*κ* method for deformation-computation of structural beams \nconsidering multi-line material models as well as shear connector behaviour implemented in \n[python](https://www.python.org/).\n\n## Introduction\nThe ``m_n_kappa``-package addresses primarily scientific investigations in structural engineering.\nIt has been developed having steel-concrete composite beams, i.e. slim-floor beams in mind, \nbut due to its general approach using multiline material models the scope of application is potentially\nmuch greater.\n\n- *M*: resistance moment of a cross-section \n- *N*: internal shear-force applied with differing sign on the concrete-slab \n and the steel-girder\n- *κ*: the curvature over the cross-section4\n\nIt is assumed that the curvature *κ* is uniformly distributed over the \nfull height of the cross-section. \n\nThe *M*-*κ*-Method allows to compute the deformation of composite beams assuming \nrigid shear connection. \nThe *M*-*N*-*κ*-Method extends the method by the load-slip-behaviour of the shear \nconnectors. \n\n## Features\nThe following list is an extract of the given and potential features \n\n- strain-based design \n- consideration of \n [effective width for concrete slabs](https://johannesschorr.github.io/M-N-Kappa/theory/effective_widths.html)\n distinguishing between membran and bending loading\n- consideration of load-slip behaviour of shear connectors (not yet implemented)\n- easy to use interface (see [Example](#example-computing-a-steel-girder))\n\n## Installation\nThe installation via [PyPi](https://pypi.org/) runs as follows.\n```\npip install m_n_kappa\n```\n\n## Example: Computing a steel-concrete composite beam\nThe following example shows how easy and straightforward ``m_n_kappa`` is applied to \ncomputing the deformation of a composite beam.\n\n![](./docs/source/images/getting_started_example-dark.svg)\n\nThe slab is a rectangle of concrete of type C30/35.\n```python\nfrom m_n_kappa import Rectangle, Concrete\nslab = Rectangle(top_edge=0.0, bottom_edge=100, width=2000)\nconcrete = Concrete(f_cm=38)\nconcrete_slab = concrete + slab\n```\nThe girder is a HEB 200 steel-profile of type S355.\n````python\nfrom m_n_kappa import IProfile, Steel\ngirder = IProfile(top_edge=100.0, t_w=9.5, h_w=200-2*15, t_fo=15, b_fo=200)\nsteel = Steel(f_y=355, failure_strain=0.15)\nsteel_girder = steel + girder\n````\nMerging the ``concrete_slab`` and the ``steel_girder`` to a composite cross-section\nis accomplished also easily.\n````python\ncomposite_cross_section = concrete_slab + steel_girder\n````\nThis ``Crosssection``-object of a composite beam allows you to do several things like\ncomputing the curvature *κ*, the *M*-*κ*-curve or the deformation of the beam\nunder a given loading. \n```python\nfrom m_n_kappa import SingleSpanUniformLoad, Beam\nloading = SingleSpanUniformLoad(length=8000, load=1.0)\nbeam = Beam(\n cross_section=composite_cross_section, \n element_number=10,\n load=loading\n)\ndeformation_at_maximum_position = beam.deformations_at_maximum_deformation_position()\ndeformation_at_maximum_position.values()\n```\nIf you want to know more please refer to the [Documentation](https://johannesschorr.github.io/M-N-Kappa/).\n\n## Documentation\n\nThe documentation gives you more [examples](https://johannesschorr.github.io/M-N-Kappa/examples/index.html), \nlet's you understand the mechanics working under the hood in the \n[Theory guide](https://johannesschorr.github.io/M-N-Kappa/theory/index.html)\nor shows you application of the model on tests in \n[Verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html).\n\nOverview:\n- [Getting started](https://johannesschorr.github.io/M-N-Kappa/getting_started.html)\n- [Examples](https://johannesschorr.github.io/M-N-Kappa/examples/index.html)\n- [Theory guide](https://johannesschorr.github.io/M-N-Kappa/theory/index.html)\n- [Verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html)\n\n## Contributions are highly appreciated\n- Did you find a typo, a bug or want to add an explanation or figure to the documentation?\n- Do you want to implement another [material model](https://johannesschorr.github.io/M-N-Kappa/api/m_n_kappa.Material.html),\n enhance the performance or implement another [feature](https://johannesschorr.github.io/M-N-Kappa/roadmap.html#roadmap-roadmap)?\n- You used ``m_n_kappa`` to compute the load-deformation behaviour of your experimental investigation and want to share\n your [verification](https://johannesschorr.github.io/M-N-Kappa/verification/index.html)?\n\nAll types of contributions are welcomed. \nPlease check beforehand the [Contributing](https://johannesschorr.github.io/M-N-Kappa/contributing.html)'s page. \n\n## About \n- [Roadmap](https://johannesschorr.github.io/M-N-Kappa/roadmap.html): \n Roadmap, ideas for implementation and To do's\n- [License](https://johannesschorr.github.io/M-N-Kappa/license.html): 3-Clause BSD License\n- [Release Notes](https://johannesschorr.github.io/M-N-Kappa/whatsnew/index.html)",
"bugtrack_url": null,
"license": "",
"summary": "Open source library for using the strain-based method to compute the stress-distribution of a cross-section considering multi-linear material models ",
"version": "0.0.1",
"split_keywords": [
"beam",
"deformation",
"engineering",
"moment-curvature",
"multi-linear material",
"non-linear material",
"strain-based",
"structural-engineering"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a1a082c5a305ad369a40595031b17cb13eeb359ceb4a2f390b960b0fd9c4df2a",
"md5": "4d55cc7186ae0601afc971a0f67d9e4a",
"sha256": "32f5baf27cfddf1553839a71f71d6a136c1cac46fec476d17311ed106d0ceffb"
},
"downloads": -1,
"filename": "m_n_kappa-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4d55cc7186ae0601afc971a0f67d9e4a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 76575,
"upload_time": "2023-01-28T18:31:14",
"upload_time_iso_8601": "2023-01-28T18:31:14.468089Z",
"url": "https://files.pythonhosted.org/packages/a1/a0/82c5a305ad369a40595031b17cb13eeb359ceb4a2f390b960b0fd9c4df2a/m_n_kappa-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "beaeaf81388afbc74dded0813c70a1b3bb6a736f122883278b4028a4e43cdc5d",
"md5": "32534be8bb1f9e93ac4e4c26e3828455",
"sha256": "48800efefddf45c44f9e38ef743484cea94ef40a9a341696f45c216ba1e376da"
},
"downloads": -1,
"filename": "m_n_kappa-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "32534be8bb1f9e93ac4e4c26e3828455",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 32813823,
"upload_time": "2023-01-28T18:31:29",
"upload_time_iso_8601": "2023-01-28T18:31:29.666180Z",
"url": "https://files.pythonhosted.org/packages/be/ae/af81388afbc74dded0813c70a1b3bb6a736f122883278b4028a4e43cdc5d/m_n_kappa-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-28 18:31:29",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "m-n-kappa"
}