コード例 #1
0
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}}
コード例 #2
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']
コード例 #3
0
# 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)])
    
コード例 #4
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',
コード例 #5
0
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',
コード例 #6
0
                                     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',