from compas_fea.structure import ModalStep # Author(s): Andrew Liew (github.com/andrewliew) mdl = Structure(name='example_shell', path='C:/Temp/') rhino.add_nodes_elements_from_layers(mdl, mesh_type='ShellElement', layers='mesh') rhino.add_sets_from_layers(mdl, layers=['loads', 'supports', 'area']) #print(mdl.sets['loads']) #print(mdl.sets['supports']) #print(mdl.sets['area']) mdl.add(Concrete(name='concrete', fck=50)) #print(mdl.materials['concrete']) mdl.add(ShellSection(name='shell', t=0.100)) #print(mdl.sections['shell']) mdl.add( ElementProperties(name='ep', material='concrete', section='shell', elset='mesh')) #print(mdl.element_properties['ep'])
blender.add_nodes_elements_from_layers(mdl, layers=0, mesh_type='ShellElement') blender.add_nodes_elements_from_layers(mdl, layers=1, line_type='TrussElement') # Sets blender.add_elset_from_bmeshes(mdl, layer=0, name='elset_concrete') blender.add_elset_from_bmeshes(mdl, layer=1, name='elset_ties') blender.add_nset_from_objects(mdl, layer=3, name='nset_corners') blender.add_nset_from_objects(mdl, layer=4, name='nset_corner1') blender.add_nset_from_objects(mdl, layer=5, name='nset_corner2') # 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',
rhino.add_nodes_elements_from_layers(mdl, mesh_type='ShellElement', layers=['elset_mesh', 'elset_plates']) rhino.add_nodes_elements_from_layers(mdl, line_type='TrussElement', layers=['elset_tie']) # Sets rhino.add_sets_from_layers(mdl, layers=['nset_pin', 'nset_roller']) # Materials mdl.add([ Concrete(name='mat_concrete', fck=50), Steel(name='mat_steel', fy=460), ]) # Sections mdl.add([ ShellSection(name='sec_planar', t=0.050), TrussSection(name='sec_tie', A=0.0001), ]) # Properties mdl.add([ Properties(name='ep_planar', material='mat_concrete',
layers='elset_floor', mesh_type='ShellElement') blender.add_nodes_elements_from_layers(mdl, layers='elset_ties', line_type='TrussElement') # Sets blender.add_nsets_from_layers(mdl, layers=['nset_corner1', 'nset_corner2']) edges = [i for i in mdl.nodes if mdl.nodes[i].z < 0.001] mdl.add_set(name='nset_edges', type='node', selection=edges) # Materials mdl.add([ Concrete(name='mat_concrete', fck=90, fr=[1.16, 0.15]), Steel(name='mat_steel', fy=355), ]) # Sections mdl.add([ ShellSection(name='sec_floor', t=0.050), TrussSection(name='sec_ties', A=pi * 0.25 * 0.030**2), ]) # Properties mdl.add([ Properties(name='ep_floor', material='mat_concrete',