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',
示例#3
0
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',
示例#4
0
                                       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',