pytho.hatenablog.com
これを直せなかったのでリニューアル
# -*- coding: utf-8 -*- """ Created on Sat Dec 15 12:32:26 2018 @author: Aoki """ import random import ini #s:steel,c:concrete #corrosion decdist=ini.corr_a*ini.time**ini.corr_b #%% #random thickness thick_upfl=random.gauss(1.00,0.01)*ini.thick_upfl#-decdist thick_web =random.gauss(1.00,0.01)*ini.thick_web#-decdist thick_dwfl=random.gauss(1.00,0.01)*ini.thick_dwfl-decdist deck=random.gauss(1.00,0.01)*ini.deck #%% #calculate area area_upfl=thick_upfl*ini.width_upfl area_web =thick_web*ini.width_web area_dwfl=thick_dwfl*ini.width_dwfl area_s=area_upfl+area_web+area_dwfl area_c=deck*ini.width_deck area_v=area_s+area_c/ini.n #%% #geometrical moment of area G(gm) from up@upfl gm_upfl=thick_upfl/2 gm_web =thick_upfl+ini.width_web/2 gm_dwfl=thick_upfl+ini.width_web+thick_dwfl/2 gm=(area_upfl*gm_upfl+area_web*gm_web+area_dwfl*gm_dwfl)/area_s#guader #%% #geometrical moment of inertia I Ic=ini.width_deck*deck**3/12 Is=(ini.width_upfl*thick_upfl**3+thick_web*ini.width_web**3+ini.width_dwfl*thick_dwfl**3)/12 Is=Is+area_upfl*(gm-gm_upfl)**2+area_web*(abs(gm-gm_web))**2+area_dwfl*(gm_dwfl-gm)**2 ys=thick_upfl+ini.width_web+thick_dwfl-gm #%% #composite dist = deck/2+gm+ini.len_haunch dist_s=area_c*dist/ini.n/area_v dist_c=area_s*dist/area_v+ini.len_haunch Iv=Is+Ic/ini.n+area_s*dist_s**2+area_c*dist_c**2/ini.n yv=thick_upfl+ini.width_web+thick_dwfl+deck/2-dist+dist_s #%% #check if not 0.9<Iv/ini.Iv<1.2: print('Iv error') print(Iv/ini.Iv) if __name__ == '__main__': print(Iv)