rhino.add_nodes_elements_from_layers(mdl, mesh_type='ShellElement', layers=['elset_wall', 'elset_plinth']) # Sets rhino.add_sets_from_layers(mdl, layers=['nset_fixed']) # Materials mdl.add_materials([ Concrete(name='mat_concrete', fck=40), Steel(name='mat_rebar', fy=500, id='r')]) # Sections mdl.add_sections([ ShellSection(name='sec_wall', t=0.150), ShellSection(name='sec_plinth', t=0.300)]) # Properties reb_plinth = { 'p_u1': {'pos': +0.130, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 0}, 'p_u2': {'pos': +0.120, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 90}, 'p_l2': {'pos': -0.120, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 90}, 'p_l1': {'pos': -0.130, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 0}} reb_wall = { 'w_u1': {'pos': +0.055, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 0}, 'w_u2': {'pos': +0.045, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 90}, 'w_l2': {'pos': -0.045, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 90}, 'w_l1': {'pos': -0.055, 'spacing': 0.100, 'material': 'mat_rebar', 'dia': 0.010, 'angle': 0}}
'struts_mushroom', 'struts_bamboo', 'joints_mushroom', 'joints_bamboo', 'joints_grid' ] rhino.add_nodes_elements_from_layers(mdl, line_type='BeamElement', layers=layers) # Sets rhino.add_sets_from_layers(mdl, layers=['supports_bot', 'supports_top']) # Sections mdl.add_sections([ TrapezoidalSection(name='sec_mushroom', b1=0.001, b2=0.150, h=0.225), RectangularSection(name='sec_bamboo', b=0.020, h=0.100), RectangularSection(name='sec_joints', b=0.020, h=0.075) ]) # Materials fm = [i * 10000 for i in [5, 9, 12, 14, 16, 18, 19, 20, 21, 22]] em = [0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09] mdl.add_materials([ ElasticIsotropic(name='mat_bamboo', E=20 * 10**9, v=0.35, p=1100), ElasticPlastic(name='mat_mushroom', E=5 * 10**6, v=0.30, p=350, f=fm, e=em) ]) # Properties s1 = ['struts_mushroom', 'joints_mushroom']
# Sets layers = ['nset_corners', 'nset_corner1', 'nset_corner2'] rhino.add_sets_from_layers(mdl, layers=layers) # Materials mdl.add_materials([ Concrete(name='mat_concrete', fck=90), Steel(name='mat_steel', fy=355)]) # Sections mdl.add_sections([ ShellSection(name='sec_concrete', t=0.020), TrussSection(name='sec_ties', A=0.0004)]) # Properties mdl.add_element_properties([ Properties(name='ep_concrete', material='mat_concrete', section='sec_concrete', elsets='elset_concrete'), Properties(name='ep_steel', material='mat_steel', section='sec_ties', elsets='elset_ties')]) # Displacements mdl.add_displacements([ RollerDisplacementXY(name='disp_roller', nodes='nset_corners'), PinnedDisplacement(name='disp_pinned', nodes='nset_corner1'), GeneralDisplacement(name='disp_xdof', nodes='nset_corner2', x=0)])
nodes_top = [i for i, c in enumerate(xyz) if c[1] > ymax - 0.01] nodes_bot = [i for i, c in enumerate(xyz) if c[1] < ymin + 0.01] mdl.add_set(name='nset_top', type='node', selection=nodes_top) mdl.add_set(name='nset_bot', type='node', selection=nodes_bot) # Materials mdl.add_materials( [Concrete(name='mat_concrete', fck=90), Steel(name='mat_steel', fy=355)]) # Sections mdl.add_sections([ ShellSection(name='sec_mesh', t=0.004), TrussSection(name='sec_ties', A=0.25 * pi * 0.010**2), RectangularSection(name='sec_ends', b=0.030, h=0.030) ]) # Properties mdl.add_element_properties([ Properties(name='ep_concrete', material='mat_concrete', section='sec_mesh', elsets='elset_mesh'), Properties(name='ep_steel', material='mat_steel', section='sec_ties', elsets='elset_ties'), Properties(name='ep_ends',
blender.add_elset_from_bmeshes(mdl, name='elset_bot_plate', layer=2) blender.add_elset_from_bmeshes(mdl, name='elset_ties', layer=3) blender.add_nset_from_bmeshes(mdl, name='nset_supports', layer=4) blender.add_nset_from_bmeshes(mdl, name='nset_load', layer=5) # Materials mdl.add_materials( [Steel(name='mat_steel', fy=355), Concrete(name='mat_concrete', fck=90)]) # Sections mdl.add_sections([ ShellSection(name='sec_plate', t=0.005), TrussSection(name='sec_tie', A=0.25 * 3.142 * 0.008**2), SolidSection(name='sec_solid') ]) # Properties mdl.add_element_properties([ Properties(name='ep_plates', material='mat_steel', section='sec_plate', elsets=['elset_top_plate', 'elset_bot_plate']), Properties(name='ep_ties', material='mat_steel', section='sec_tie', elsets='elset_ties'), Properties(name='ep_concrete',
layers=layers) # Sets rhino.add_sets_from_layers(mdl, layers=['nset_pins', 'nset_load_v', 'nset_load_h']) # Materials mdl.add_material(Steel(name='mat_steel', fy=355)) # Sections mdl.add_sections([ TrussSection(name='sec_main', A=0.0008), TrussSection(name='sec_diag', A=0.0005), TrussSection(name='sec_stays', A=0.0001) ]) # Properties mdl.add_element_properties([ Properties(name='ep_main', material='mat_steel', section='sec_main', elsets='elset_main'), Properties(name='ep_diag', material='mat_steel', section='sec_diag', elsets='elset_diag'), Properties(name='ep_stays',