Пример #1
0
def test_rect_section():
    #create materials
    conc = material.Concrete(30)
    steel = material.Steel(500, 200000)

    #define profile
    profile = shape.Rectangle(500, 700)
    bars = [
        #section.Bar(steel,section.Bar.diam_20M, 65),
        #section.Bar(steel,section.Bar.diam_20M, 65),
        #section.Bar(steel,section.Bar.diam_20M, 65),
        #section.Bar(steel,section.Bar.diam_20M, 65),
        section.Bar(steel, section.Bar.diam_30M, 635),
        section.Bar(steel, section.Bar.diam_30M, 635),
        section.Bar(steel, section.Bar.diam_30M, 635),
        section.Bar(steel, section.Bar.diam_30M, 635)
    ]
    sec = section.Section(conc, profile, bars)

    #set material factors
    sec.concrete_factor = 0.65
    sec.steel_factor = 0.85

    #calc peak axial strength
    #print(sec.calc_peak_axial_strength())

    #print MN Chart
    file = open('mn.csv', 'w')

    for M, N in sec.calc_M_N().entries:
        file.write(str(M) + "," + str(N) + "\n")
Пример #2
0
def test_circle_section():
    #create materials
    conc = material.Concrete(40)
    steel = material.Steel(463, 194000)

    #define profile
    profile = shape.Circle(355.6)
    bars = [
        section.Bar(steel, 12.5, 50.00),
        section.Bar(steel, 12.5, 115.25),
        section.Bar(steel, 12.5, 115.25),
        section.Bar(steel, 12.5, 244.75),
        section.Bar(steel, 12.5, 244.75),
        section.Bar(steel, 12.5, 309.50)
    ]
    sec = section.Section(conc, profile, bars)

    #set material factors
    sec.concrete_factor = 1
    sec.steel_factor = 1

    #calc peak axial strength
    #print(sec.calc_peak_axial_strength())

    #print MN Chart
    file = open('mn.csv', 'w')

    for M, N in sec.calc_M_N().entries:
        file.write(str(M) + "," + str(N) + "\n")
Пример #3
0
    def __init__(self,
                 diameter,
                 shaft_area=None,
                 stress_area=None,
                 effective_free_length=None,
                 hole_diameter=None,
                 steel=material.Steel(),
                 prestress_force=None,
                 washer=None):
        """

        :param diameter: in m
        :param shaft_area: shaft area
        :param stress_area: stress area at the thread of the bolt
        :param effective_free_length: free length, i.e., between bottom of grout and top of embedded flange ring
        :param hole_diameter: if not specified, equal to diameter + 6 mm
        :param steel:
        :param prestress_force:
        :param washer: Washer object
        """
        self.diameter = diameter
        self.shaft_area = shaft_area
        self.stress_area = stress_area
        self.effective_free_length = effective_free_length
        self.hole_diameter = diameter + 0.006 if hole_diameter is None else hole_diameter
        self.hole_area = math.pi * self.hole_diameter**2. / 4.
        self.steel = steel
        self.prestress_force = prestress_force
        self.ultimate_prestress_force = steel.fuk * 1e3 * stress_area / 1.1
        self.washer = washer
        if washer is None:
            self.washer = Washer(diameter=diameter + 0.05,
                                 hole_diameter=diameter + 0.01,
                                 thickness=0.01,
                                 steel=steel)
Пример #4
0
 def __init__(self,
              outer_diameter,
              inner_diameter,
              thickness,
              steel=material.Steel()):
     self.set_plate_parameters(outer_diameter, inner_diameter, thickness,
                               steel)
Пример #5
0
 def __init__(self,
              outer_diameter,
              inner_diameter,
              thickness,
              steel=material.Steel(),
              flange_type='T'):
     super(Flange, self).__init__(outer_diameter, inner_diameter, thickness,
                                  steel)
     self.type = flange_type
Пример #6
0
 def set_plate_parameters(self,
                          outer_diameter,
                          inner_diameter,
                          thickness,
                          steel=material.Steel()):
     self.outer_diameter = outer_diameter
     self.inner_diameter = inner_diameter
     self.thickness = thickness
     self.steel = steel
Пример #7
0
 def __init__(self,
              diameter,
              hole_diameter,
              thickness,
              steel=material.Steel()):
     self.diameter = diameter
     self.hole_diameter = hole_diameter
     self.thickness = thickness
     self.steel = steel
Пример #8
0
def test_slab():
    #create materials
    conc = material.Concrete(45)
    steel = material.Steel(420, 200000)

    #define slab with materials and thickness
    s = slab.Slab(conc, steel, 1525)

    #set slab properties
    s.cover_top = 40
    s.cover_bot = 75
    s.aggregate_size = 19
    s.inner_layer = "X"

    #add bars to slab
    #In X: 2X25 @150 TF2 TF4 BF2 BF4
    #In Y: 2X25 @150 TF2 TF4 2X32 @150 BF2 BF4
    s.layers_x_top = [slab.BarLayer([25], 150), slab.BarLayer([25], 150)]
    s.layers_x_bot = [slab.BarLayer([25], 150), slab.BarLayer([25], 150)]

    s.layers_y_top = [slab.BarLayer([25], 150), slab.BarLayer([25], 150)]
    s.layers_y_bot = [slab.BarLayer([32], 150), slab.BarLayer([32], 150)]

    #set concrete factors before updating sections
    s.concrete_factor = 0.65
    s.steel_factor = 0.85

    s.update_sections()

    #output MN Chart
    file = open('mn.csv', 'w')

    MNChart = s.section_x.calc_M_N()

    for M, N in MNChart.entries:
        file.write(str(M) + "," + str(N) + "\n")