Ανάπτυξη λογισμικού

Από τον κανονισμό
στον κώδικα.

Η kane_pe είναι μια βιβλιοθήκη Python για επιλεγμένους υπολογισμούς του ΚΑΝ.ΕΠΕ. Αναπτύχθηκε στο πλαίσιο της διπλωματικής μου εργασίας, για να οργανώσει τους υπολογισμούς σε επαναχρησιμοποιήσιμο κώδικα.

Έκδοση αναφοράς
0.1.0
Python
≥ 3.8
Άδεια
MIT

kane_pe / Python package

Ορισμός υλικού
from kane_pe.materials import Concrete

concrete = Concrete(fck=25)
print(concrete.fcd)
Σκυρόδεμα · Διατομές · ΈλεγχοιΔιαθέσιμη στο PyPI ↗

01 / Η βιβλιοθήκη

Η μηχανική γνώση, σε επαναχρησιμοποιήσιμη μορφή.

Ο ΚΑΝ.ΕΠΕ. είναι ο Κανονισμός Επεμβάσεων για υφιστάμενα κτίρια. Η kane_pe μεταφέρει επιλεγμένες υπολογιστικές διαδικασίες σε Python, με χωριστά αντικείμενα για υλικά, διατομές και υπολογισμούς.

Απευθύνεται σε μηχανικούς, ερευνητές και προγραμματιστές που θέλουν να εξετάσουν τον κώδικα, να επαναλάβουν υπολογισμούς ή να τον ενσωματώσουν σε δικές τους εφαρμογές.

02 / Δομή

Τρία modules. Διακριτοί ρόλοι.

01
materials.py

Υλικά

Ορισμός σκυροδέματος, χάλυβα και ινοπλισμένων πολυμερών FRP.

Concrete · Steel · FRP
02
sections.py

Διατομές

Γεωμετρία ορθογωνικών διατομών και δεδομένα οπλισμένου σκυροδέματος.

RectangularSection · ReinforcedConcreteSection
03
checks.py

Υπολογισμοί

Μέθοδοι για τη συμπεριφορά διατομών και επεμβάσεις με FRP.

SectionCheck · FRPCheck

03 / Εγκατάσταση

Ξεκίνα σε ένα περιβάλλον Python.

Οι παρακάτω οδηγίες αφορούν τη δημοσιευμένη έκδοση 0.1.0. Για χρήση του module checks εγκαθίσταται και η matplotlib, η οποία χρησιμοποιείται για τα διαγράμματα.

Τερματικό
python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install "kane-pe==0.1.0" matplotlib

Στα παραδείγματα εισάγουμε τις κλάσεις απευθείας από τα modules, όπως kane_pe.materials και kane_pe.sections.

04 / Παραδείγματα

Μικρά, εκτελέσιμα παραδείγματα.

Τα δύο παραδείγματα εκτελέστηκαν με τον κώδικα της 0.1.0. Δείχνουν τον τρόπο χρήσης του API για υλικά και γεωμετρία.

Υλικά και σχεδιαστικές αντοχές

Οι αντοχές εισάγονται σε MPa και οι συντελεστές είναι αδιάστατοι.

materials_example.py
from kane_pe.materials import Concrete, Steel

concrete = Concrete(fck=25, gamma_c=1.5)
steel = Steel(fyk=500, gamma_s=1.15)

print(f"fcd = {concrete.fcd:.2f} MPa")
print(f"fyd = {steel.fyd:.2f} MPa")
Αποτέλεσμα
fcd = 16.67 MPa
fyd = 434.78 MPa

Γεωμετρία ορθογωνικής διατομής

Οι διαστάσεις αυτού του παραδείγματος εισάγονται σε μέτρα. Η ροπή αδράνειας αφορά τον άξονα που αντιστοιχεί στον τύπο b·h³/12.

geometry_example.py
from kane_pe.materials import Concrete
from kane_pe.sections import RectangularSection

concrete = Concrete(fck=25)
section = RectangularSection(
    width=0.30,   # m
    height=0.40,  # m
    H=3.00,      # m, μήκος στοιχείου
    material=concrete,
)

print(f"A = {section.area():.3f} m²")
print(f"I = {section.inertia():.6f} m⁴")
print(f"V = {section.volume():.3f} m³")
Αποτέλεσμα
A = 0.120 m²
I = 0.001600 m⁴
V = 0.360 m³

05 / Αναφορά μεθόδων

Επιλεγμένες μέθοδοι της έκδοσης 0.1.0.

Ο παρακάτω κατάλογος καταγράφει μεθόδους που υπάρχουν στον πηγαίο κώδικα. Για τις πλήρεις υπογραφές, τις προεπιλεγμένες τιμές και την υλοποίηση, συμβουλέψου το module checks.py.

SectionCheck.check_lap_length
check_lap_length(lb, ravdos_type="nevroseis")

Μήκος παράθεσης και ενεργός αντοχή χάλυβα.

Επιστρέφει: Tuple με αντοχή, μήκος και μήνυμα.

SectionCheck.calc_yield_strain
calc_yield_strain(N)

Παράμετροι διαρροής διατομής για δοσμένη αξονική δύναμη.

Επιστρέφει: Dictionary με ενδιάμεσες παραμέτρους.

SectionCheck.calc_yield_moment
calc_yield_moment(ry, jy)

Υπολογισμός ροπής διαρροής από τις παραμέτρους ry και jy.

Επιστρέφει: Αριθμητική τιμή.

SectionCheck.calc_stiffness
calc_stiffness(My, thita_y)

Υπολογισμός δυσκαμψίας από ροπή και γωνία διαρροής.

Επιστρέφει: Αριθμητική τιμή.

FRPCheck.perisfiksi
perisfiksi(bp, dp, r, show_plot=True)

Παράμετροι περίσφιγξης και διάγραμμα τάσης–παραμόρφωσης.

Επιστρέφει: Tuple: dictionary αποτελεσμάτων και Figure.

FRPCheck.compute_shear
compute_shear(sj, thita, a, giop, n_FRP)

Παράμετροι συμβολής FRP στην τέμνουσα. Υπάρχουν προεπιλεγμένες τιμές στον κώδικα.

Επιστρέφει: Dictionary με ενδιάμεσα και τελικά αποτελέσματα.

06 / Μεθοδολογία και όρια

Ο κώδικας είναι μέρος της τεκμηρίωσης.

Η βιβλιοθήκη αναπτύχθηκε ως υπολογιστικό μέρος της διπλωματικής μου εργασίας για υφιστάμενες κατασκευές οπλισμένου σκυροδέματος. Ο διαχωρισμός σε κλάσεις επιτρέπει την ανάγνωση των παραμέτρων και των εξισώσεων κάθε υπολογισμού.

Πριν από τεχνική εφαρμογή

Η 0.1.0 είναι ερευνητική έκδοση. Ο κώδικας περιέχει ασυνέπειες στη διαχείριση μονάδων και επιμέρους απλοποιήσεις. Η σελίδα παρουσιάζει το λογισμικό· δεν πιστοποιεί την κανονιστική ορθότητα των υπολογισμών του. Για χρήση σε μελέτη απαιτούνται έλεγχος εξισώσεων, μονάδων, παραδοχών και αντιπαραβολή με την εφαρμοζόμενη έκδοση του ΚΑΝ.ΕΠΕ.