예제 #1
0
 def pavement(self):
     bridge_w = self.bridge_inf['bridge'][1] - self.bridge_inf['bridge'][0]
     pave_w = bridge_w - sum(self.barrier[0])
     barrier_f = sum(self.barrier[1]) * 26
     pave_f = bridge_w * self.pave_thickness[
         0] * 26 + pave_w * self.pave_thickness[1] * 24
     fz = -barrier_f - pave_f
     midas1.start_stld('PAVEMENT', self.mct_l)
     midas1.start_beam_load(self.mct_l)
     i_elems = self.elem[self.elem['what'] == 'beam'].index
     midas1.beam_load(i_elems, fz, mct_list=self.mct_l, group='pavement')
예제 #2
0
    def brake_force(self, side=2):
        midas1.start_stld('BRAKE_FORCE', self.mct_l)
        midas1.start_beam_load(self.mct_l)

        bridge_w = self.bridge_inf['bridge'][1] - self.bridge_inf['bridge'][0]
        lane_num = kny_tool.get_lanes_from_w(bridge_w, side=side)
        if side == 2:
            brake_f = lane_num / 2 * 165
        else:
            brake_f = lane_num * 165
        brake_f *= 1 / 30
        brake_elem = self.elem[self.elem['what'] == 'beam'].index
        midas1.beam_load(brake_elem,
                         brake_f,
                         side='X',
                         offset_side='Z',
                         offset_dis=1.2,
                         mct_list=self.mct_l,
                         group='brake_force')
예제 #3
0
    def wind(self, h=5):
        bridge_w = self.bridge_inf['bridge'][1] - self.bridge_inf['bridge'][0]
        wind_beam = wind.BeamWind(0, [bridge_w, 1.6, 14], h, 30)
        beam_f = wind_beam.Fg / 1000
        elem_wind = self.elem[self.elem['what'] == 'beam'].index

        midas1.start_stld('WIND_1', self.mct_l)
        midas1.start_beam_load(self.mct_l)
        midas1.beam_load(elem_wind,
                         beam_f,
                         mct_list=self.mct_l,
                         group='wind_1',
                         side='Y')
        midas1.start_stld('WIND_2', self.mct_l)
        midas1.start_beam_load(self.mct_l)
        midas1.beam_load(elem_wind,
                         -beam_f,
                         mct_list=self.mct_l,
                         group='wind_2',
                         side='Y')