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.

Files changed (50) hide show
  1. structuralcodes/__init__.py +17 -0
  2. structuralcodes/codes/__init__.py +79 -0
  3. structuralcodes/codes/ec2_2004/__init__.py +133 -0
  4. structuralcodes/codes/ec2_2004/_concrete_material_properties.py +239 -0
  5. structuralcodes/codes/ec2_2004/_reinforcement_material_properties.py +104 -0
  6. structuralcodes/codes/ec2_2004/_section_7_3_crack_control.py +941 -0
  7. structuralcodes/codes/ec2_2004/annex_b_shrink_and_creep.py +257 -0
  8. structuralcodes/codes/ec2_2004/shear.py +506 -0
  9. structuralcodes/codes/ec2_2023/__init__.py +104 -0
  10. structuralcodes/codes/ec2_2023/_annexB_time_dependent.py +17 -0
  11. structuralcodes/codes/ec2_2023/_section5_materials.py +1160 -0
  12. structuralcodes/codes/ec2_2023/_section9_sls.py +325 -0
  13. structuralcodes/codes/mc2010/__init__.py +169 -0
  14. structuralcodes/codes/mc2010/_concrete_creep_and_shrinkage.py +704 -0
  15. structuralcodes/codes/mc2010/_concrete_interface_different_casting_times.py +104 -0
  16. structuralcodes/codes/mc2010/_concrete_material_properties.py +463 -0
  17. structuralcodes/codes/mc2010/_concrete_punching.py +543 -0
  18. structuralcodes/codes/mc2010/_concrete_shear.py +749 -0
  19. structuralcodes/codes/mc2010/_concrete_torsion.py +164 -0
  20. structuralcodes/codes/mc2010/_reinforcement_material_properties.py +105 -0
  21. structuralcodes/core/__init__.py +1 -0
  22. structuralcodes/core/_section_results.py +211 -0
  23. structuralcodes/core/base.py +260 -0
  24. structuralcodes/geometry/__init__.py +25 -0
  25. structuralcodes/geometry/_geometry.py +875 -0
  26. structuralcodes/geometry/_steel_sections.py +2155 -0
  27. structuralcodes/materials/__init__.py +9 -0
  28. structuralcodes/materials/concrete/__init__.py +82 -0
  29. structuralcodes/materials/concrete/_concrete.py +114 -0
  30. structuralcodes/materials/concrete/_concreteEC2_2004.py +477 -0
  31. structuralcodes/materials/concrete/_concreteEC2_2023.py +435 -0
  32. structuralcodes/materials/concrete/_concreteMC2010.py +494 -0
  33. structuralcodes/materials/constitutive_laws.py +979 -0
  34. structuralcodes/materials/reinforcement/__init__.py +84 -0
  35. structuralcodes/materials/reinforcement/_reinforcement.py +172 -0
  36. structuralcodes/materials/reinforcement/_reinforcementEC2_2004.py +103 -0
  37. structuralcodes/materials/reinforcement/_reinforcementEC2_2023.py +93 -0
  38. structuralcodes/materials/reinforcement/_reinforcementMC2010.py +98 -0
  39. structuralcodes/sections/__init__.py +23 -0
  40. structuralcodes/sections/_generic.py +1249 -0
  41. structuralcodes/sections/_reinforcement.py +115 -0
  42. structuralcodes/sections/section_integrators/__init__.py +14 -0
  43. structuralcodes/sections/section_integrators/_factory.py +41 -0
  44. structuralcodes/sections/section_integrators/_fiber_integrator.py +238 -0
  45. structuralcodes/sections/section_integrators/_marin_integration.py +47 -0
  46. structuralcodes/sections/section_integrators/_marin_integrator.py +222 -0
  47. structuralcodes/sections/section_integrators/_section_integrator.py +49 -0
  48. structuralcodes-0.0.1.dist-info/METADATA +40 -0
  49. structuralcodes-0.0.1.dist-info/RECORD +50 -0
  50. 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
+ [![Build](https://github.com/fib-international/structuralcodes/actions/workflows/build.yaml/badge.svg)](https://github.com/fib-international/structuralcodes/actions/workflows/build.yaml)
21
+ [![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/format.json)](https://github.com/charliermarsh/ruff)
22
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
23
+ [![Docs](https://img.shields.io/badge/%F0%9F%93%9A%20docs-fib--international.github.io%2Fstructuralcodes%2F-orange)](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,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: flit 3.9.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any