Metadata-Version: 2.4
Name: pamd_civil_engineering
Version: 0.3.0
Summary: Massive standard property databases for engineering and science in PyAct.
Home-page: https://github.com/Abstergo2003/PyAct
Author: Abstergo2003
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-python
Dynamic: summary

<div align="center">
  <h1>🏗️ PyAct Catalogue: Civil Engineering</h1>
  <p><b>The massive standard property database for structural engineers.</b></p>
</div>

**pamd-civil-engineering** is a standalone, installable knowledge base designed to plug directly into the PyAct engine. It contains thousands of pre-calculated, standard material properties wrapped perfectly in PyAct's `Unit` class. 

Say goodbye to looking up standard properties in design codes — just import and calculate.

## 🚀 Installation

Install it directly from PyPI:
```bash
pip install pamd-civil-engineering
```
*(Note: Installing this package will automatically install `pyact-cli` and its core `Unit` library as a dependency.)*

## 📖 What's Included?

This package contains standard engineering datasets tailored strictly for Civil and Structural Engineering calculations (to Eurocode standards).

### 1. Structural Beams
Complete cross-sectional properties (Area, Inertia, Elastic/Plastic Section Moduli, Mass, Radii of gyration) for thousands of standard European profiles:
* **Steel**: IPE, HEA, HEB, HEM, UKB, UKC, CHS, RHS, SHS, L-angles, T-sections, Z-sections.
* **Timber**: Standard rectangular and composite softwood sections.

### 2. Concrete & Rebar
* **`Concrete`**: Characteristic compressive strengths ($f_{ck}$), secant elastic moduli ($E_{cm}$), and tensile strengths for standard classes (C12/15 up to C90/105).
* **`Rebar`**: Standard cross-sectional areas and masses for rebar diameters from $\phi6$ to $\phi40$.

### 3. Geotechnical & Soil Mechanics
* **`Soil`**: Typical bulk weights ($\gamma$), friction angles ($\phi'$), effective cohesion ($c'$), and undrained shear strengths ($c_u$) for various clays, sands, silts, and gravels.
* **Bearing Capacities**: Presumed allowable bearing pressures ($q_a$) for rock and soil foundation sizing.

### 4. Materials & Fasteners
* **Steel / Aluminium / Softwood**: Standard mechanical properties ($E, G, \nu, \alpha$, density, yield strengths).
* **Bolts**: Tensile and yield strengths for standard bolt grades (4.6, 8.8, 10.9) and cross-sectional areas for bolt sizes (M4-M36).
* **Masonry**: Compressive strengths ($f_b$) and constants for bricks, silicate blocks, and mortar classes.

## 🛠️ Usage Example

Import any material database directly into your PyAct `.pamd` context and perform instant math. Because every value is a `Unit` object, calculations are completely seamless.

```python
from pamd_civil_engineering.Concrete import Concrete
from pamd_civil_engineering.Beams.Steel.C import C
from pyact_cli.pamd_helpers.unit import Unit

def context():
    # Fetch standard values
    fck = Concrete().C30_37["fck"]             # Returns Unit(30, "[MPa]")
    beam_area = C().UPN_200["A_cm2"]           # Returns Unit(32.2, "[cm2]")
    
    # Do math instantly!
    force_capacity = fck * beam_area
    
    return {
        "strength": fck,
        "capacity": force_capacity
    }
```
