structuralcodes 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of structuralcodes might be problematic. Click here for more details.
- structuralcodes/__init__.py +17 -0
- structuralcodes/codes/__init__.py +79 -0
- structuralcodes/codes/ec2_2004/__init__.py +133 -0
- structuralcodes/codes/ec2_2004/_concrete_material_properties.py +239 -0
- structuralcodes/codes/ec2_2004/_reinforcement_material_properties.py +104 -0
- structuralcodes/codes/ec2_2004/_section_7_3_crack_control.py +941 -0
- structuralcodes/codes/ec2_2004/annex_b_shrink_and_creep.py +257 -0
- structuralcodes/codes/ec2_2004/shear.py +506 -0
- structuralcodes/codes/ec2_2023/__init__.py +104 -0
- structuralcodes/codes/ec2_2023/_annexB_time_dependent.py +17 -0
- structuralcodes/codes/ec2_2023/_section5_materials.py +1160 -0
- structuralcodes/codes/ec2_2023/_section9_sls.py +325 -0
- structuralcodes/codes/mc2010/__init__.py +169 -0
- structuralcodes/codes/mc2010/_concrete_creep_and_shrinkage.py +704 -0
- structuralcodes/codes/mc2010/_concrete_interface_different_casting_times.py +104 -0
- structuralcodes/codes/mc2010/_concrete_material_properties.py +463 -0
- structuralcodes/codes/mc2010/_concrete_punching.py +543 -0
- structuralcodes/codes/mc2010/_concrete_shear.py +749 -0
- structuralcodes/codes/mc2010/_concrete_torsion.py +164 -0
- structuralcodes/codes/mc2010/_reinforcement_material_properties.py +105 -0
- structuralcodes/core/__init__.py +1 -0
- structuralcodes/core/_section_results.py +211 -0
- structuralcodes/core/base.py +260 -0
- structuralcodes/geometry/__init__.py +25 -0
- structuralcodes/geometry/_geometry.py +875 -0
- structuralcodes/geometry/_steel_sections.py +2155 -0
- structuralcodes/materials/__init__.py +9 -0
- structuralcodes/materials/concrete/__init__.py +82 -0
- structuralcodes/materials/concrete/_concrete.py +114 -0
- structuralcodes/materials/concrete/_concreteEC2_2004.py +477 -0
- structuralcodes/materials/concrete/_concreteEC2_2023.py +435 -0
- structuralcodes/materials/concrete/_concreteMC2010.py +494 -0
- structuralcodes/materials/constitutive_laws.py +979 -0
- structuralcodes/materials/reinforcement/__init__.py +84 -0
- structuralcodes/materials/reinforcement/_reinforcement.py +172 -0
- structuralcodes/materials/reinforcement/_reinforcementEC2_2004.py +103 -0
- structuralcodes/materials/reinforcement/_reinforcementEC2_2023.py +93 -0
- structuralcodes/materials/reinforcement/_reinforcementMC2010.py +98 -0
- structuralcodes/sections/__init__.py +23 -0
- structuralcodes/sections/_generic.py +1249 -0
- structuralcodes/sections/_reinforcement.py +115 -0
- structuralcodes/sections/section_integrators/__init__.py +14 -0
- structuralcodes/sections/section_integrators/_factory.py +41 -0
- structuralcodes/sections/section_integrators/_fiber_integrator.py +238 -0
- structuralcodes/sections/section_integrators/_marin_integration.py +47 -0
- structuralcodes/sections/section_integrators/_marin_integrator.py +222 -0
- structuralcodes/sections/section_integrators/_section_integrator.py +49 -0
- structuralcodes-0.0.1.dist-info/METADATA +40 -0
- structuralcodes-0.0.1.dist-info/RECORD +50 -0
- structuralcodes-0.0.1.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Abstract base class for section integrators."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations # To have clean hints of ArrayLike in docs
|
|
4
|
+
|
|
5
|
+
import abc
|
|
6
|
+
|
|
7
|
+
from numpy.typing import ArrayLike
|
|
8
|
+
|
|
9
|
+
from structuralcodes.geometry import CompoundGeometry
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SectionIntegrator(abc.ABC):
|
|
13
|
+
"""Abstract base class for section integrators."""
|
|
14
|
+
|
|
15
|
+
@abc.abstractmethod
|
|
16
|
+
def prepare_input(self, geo: CompoundGeometry, strain: ArrayLike):
|
|
17
|
+
"""Prepare general input to the integration method.
|
|
18
|
+
|
|
19
|
+
Args:
|
|
20
|
+
geo (CompoundGeometry): The geometry to integrate over.
|
|
21
|
+
strain (ArrayLike): The scalar strain components necessary for
|
|
22
|
+
describing the assumed strain distribution over the geometry.
|
|
23
|
+
"""
|
|
24
|
+
raise NotImplementedError
|
|
25
|
+
|
|
26
|
+
@abc.abstractmethod
|
|
27
|
+
def integrate(self, *prepared_input, **kwargs):
|
|
28
|
+
"""Integrate stresses over the geometry.
|
|
29
|
+
|
|
30
|
+
The input to this method is generated by the prepare_input method. It
|
|
31
|
+
also takes kwargs depending on the concrete implementation.
|
|
32
|
+
|
|
33
|
+
Arguments:
|
|
34
|
+
*prepared_input: The input prepared by the prepare_input method.
|
|
35
|
+
|
|
36
|
+
Keyword Arguments:
|
|
37
|
+
**kwargs: Keyword arguments depending on the concrete
|
|
38
|
+
implementation.
|
|
39
|
+
"""
|
|
40
|
+
raise NotImplementedError
|
|
41
|
+
|
|
42
|
+
@abc.abstractmethod
|
|
43
|
+
def integrate_strain_response_on_geometry(
|
|
44
|
+
self, geo: CompoundGeometry, strain: ArrayLike, **kwargs
|
|
45
|
+
):
|
|
46
|
+
"""Integrate stresses over the geometry to obtain the response due to
|
|
47
|
+
strains.
|
|
48
|
+
"""
|
|
49
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: structuralcodes
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A Python package that contains models from structural design codes.
|
|
5
|
+
Author-email: fib - International Federation for Structural Concrete <info@fib-international.org>
|
|
6
|
+
Requires-Python: >=3.8
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Dist: numpy>=1.20.0
|
|
11
|
+
Requires-Dist: scipy>=1.6.0
|
|
12
|
+
Requires-Dist: shapely>=2.0.0
|
|
13
|
+
Requires-Dist: triangle>=20230923
|
|
14
|
+
Project-URL: source, https://github.com/fib-international/structuralcodes
|
|
15
|
+
|
|
16
|
+
# StructuralCodes
|
|
17
|
+
|
|
18
|
+
*A Python library for structural engineering calculations.*
|
|
19
|
+
|
|
20
|
+
[](https://github.com/fib-international/structuralcodes/actions/workflows/build.yaml)
|
|
21
|
+
[](https://github.com/charliermarsh/ruff)
|
|
22
|
+
[](https://github.com/charliermarsh/ruff)
|
|
23
|
+
[](https://fib-international.github.io/structuralcodes/)
|
|
24
|
+
|
|
25
|
+
## How to install
|
|
26
|
+
|
|
27
|
+
StructuralCodes is available on PyPI and can be installed using `pip`:
|
|
28
|
+
|
|
29
|
+
```pwsh
|
|
30
|
+
python -m pip install structuralcodes
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Get started
|
|
34
|
+
|
|
35
|
+
Read the [quickstart guide](https://fib-international.github.io/structuralcodes/quickstart/) in our docs.
|
|
36
|
+
|
|
37
|
+
## Contribution guidelines
|
|
38
|
+
|
|
39
|
+
Check out our docs for how to get started [contributing](https://fib-international.github.io/structuralcodes/contributing/) to StructuralCodes.
|
|
40
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
structuralcodes/__init__.py,sha256=p1MCc3UrCJBIWOXZyLuRpjGHGrsGcrR97iRDGU6x60c,390
|
|
2
|
+
structuralcodes/codes/__init__.py,sha256=D2lYPJ2IOgughWugFWQaHjz90zIl7gLX2Rrz53TvstA,1917
|
|
3
|
+
structuralcodes/codes/ec2_2004/__init__.py,sha256=_PdL9kX7qlfn9VBfqUCJQy6V9fWmIyugzIiSZczjNAA,1986
|
|
4
|
+
structuralcodes/codes/ec2_2004/_concrete_material_properties.py,sha256=Ol51tzcVOHUvc2Vea24WQJ4FABxXc-9cB5RVu2N1pio,5964
|
|
5
|
+
structuralcodes/codes/ec2_2004/_reinforcement_material_properties.py,sha256=_ZlvdHcOswu1Ge1XjSvt4j5ue-znDceMOlA0s528IqM,2779
|
|
6
|
+
structuralcodes/codes/ec2_2004/_section_7_3_crack_control.py,sha256=a91tWQKNTxB2SpSKu0Wtm-P5GdmifRLggNlEHIQ3XMY,31981
|
|
7
|
+
structuralcodes/codes/ec2_2004/annex_b_shrink_and_creep.py,sha256=Vht8VjmpHNRl7-AirTm2buJl1RzL76AbW6-XgdDK6Kg,7348
|
|
8
|
+
structuralcodes/codes/ec2_2004/shear.py,sha256=uA9a5Po5X4ysp5pDI8HB0pBjI9Z9txxhPD_joLTM8O0,16910
|
|
9
|
+
structuralcodes/codes/ec2_2023/__init__.py,sha256=UohRxikCUqPAUpHj4uSWHw5drICjZm3zvJJw7clljo0,1618
|
|
10
|
+
structuralcodes/codes/ec2_2023/_annexB_time_dependent.py,sha256=ykRAHBHzqtMSErkVA-rwTHBdUq8-L7q2AOaEd2YW5wc,472
|
|
11
|
+
structuralcodes/codes/ec2_2023/_section5_materials.py,sha256=-vYowBVcebyPyuGvX3wLfxiePdM0OrBgRrYil71Vd88,32384
|
|
12
|
+
structuralcodes/codes/ec2_2023/_section9_sls.py,sha256=l1d3xcALAweU9jAAf1d91TJaGB_0p-eMzbRGuhfKydQ,11252
|
|
13
|
+
structuralcodes/codes/mc2010/__init__.py,sha256=g2J2GTIy9jbLTVq_yF4DXau4WLmAkpmMTgnD4QmW2vI,2844
|
|
14
|
+
structuralcodes/codes/mc2010/_concrete_creep_and_shrinkage.py,sha256=7VRzXGjGAM7JkfMcgWvntq4PC2n7VVtSS7CHQuxZaHM,23193
|
|
15
|
+
structuralcodes/codes/mc2010/_concrete_interface_different_casting_times.py,sha256=x_n9Z9WEPY6DFf8Og5UIERPivNh-O_3RM4ZnGBy64cs,3570
|
|
16
|
+
structuralcodes/codes/mc2010/_concrete_material_properties.py,sha256=MTz70-9iaN_s0Z8gJksCEzP0Yza4pPfZ-vOI30pzbw4,12362
|
|
17
|
+
structuralcodes/codes/mc2010/_concrete_punching.py,sha256=ZG2P7WXIRcFh5sGlmHP20BsJbz0o44cFO51FCru2kXw,17431
|
|
18
|
+
structuralcodes/codes/mc2010/_concrete_shear.py,sha256=HZhhpzQd-09NPrHpSK5fnPA1epVCQH8JfdSi6bpgiFg,21883
|
|
19
|
+
structuralcodes/codes/mc2010/_concrete_torsion.py,sha256=QBFnCYTOnP6FjN0MgX9iBrXN1yuELxQVP2TeDXDB7PM,4523
|
|
20
|
+
structuralcodes/codes/mc2010/_reinforcement_material_properties.py,sha256=FELmgMcCrHlajGwQNRRHb8nqKnMCsLso1OyjonsTAdk,2842
|
|
21
|
+
structuralcodes/core/__init__.py,sha256=spnvZIm_w3jX_lV-v3bloDjgHh8lrH6UHpA1Nv1zeAI,55
|
|
22
|
+
structuralcodes/core/_section_results.py,sha256=FCYivFY6e2JFF5Nl9dUZNytgTT_-UeDOEc79czX1Lxg,6978
|
|
23
|
+
structuralcodes/core/base.py,sha256=0QcYgYtmU5fK039a8QxrPM4Fa-ZpMUp2ez0XmpaCT_0,8562
|
|
24
|
+
structuralcodes/geometry/__init__.py,sha256=B6zKtPQy_OgsKz-fhbvZs7gSnADQPNTQwCMDF1yp-Lo,434
|
|
25
|
+
structuralcodes/geometry/_geometry.py,sha256=PcSMaxlacEJ5jxURWaVFtL3AxOpzbykMtDtnEi04iAU,30818
|
|
26
|
+
structuralcodes/geometry/_steel_sections.py,sha256=RjecVItWDjKT2rC2U6cvo0NtNHuUygY1pfybLUKJBUM,60227
|
|
27
|
+
structuralcodes/materials/__init__.py,sha256=r5E5vsXVKB-BGZXTnEbsrYJbH6rr6Xlc_b4LlcUPIbc,173
|
|
28
|
+
structuralcodes/materials/constitutive_laws.py,sha256=JSCbBvFbDQqDkqiOtmJykHgtKqxRZu8Fh0GMpQP4gSU,34285
|
|
29
|
+
structuralcodes/materials/concrete/__init__.py,sha256=GRD5WcbYrnE4iN-L7qVkhVTi7w_PUP7pnbGueOaVeFs,2576
|
|
30
|
+
structuralcodes/materials/concrete/_concrete.py,sha256=3zMTFtaqFeUl7ne7-pe9wF4LryzqvGpUwThnHTidCZU,3774
|
|
31
|
+
structuralcodes/materials/concrete/_concreteEC2_2004.py,sha256=gWG3O9yeGw3UeftCjYTajZco_XYDmBxPGqhAEpH3nY0,14666
|
|
32
|
+
structuralcodes/materials/concrete/_concreteEC2_2023.py,sha256=vguNzlfoPuaieTVw9T3xWU0wb230WvER4Vy1jswcdlo,14017
|
|
33
|
+
structuralcodes/materials/concrete/_concreteMC2010.py,sha256=lHy-WYiVpXPwiNAyjUBxuGWuGFd0-Uirh6KiolMH4MY,15313
|
|
34
|
+
structuralcodes/materials/reinforcement/__init__.py,sha256=-UA04GSNN6_xLKqnH_5taiOmgxYwD_wtT6Nw8UbfkJY,2757
|
|
35
|
+
structuralcodes/materials/reinforcement/_reinforcement.py,sha256=zrSdBvHKTYqOHpkJzxit8w_b2JG2pggviOvgZyH246Q,5029
|
|
36
|
+
structuralcodes/materials/reinforcement/_reinforcementEC2_2004.py,sha256=svLpubjaTH_DepwY68TQIA8fRwadoAE3Y3KsyViGQHk,3265
|
|
37
|
+
structuralcodes/materials/reinforcement/_reinforcementEC2_2023.py,sha256=3tKpFcMNYK52s5K2K_PctRcuSgwZTe-QXX3xziHPUno,2887
|
|
38
|
+
structuralcodes/materials/reinforcement/_reinforcementMC2010.py,sha256=az_IAQJNKSF6Vv9KMoXjWTdYkWI6xcEm7s8i8GETn3A,2939
|
|
39
|
+
structuralcodes/sections/__init__.py,sha256=401eBeFFzG-Xvj26HUIT_SwuSsSz_nERrl9pj129oME,566
|
|
40
|
+
structuralcodes/sections/_generic.py,sha256=f-F9yMIxByY18s6RnHExv2Pvhe_dsCInXiaS6Phb74E,49033
|
|
41
|
+
structuralcodes/sections/_reinforcement.py,sha256=8Xes3N8zm85bJVu_bgVNzMs4zo2zPv17xadw2I9CnE0,3739
|
|
42
|
+
structuralcodes/sections/section_integrators/__init__.py,sha256=PK4ixV0XrfHXN-itIrB1r90npoWo3aIJqMcenqcaees,399
|
|
43
|
+
structuralcodes/sections/section_integrators/_factory.py,sha256=MHp14hfWU-oXTiIutCKLJEC47LirYsHgEAAmHVtnFMY,1242
|
|
44
|
+
structuralcodes/sections/section_integrators/_fiber_integrator.py,sha256=5sxcfbmxMJfy45Pfd84I4sAh6HpPc5B4r6ab0WpjSNI,9305
|
|
45
|
+
structuralcodes/sections/section_integrators/_marin_integration.py,sha256=SZgya6d_Tequ3jez7UEBlYioZepW2IDKaAxn_6WrMbU,1563
|
|
46
|
+
structuralcodes/sections/section_integrators/_marin_integrator.py,sha256=rtEtd1X0QYAWNcaH7Pjd_b6LEzVjHqD_fbIrX64p7fg,9121
|
|
47
|
+
structuralcodes/sections/section_integrators/_section_integrator.py,sha256=O-jsG1Pu_doovgRJsFG1Sf0KlkN2wNfQdmgkJiSHNN0,1590
|
|
48
|
+
structuralcodes-0.0.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
49
|
+
structuralcodes-0.0.1.dist-info/METADATA,sha256=RhdlsZi06JZjr_bBsS0RkvAimckiyWEgZJQLzNX64C8,1811
|
|
50
|
+
structuralcodes-0.0.1.dist-info/RECORD,,
|