Ejemplo n.º 1
0
 def _html(self, precision=2):
     yield '摩擦桩单桩竖向受拉承载力计算'
     yield self.formatx('L', digits=precision)
     yield self.formatx('u', digits=precision)
     yield self.formatx('Ap', digits=precision)
     yield '地质资料:'
     t = []
     qik = self.para_attrs('qik')
     t.append([
         '地层编号', '地层名称(m)', '地层厚度(m)',
         '{}({})'.format(qik.symbol, qik.unit)
     ])
     for i in range(len(self.li)):
         t.append([i, self.layers[i], self.li[i], self.qik[i]])
     yield html.table2html(t)
     eq = '0.3·u·∑αi·qik·li'
     yield self.format('Rt', eq=eq, digits=precision)
     yield self.format('R0', digits=precision)
     ok = self.Rt > self.R
     yield '{} {} {}, {}满足规范要求。'.format(
         self.format('R', digits=precision), '<' if ok else '>',
         self.format('Rt', digits=precision, omit_name=True),
         '' if ok else '不')
     # if ok:
     #     yield '(安全系数{:.2f})'.format(self.K)
     return
Ejemplo n.º 2
0
 def _html(self, precision=2):
     yield '按嵌岩桩计算桩基竖向承载力'
     yield self.format('L', digits=None)
     yield self.format('u', digits=precision)
     yield self.format('Ap', digits=precision)
     yield '地质资料:'
     t = []
     t.append(('地层编号', '地层名称(m)', '地层厚度(m)', 'q<sub>ik</sub>(kPa)',
               'f<sub>rk</sub>(kPa)'))
     for i in range(len(self.li)):
         t.append((i, self.layers[i], self.li[i], self.qik[i], self.frk[i]))
     yield html.table2html(t)
     yield self.format('c1', precision)
     yield self.format('ζs', precision)
     eq = 'c1·Ap·frk+u·∑<i>c</i><sub>2i</sub>·<i>h</i><sub>i</sub>·<i>f</i><sub>rki</sub>+0.5·ζs·u·∑qik·li'
     if self.option:
         yield self.format('Nn',
                           eq='u·∑<i>q</i><sub>ni</sub>·li',
                           digits=precision)
         eq += ' - Nn'
     yield self.format('Ra', eq=eq, digits=precision)
     yield self.format('R0', digits=None)
     ra = self.para_attrs('Ra')
     ok = self.Ra > self.R
     yield '{} {} {}, {}满足规范要求。'.format(
         self.format('R', digits=precision), '&le;' if ok else '&gt;',
         self.format('Ra', digits=precision, omit_name=True),
         '' if ok else '不')
     return
Ejemplo n.º 3
0
 def _html(self, digits=2):
     for para in self.inputs:
         yield self.format(para, digits=None)
     yield self.format('b',digits)
     yield '{}{}{}'.format(
         self.format('a_', digits),
         '&gt;' if self.overlaped else '&le;',
         self.format('d', digits, omit_name=True)
         )
     yield '跨中垂直于板跨方向相邻车轮分布宽度范围{}重叠。'.format('' if self.overlaped else '不')
     yield '支承处垂直于板跨方向的荷载分布宽度按单轮计算。'
     yield '垂直于板跨方向的荷载分布宽度:'
     t = []
     t.append(['距板跨端部的距离(m)', '荷载分布宽度(m)'])
     for item in self.a:
         t.append(item)
     yield html.table2html(t, digits, True)
     yield '{}{}{}'.format(
         self.format('ac_', digits, eq='(a1+2*h)+2*lc'),
         '&gt;' if self.overlaped_c else '&le;',
         self.format('d', digits, omit_name=True)
         )
     yield '悬臂端垂直于板跨方向相邻车轮分布宽度范围{}重叠,故{}。'.format(
         '' if self.overlaped_c else '不',
         self.format('a_c', digits, omit_name=True)
         )
Ejemplo n.º 4
0
 def _html(self,digits=2):
     if self.code == 'GB':
         pass
     elif self.code == 'JTG':
         pass
     elif self.code == 'TB':
         yield '<h2>偏心受压构件验算</h2><p>《铁路桥涵混凝土结构设计规范》(TB 10092-2017)</p>'
         for key in self.tables:
             yield '<h3>{}</h3>'.format(key)
             yield html.table2html(self.tables[key],digits)
Ejemplo n.º 5
0
 def html(self, digits=2):
     tables = {}
     th = []
     titles = ['计算位置', '计算方法', 't', 'bs', 'ε1', 'fced', 'Cid', 'Ciu', 'Tid', 'Tiu']
     for title in titles:
         try:
             attr = self.para_attrs(title)
             s = '{} {} {}'.format(
                 attr.name, attr.symbol,
                 '' if attr.unit == '' else '({})'.format(attr.unit)
                 )
             th.append(s)
         except:
             th.append(title)
     for o in ['x', 'y']:
         tb = []
         tb.append(th)
         Rst = self.Rstx if o == 'x' else self.Rsty
         if len(Rst) < 1:
             continue
         for rst in Rst:
             row = []
             for item in rst:
                 row.append(item)
             tb.append(row)
         tables[o] = tb
     doc = '<div>'
     doc += '<p>(1)承台承载力</p>'
     doc += '<p>{}</p>'.format(self.format('Fd'))
     doc += '<p>{}</p>'.format(self.format('Mxd'))
     doc += '<p>{}</p>'.format(self.format('Myd'))
     for key in tables:
         doc += '{}方向'.format(key)
         doc += html.table2html(tables[key], digits, True)            
     doc += '</div>'
     # 
     if len(self.fc_beams) > 0:
         for fc in self.fc_beams:
             doc += '<div>{}</div>'.format(fc.html())
     # 柱或墩台向下冲切
     doc += '<p>(2)柱或墩台向下冲切</p>'
     if self.punching_capacity_down:
         doc += '<div>{}</div>'.format(self.punching_capacity_down.html())
     # 角桩或边桩向上冲切
     doc += '<p>(3)角桩或边桩向上冲切</p>'
     if self.punching_capacity_ups:
         for pcu in self.punching_capacity_ups:
             doc += '<div>{}</div>'.format(pcu.html())
     return doc
Ejemplo n.º 6
0
 def _html(self, digits=2):
     for param in ('α', 'μ', 'Δt', 'xsp'):
         yield self.format(param, digits)
     tb = []
     rh = ['墩(台)号']
     for i in range(len(self.xs)):
         rh.append(i)
     tb.append(rh)
     for param in ('xs', 'fixeds', 'kb', 'kp', 'ks', 'Ws', 'move_status',
                   'Fs'):
         attr = self.para_attrs(param)
         chname = attr.name if attr.unit == '' else '{}({})'.format(
             attr.name, attr.unit)
         tb.append([chname] + getattr(self, param))
     yield html.table2html(tb, digits)
Ejemplo n.º 7
0
 def _html(self, digits=2):
     for param in self.inputs:
         yield self.format(param)
     yield self.format('α', eq='(m*b1/E/I)<sup>0.2</sup>')
     if self.αh <= 2.5:
         yield '{} &le; 2.5, 不满足适用条件,计算结果仅供参考。'.format(
             self.format('αh', omit_name=True))
     yield self.format('kh', eq='C0/(α*E)*I0/I')
     for param in ('δHH', 'δHM', 'δMH', 'δMM'):
         yield self.format(param)
     yield self.format('x0', eq='H0*δHH+M0*δHM')
     yield self.format('φ0', eq='-(H0*δMH+M0*δMM)')
     yield '{} ({})'.format(self.format('Mmax'),
                            self.format('z_Mmax', omit_name=True))
     yield '{} ({})'.format(self.format('Qmax'),
                            self.format('z_Qmax', omit_name=True))
     t = self.Forces
     t.insert(0, ['桩深(m)', '弯矩M', '剪力Q'])
     yield html.table2html(t, digits)
Ejemplo n.º 8
0
 def _html(self, precision=2):
     yield '按摩擦桩计算桩基竖向承载力'
     yield self.formatx('L', digits=precision)
     yield self.formatx('u', digits=precision)
     yield self.formatx('Ap', digits=precision)
     yield '地质资料:'
     t = []
     qik = self.para_attrs('qik')
     fa0 = self.para_attrs('fa0')
     t.append([
         '地层编号', '地层名称(m)', '地层厚度(m)',
         '{}({})'.format(qik.symbol,
                         qik.unit), '{}({})'.format(fa0.symbol, fa0.unit)
     ])
     for i in range(len(self.li)):
         t.append([i, self.layers[i], self.li[i], self.qik[i], self.fa0[i]])
     yield html.table2html(t)
     yield '系数:'
     yield self.format('m0', digits=None)
     yield self.format('λ', digits=None)
     yield self.format('k2', digits=None)
     yield self.format('γ2', digits=None)
     yield self.format('h', precision)
     yield self.format('qr', digits=precision, eq='m0·λ·(fa0+k2·γ2·(h-3))')
     eq = '0.5·u·∑qik·li+Ap·qr'
     if self.option:
         yield self.format('Nn',
                           eq='u·∑<i>q</i><sub>ni</sub>·li',
                           digits=precision)
         eq += ' - Nn'
     yield self.format('Ra', eq=eq, digits=precision)
     yield self.format('R0', digits=precision)
     ok = self.Ra > self.R
     yield self.format_conclusion(
         ok, self.format('R', digits=precision), '&lt;' if ok else '&gt;',
         self.format('Ra', digits=precision, omit_name=True),
         '{}满足规范要求。'.format('' if ok else '不'))
     if ok:
         yield '承载力富余量{:.1f}%。'.format((self.K - 1) * 100)
     return