Skip to main content

This repo aims to calculate the topics in TS500-2000 and TSC2018 by coding them with Python.

Todo list

  • Design of confining reinforcement in rectangular columns according to TSC2018 .
  • Creation of the steel model with the confined and unconfined mander concrete model specified in ANNEX 5-A of the TSC2018.
  • Creating the spectrum graphs given in section 3 of the TSC2018.
  • Finding the building height class (BYS) and the maximum possible building height according to the information given.
  • Connection with Etabs(CSI product) program and getting results
  • Calculation of strength and ductility increase in columns confined with fibrous polymer
  • Interstory drift check according to TSC2018
  • Earthquake record selection, acceleration record reading, spectral acceleration, velocity and displacement series extraction and scaling operations.
  • Finding performance targets based on the information provided according to TSC2018
  • Recommendation of R and D coefficients in accordance with TSC2018.
  • Finding equivalent lateral loads according to TSC2018.
  • External forces in cantilever retaining walls according to TBDY2018.

Summary of repo

PyPI - Version PyPI - Downloads GitHub forks GitHub contributors GitHub stars GitHub issues GitHub License GitHub commit activity

💬 Contact

twitter linkedin gmail

Installing

You can install using pip:

pip install TSC2018-Design

Example

1- Importing modules

from TSCMaterialModels import Mander
from TSCConfimentBarsRules import ConfimentDesign as cd
from Definitions import DuctilityLevel, ResSystemType, SlabSystem,SeismicResistanceBuildingsClass
from TSCResponseSpectra import *

2- Inputs

"""Units N,mm"""
Nd                      = 16000 
B                       = 400
H                       = 400
s                       = 80
TieRebarDiameter        = 8
LongnitRebarDiameter    = 14
ClearCoverConc          = 25
NumBarsTop              = 2
NumBarsInterior         = 1
NumBarsBot              = 2
X_tiebars               = 2
Y_tiebars               = 3
fsy                     = 220
fywe                    = 220
eps_su                  = 0.08
f_co                    = 25
f_ce                    = 25
Fctd                    = 10
Ln                      = 2600

3- TSC2018 rectangular column confinement reinforcement design

ConfinmentDesign = cd(Nd, fsy, Fctd, Ln, B, H, ClearCoverConc, X_tiebars, Y_tiebars, f_co, fywe, TieRebarDiameter, LongnitRebarDiameter)

Kolon Serbest Bölgesindeki Etriye Adeti - Etriye Çapi / SarılmaDışıAralık / OrtaSarılmadakiAralık / UçSarılmaAralık = 42 - ∅8 / 16 / 5 / 5

s = ConfinmentDesign.s_OptEndConfArea

52

4- Material models of TSC2018

Mander

mander = Mander(B                    = B,
                H                    = H,
                s                    = s,
                TieRebarDiameter     = TieRebarDiameter,
                LongnitRebarDiameter = LongnitRebarDiameter,
                ClearCoverConc       = ClearCoverConc,
                NumBarsTop           = NumBarsTop,
                NumBarsInterior      = NumBarsInterior,
                NumBarsBot           = NumBarsBot,
                X_tiebars            = X_tiebars,
                Y_tiebars            = Y_tiebars,
                fsy                  = fsy,
                f_ywe                = fywe,
                eps_su               = eps_su,
                f_co                 = f_co,
                f_ce                 = f_ce
                )

mander.Plot_Manders()

ManderPlot

5-Creating target spectrum according to TSC2018

To obtain the spectra given in TBDY2018, we use the SeismicInputs class for seismic inputs. For seismic recording input, an instance of our SeismicInputs sample class is purchased. This class will also be used in other classes.

SeismicVariables = SeismicInputs(lat = 39.85,lon = 30.2,soil = "ZC",intensity = "DD2")
SeismicVariables

Latitude :39.85

Longitude :30.2

Soil Class :ZC

Intensity:DD2

We provide information about the building model in the SeismicResistanceBuildingInputs class. Here we used DuctilityLevel, ResSystemType, SlabSystem which are Enum classes for classifications.

RCBuilding = SeismicResistanceBuildingInputs(Hn=70,
                                                 I=1,
                                                 DuctilLevel=DuctilityLevel.Yuksek,
                                                 ResSystemType_X=ResSystemType.BAKarma,
                                                 ResSystemType_Y=ResSystemType.BAKarma,
                                                 SlabSystem=SlabSystem.Plak_kirisli)
RCBuilding

Hn :70

I :1

DuctilLevel :Yuksek

ResSystemType_X :BAKarma

ResSystemType_Y :BAKarma

SlabSystem :Plak_kirisli

SeismicInputsManager class is used to find spectrum values. This class uses the information of the SeismicVariables class as input and calculates the other values if the SetVariables function is run and sets them to the class properties.

SIM = SeismicInputsManager(SeismicVariables=SeismicVariables, TL=6.0)
SIM.SetVariables()
SIM

Ss :0.737 S1 :0.195 PGA :0.309 PGV :18.833 Fs :1.205 F1 :1.5 SDs :0.888085 SD1 :0.2925 TA :0.06587207305607008 TB :0.3293603652803504 TL :6.0

SeismicResistanceBuildingManeger class takes SeismicResistanceBuildingInputs, which contains building information, and SeismicInputsManager classes, which calculate seismic data, as input, and calculates general building classification operations by running the SetVariables function and sets properties.

Srbm = SeismicResistanceBuildingManeger(BuildingVariables=RCBuilding, SeismicManager=SIM, BuildingClass=SeismicResistanceBuildingsClass.A14, Rx=6,Ry=3)
Srbm.SetVariables()
Srbm

SeismicResistanceBuildingManeger(BuildingVariables=Hn :70 I :1 DuctilLevel :Yuksek ResSystemType_X :BAKarma ResSystemType_Y :BAKarma SlabSystem :Plak_kirisli, SeismicManager=Ss :0.737 S1 :0.195 PGA :0.309 PGV :18.833 Fs :1.205 F1 :1.5 SDs :0.888085 SD1 :0.2925 TA :0.06587207305607008 TB :0.3293603652803504 TL :6.0, BuildingClass=<SeismicResistanceBuildingsClass.A14: 5>, Total_M_DEV=0, Total_M_o=0, DTS=2, BYS=2, Rx=6, Ry=3, Dx=1.0, Dy=1.0)

The Spectrum class calculates the spectrum information of the structure by running the SetVariables function using the SeismicResistanceBuildingManeger class and sets it to the ElasticSpectrums variable. This property returns pandas.DataFrame.

Spec = Spectrum(BuildingManager=Srbm)
Spec.SetVariables()
Spec

Spectrum(BuildingManager=SeismicResistanceBuildingManeger(BuildingVariables=Hn :70 I :1 DuctilLevel :Yuksek ResSystemType_X :BAKarma ResSystemType_Y :BAKarma SlabSystem :Plak_kirisli, SeismicManager=Ss :0.737 S1 :0.195 PGA :0.309 PGV :18.833 Fs :1.205 F1 :1.5 SDs :0.888085 SD1 :0.2925 TA :0.06587207305607008 TB :0.3293603652803504 TL :6.0, BuildingClass=<SeismicResistanceBuildingsClass.A14: 5>, Total_M_DEV=0, Total_M_o=0, DTS=2, BYS=2, Rx=6, Ry=3, Dx=1.0, Dy=1.0))

Spec.ElasticSpectrums
Spec

image

The plot_Spectrums function can be run to display all plots simultaneously. Graphs are drawn in one piece in a specially prepared format.

Spec.plot_Spectrums()

image

Functions in related classes can be used individually. For example, elastic and reduced elastic spectrum values for a certain period can be obtained with the help of the following functions.

Sae_Tp = Spec.Get_Sae_Tp(T=1.2,
                         TA = Spec.BuildingManager.SeismicManager.TA,
                         TB = Spec.BuildingManager.SeismicManager.TB,
                         SDs= Spec.BuildingManager.SeismicManager.SDs,
                         SD1= Spec.BuildingManager.SeismicManager.SD1,
                         TL = Spec.BuildingManager.SeismicManager.TL 
                         )
Sae_Tp

0.2438

Sar_Tp = Spec.Get_SaR_Tp(R  = Spec.BuildingManager.Rx,
                         D  = Spec.BuildingManager.Dx,
                         T  = 1.2,
                         TB = Spec.BuildingManager.SeismicManager.TB,
                         I  = Spec.BuildingManager.BuildingVariables.I,
                         TA = Spec.BuildingManager.SeismicManager.TA,
                         SDs= Spec.BuildingManager.SeismicManager.SDs,
                         SD1= Spec.BuildingManager.SeismicManager.SD1,
                         TL = Spec.BuildingManager.SeismicManager.TL  )
Sar_Tp

0.0406

Metadata

Release files for TSC2018-Design 1.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TSC2018-Design 1.1.5
File Size Uploaded
tsc2018_design-1.1.5.tar.gz 71.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TSC2018-Design 1.1.5
File Interpreter ABI Platform
TSC2018_Design-1.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 146.7 kB

Release files / tsc2018_design-1.1.5.tar.gz

Download URL tsc2018_design-1.1.5.tar.gz
Size 71.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e0c0323890c20e3a33886116c6f407349e661d78555da3e47904961eb2bf5663
BLAKE2b-256 checksum
How to use checksums
44434afc352462e68319336b25664bb83652fab1bfe5c8f9380ea000893de83c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / TSC2018_Design-1.1.5-py3-none-any.whl

Download URL TSC2018_Design-1.1.5-py3-none-any.whl
Size 75.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d533616c8b47fa4bf9abb62542efced16e8cc95873d85ba1b2fa35785f52e27
BLAKE2b-256 checksum
How to use checksums
ad8d84e0b08f6598f583d24dcbf66077b269961215475fe646857ee4af5bdfcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.1.5 This release

2 release files

1.1.4

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.1

2 release files

1.0.0

1 release file

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page