示例#1
0
mesh = Mesh.from_json(compas_vibro.get('{0}.json'.format(geometry)))
s = Structure(path, name)

s.add_nodes_elements_from_mesh(mesh, 'ShellElement', elset='shell')

d = FixedDisplacement('boundary', mesh.vertices_on_boundary())
s.add(d)

section = ShellSection('shell_sec', t=.1)
s.add(section)

material = ElasticIsotropic('concrete', E=30e9, v=.2, p=2400)
s.add(material)

el_prop = ElementProperties('concrete_shell',
                            material='concrete',
                            section='shell_sec',
                            elset='shell')
s.add(el_prop)

s.analyze_modal(backend='ansys', fields=['f', 'u'], num_modes=20)
s.to_obj()
v = ModalViewer(s)
v.show()

modes = s.results['modal'].keys()
for mode in modes:
    f = s.results['modal'][mode].frequency
    pf = s.results['modal'][mode].pfact['z']
    em = s.results['modal'][mode].efmass['z']
    print(mode, f, pf, em)
示例#2
0
name = 'opensees_{0}_modal'.format(geometry)

mesh = Mesh.from_json(compas_vibro.get('{0}.json'.format(geometry)))
s = Structure(path, name)

s.add_nodes_elements_from_mesh(mesh, 'ShellElement', elset='shell')

d = FixedDisplacement('boundary', mesh.vertices_on_boundary())
s.add(d)

section = ShellSection('shell_sec', t=.2)
s.add(section)

material = ElasticIsotropic('concrete', E=30e9, v=.2, p=2400)
s.add(material)

el_prop = ElementProperties('concrete_shell',
                            material='concrete',
                            section='shell_sec',
                            elset='shell')
s.add(el_prop)

s.analyze_modal(backend='opensees', fields=['f', 'u'], num_modes=20)
s.to_obj()
v = ModalViewer(s)
v.show()

modes = s.results['modal'].keys()
for mode in modes:
    f = s.results['modal'][mode].frequency
    print(mode, f)