OpenSeesPyAssistant 1.1
OpenSeesPy for everyone
RCCircShape Class Reference

Class that stores funcions, geometric and mechanical properties of RC circular shape profile. More...

Inheritance diagram for RCCircShape:
Section

Public Member Functions

def __init__ (self, b, L, e, fc, D_bars, int n_bars, fy, Ey, D_hoops, s, fs, Es, name_tag="Not Defined", rho_s_vol=-1, Ec=-1)
 The conctructor of the class. More...
 
def ComputeEc (self)
 Compute Ec using the formula from Mander et Al. More...
 
def ComputeI (self)
 Compute the moment of inertia of the circular section. More...
 
def ComputeRhoVol (self)
 Compute the ratio of the volume of transverse confining steel to the volume of confined concrete core. More...
 
def ReInit (self, rho_s_vol=-1, Ec=-1)
 Implementation of the homonym abstract method. More...
 
def ShowInfo (self)
 Implementation of the homonym abstract method. More...
 
def UpdateStoredData (self)
 Implementation of the homonym abstract method. More...
 

Public Attributes

 A
 
 Ac
 
 As
 
 Ay
 
 b
 
 bc
 
 cl_bars
 
 cl_hoops
 
 D_bars
 
 D_hoops
 
 data
 
 e
 
 Ec
 
 Es
 
 Ey
 
 fc
 
 fs
 
 fy
 
 I
 
 L
 
 n_bars
 
 name_tag
 
 rho_bars
 
 rho_s_vol
 
 s
 

Detailed Description

Class that stores funcions, geometric and mechanical properties of RC circular shape profile.

Note that for the validity of the formulas, the hoops needs to be closed (with 135 degress possibly).

Parameters
SectionParent abstract class.

Definition at line 570 of file Section.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  b,
  L,
  e,
  fc,
  D_bars,
int  n_bars,
  fy,
  Ey,
  D_hoops,
  s,
  fs,
  Es,
  name_tag = "Not Defined",
  rho_s_vol = -1,
  Ec = -1 
)

The conctructor of the class.

Parameters
b(float): Width of the section.
L(float): Effective length of the element associated with this section. If the panel zone is present, exclude its dimension.
e(float): Concrete cover.
fc(float): Unconfined concrete compressive strength (cylinder test).
D_bars(float): Diameter of the vertical reinforcing bars.
n_bars(int): Number of vertical reinforcing bars.
fy(float): Yield stress for reinforcing bars.
Ey(float): Young modulus for reinforcing bars.
D_hoops(float): Diameter of the hoops.
s(float): Vertical centerline spacing between hoops.
fs(float): Yield stress for the hoops.
Es(float): Young modulus for the hoops
name_tag(str, optional): A nametag for the section. Defaults to "Not Defined".
rho_s_vol(float, optional): Ratio of the volume of transverse confining steel to the volume of confined concrete core. Defaults to -1, e.g. computed according to Mander et Al. 1988.
Ec(float, optional): Young modulus for concrete. Defaults to -1, e.g. computed in init() and ReInit().
Exceptions
NegativeValueb needs to be positive.
NegativeValueL needs to be positive.
NegativeValuee needs to be positive.
PositiveValuefc needs to be negative.
NegativeValueD_bars needs to be positive.
NegativeValuen_bars needs to be a positive integer.
NegativeValuefy needs to be positive.
NegativeValueEy needs to be positive.
NegativeValueD_hoops needs to be positive.
NegativeValues needs to be positive.
NegativeValuefs needs to be positive.
NegativeValueEs needs to be positive.
NegativeValueEc needs to be positive if different from -1.
InconsistentGeometrye should be smaller than half the depth and the width of the section.

Definition at line 577 of file Section.py.

577 def __init__(self, b, L, e, fc, D_bars, n_bars: int, fy, Ey, D_hoops, s, fs, Es, name_tag = "Not Defined", rho_s_vol = -1, Ec = -1):
578 """
579 The conctructor of the class.
580
581 @param b (float): Width of the section.
582 @param L (float): Effective length of the element associated with this section.
583 If the panel zone is present, exclude its dimension.
584 @param e (float): Concrete cover.
585 @param fc (float): Unconfined concrete compressive strength (cylinder test).
586 @param D_bars (float): Diameter of the vertical reinforcing bars.
587 @param n_bars (int): Number of vertical reinforcing bars.
588 @param fy (float): Yield stress for reinforcing bars.
589 @param Ey (float): Young modulus for reinforcing bars.
590 @param D_hoops (float): Diameter of the hoops.
591 @param s (float): Vertical centerline spacing between hoops.
592 @param fs (float): Yield stress for the hoops.
593 @param Es (float): Young modulus for the hoops
594 @param name_tag (str, optional): A nametag for the section. Defaults to "Not Defined".
595 @param rho_s_vol (float, optional): Ratio of the volume of transverse confining steel to the volume of confined concrete core.
596 Defaults to -1, e.g. computed according to Mander et Al. 1988.
597 @param Ec (float, optional): Young modulus for concrete. Defaults to -1, e.g. computed in __init__() and ReInit().
598
599 @exception NegativeValue: b needs to be positive.
600 @exception NegativeValue: L needs to be positive.
601 @exception NegativeValue: e needs to be positive.
602 @exception PositiveValue: fc needs to be negative.
603 @exception NegativeValue: D_bars needs to be positive.
604 @exception NegativeValue: n_bars needs to be a positive integer.
605 @exception NegativeValue: fy needs to be positive.
606 @exception NegativeValue: Ey needs to be positive.
607 @exception NegativeValue: D_hoops needs to be positive.
608 @exception NegativeValue: s needs to be positive.
609 @exception NegativeValue: fs needs to be positive.
610 @exception NegativeValue: Es needs to be positive.
611 @exception NegativeValue: Ec needs to be positive if different from -1.
612 @exception InconsistentGeometry: e should be smaller than half the depth and the width of the section.
613 """
614 # Check
615 if b < 0: raise NegativeValue()
616 if L < 0: raise NegativeValue()
617 if e < 0: raise NegativeValue()
618 if fc > 0: raise PositiveValue()
619 if D_bars < 0: raise NegativeValue()
620 if n_bars < 0: raise NegativeValue()
621 if fy < 0: raise NegativeValue()
622 if Ey < 0: raise NegativeValue()
623 if D_hoops < 0: raise NegativeValue()
624 if s < 0: raise NegativeValue()
625 if fs < 0: raise NegativeValue()
626 if Es < 0: raise NegativeValue()
627 if Ec != -1 and Ec < 0: raise NegativeValue()
628 if e > b/2: raise InconsistentGeometry()
629
630 # Arguments
631 self.b = b
632 self.L = L
633 self.e = e
634 self.fc = fc
635 self.D_bars = D_bars
636 self.n_bars = n_bars
637 self.fy = fy
638 self.Ey = Ey
639 self.D_hoops = D_hoops
640 self.s = s
641 self.fs = fs
642 self.Es = Es
643 self.name_tag = name_tag
644
645 # Initialized the parameters that are dependent from others
646 self.ReInit(rho_s_vol, Ec)
647
648

Member Function Documentation

◆ ComputeEc()

def ComputeEc (   self)

Compute Ec using the formula from Mander et Al.

1988.

Returns
float: Young modulus of concrete.

Definition at line 744 of file Section.py.

744 def ComputeEc(self):
745 """
746 Compute Ec using the formula from Mander et Al. 1988.
747
748 @returns float: Young modulus of concrete.
749 """
750
751 return 5000.0 * math.sqrt(-self.fc/MPa_unit) * MPa_unit
752
753

◆ ComputeI()

def ComputeI (   self)

Compute the moment of inertia of the circular section.

Returns
float: Moment of inertia.

Definition at line 754 of file Section.py.

754 def ComputeI(self):
755 """
756 Compute the moment of inertia of the circular section.
757
758 @returns float: Moment of inertia.
759 """
760 return self.b**4*math.pi/64
761
762

◆ ComputeRhoVol()

def ComputeRhoVol (   self)

Compute the ratio of the volume of transverse confining steel to the volume of confined concrete core.

(according to Mander et Al. 1988).

Returns
float: Ratio.

Definition at line 731 of file Section.py.

731 def ComputeRhoVol(self):
732 """
733 Compute the ratio of the volume of transverse confining steel to the volume of confined concrete core.
734 (according to Mander et Al. 1988).
735
736 @returns float: Ratio.
737 """
738 vol_s = self.As*math.pi*self.bc
739 vol_c = math.pi/4*self.bc**2*self.s
740
741 return vol_s/vol_c
742
743

◆ ReInit()

def ReInit (   self,
  rho_s_vol = -1,
  Ec = -1 
)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Parameters
rho_s_vol(float, optional): Ratio of the volume of transverse confining steel to the volume of confined concrete core. Defaults to -1, e.g. computed according to Mander et Al. 1988.
Ec(float): Young modulus for concrete. Defaults to -1, e.g. computed according to Mander et Al. 1988.

Definition at line 649 of file Section.py.

649 def ReInit(self, rho_s_vol = -1, Ec = -1):
650 """
651 Implementation of the homonym abstract method.
652 See parent class DataManagement for detailed information.
653
654 @param rho_s_vol (float, optional): Ratio of the volume of transverse confining steel to the volume of confined concrete core.
655 Defaults to -1, e.g. computed according to Mander et Al. 1988.
656 @param Ec (float): Young modulus for concrete. Defaults to -1, e.g. computed according to Mander et Al. 1988.
657 """
658 # Precompute some members
659 self.cl_hoops = self.e + self.D_hoops/2.0 # centerline distance from the border of the extreme confining hoops
660 self.cl_bars = self.e + self.D_bars/2.0 + self.D_hoops # centerline distance from the border of the corner bars
661 self.bc = self.b - self.cl_hoops*2 # diameter of spiral (hoops) between bar centerline
662 self.As = ComputeACircle(self.D_hoops)
663
664 # Arguments
665 self.rho_s_vol = self.ComputeRhoVol() if rho_s_vol == -1 else rho_s_vol
666 self.Ec = self.ComputeEc() if Ec == -1 else Ec
667
668 # Members
669 self.A = ComputeACircle(self.b)
670 self.Ac = ComputeACircle(self.bc)
671 self.Ay = ComputeACircle(self.D_bars)
672 self.rho_bars = ComputeRho(self.Ay, self.n_bars, self.A)
673 self.I = self.ComputeI()
674
675 # Data storage for loading/saving
676 self.UpdateStoredData()
677
678
Module with the parent abstract class DataManagement.
def ComputeACircle(D)
Function that computes the area of one circle (reinforcing bar or hoop).
Definition: Section.py:763
def ComputeRho(A, nr, A_tot)
Compute the ratio of area of a reinforcement to area of a section.
Definition: Section.py:774

◆ ShowInfo()

def ShowInfo (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 710 of file Section.py.

710 def ShowInfo(self):
711 """
712 Implementation of the homonym abstract method.
713 See parent class DataManagement for detailed information.
714 """
715 print("")
716 print("Requested info for RC circular section of name tag = {}".format(self.name_tag))
717 print("Width of the section b = {} mm".format(self.b/mm_unit))
718 print("Concrete cover e = {} mm".format(self.e/mm_unit))
719 print("Concrete area A = {} mm2".format(self.A/mm2_unit))
720 print("Core concrete area Ac = {} mm2".format(self.Ac/mm2_unit))
721 print("Unconfined concrete compressive strength fc = {} MPa".format(self.fc/MPa_unit))
722 print("Young modulus for concrete Ec = {} GPa".format(self.Ec/GPa_unit))
723 print("Diameter of the reinforcing bars D_bars = {} mm and area of one bar Ay = {} mm2 with {} bars".format(self.D_bars/mm_unit, self.Ay/mm2_unit, self.n_bars))
724 print("Diameter of the hoops D_hoops = {} mm and area of one stirrup As = {} mm2".format(self.D_hoops/mm_unit, self.As/mm2_unit))
725 print("Ratio of area of longitudinal reinforcement to area of concrete section rho_bars = {} ".format(self.rho_bars))
726 print("Ratio of the volume of transverse confining steel to the volume of confined concrete core rho_s = {} ".format(self.rho_s_vol))
727 print("Moment of inertia of the circular section I = {} mm4".format(self.I/mm4_unit))
728 print("")
729
730

◆ UpdateStoredData()

def UpdateStoredData (   self)

Implementation of the homonym abstract method.

See parent class DataManagement for detailed information.

Definition at line 679 of file Section.py.

679 def UpdateStoredData(self):
680 """
681 Implementation of the homonym abstract method.
682 See parent class DataManagement for detailed information.
683 """
684 self.data = [["INFO_TYPE", "RCCircShape"], # Tag for differentiating different data
685 ["name_tag", self.name_tag],
686 ["b", self.b],
687 ["bc", self.bc],
688 ["L", self.L],
689 ["e", self.e],
690 ["A", self.A],
691 ["Ac", self.Ac],
692 ["I", self.I],
693 ["fc", self.fc],
694 ["Ec", self.Ec],
695 ["D_bars", self.D_bars],
696 ["n_bars", self.n_bars],
697 ["Ay", self.Ay],
698 ["rho_bars", self.rho_bars],
699 ["cl_bars", self.cl_bars],
700 ["fy", self.fy],
701 ["Ey", self.Ey],
702 ["D_hoops", self.D_hoops],
703 ["s", self.s],
704 ["As", self.As],
705 ["rho_s_vol", self.rho_s_vol],
706 ["cl_hoops", self.cl_hoops],
707 ["fs", self.fs],
708 ["Es", self.Es]]
709

Member Data Documentation

◆ A

A

Definition at line 669 of file Section.py.

◆ Ac

Ac

Definition at line 670 of file Section.py.

◆ As

As

Definition at line 662 of file Section.py.

◆ Ay

Ay

Definition at line 671 of file Section.py.

◆ b

b

Definition at line 631 of file Section.py.

◆ bc

bc

Definition at line 661 of file Section.py.

◆ cl_bars

cl_bars

Definition at line 660 of file Section.py.

◆ cl_hoops

cl_hoops

Definition at line 659 of file Section.py.

◆ D_bars

D_bars

Definition at line 635 of file Section.py.

◆ D_hoops

D_hoops

Definition at line 639 of file Section.py.

◆ data

data

Definition at line 684 of file Section.py.

◆ e

e

Definition at line 633 of file Section.py.

◆ Ec

Ec

Definition at line 666 of file Section.py.

◆ Es

Es

Definition at line 642 of file Section.py.

◆ Ey

Ey

Definition at line 638 of file Section.py.

◆ fc

fc

Definition at line 634 of file Section.py.

◆ fs

fs

Definition at line 641 of file Section.py.

◆ fy

fy

Definition at line 637 of file Section.py.

◆ I

I

Definition at line 673 of file Section.py.

◆ L

L

Definition at line 632 of file Section.py.

◆ n_bars

n_bars

Definition at line 636 of file Section.py.

◆ name_tag

name_tag

Definition at line 643 of file Section.py.

◆ rho_bars

rho_bars

Definition at line 672 of file Section.py.

◆ rho_s_vol

rho_s_vol

Definition at line 665 of file Section.py.

◆ s

s

Definition at line 640 of file Section.py.


The documentation for this class was generated from the following file: