load = PointLoad(name='pload', nodes=[10, 15], x=0, y=0, z=1, xx=0, yy=0, zz=0) s.add(load) # add sections - - - - - - - - - - - - section = ShellSection('shell_sec', t=.1) s.add(section) # add material - - - - - - material = ElasticIsotropic('concrete', E=30e9, v=.2, p=2400) s.add(material) # add element properties - - - - - - - - - el_prop = ElementProperties('concrete_shell', material='concrete', section='shell_sec', elset='shell') s.add(el_prop) # add analysis frequencies - - - - - - - - freq_list = range(100, 500, 2) # analyze - - - - s.analyze_harmonic(freq_list, fields=['u'], backend='opensees') # save results - - - - - - s.to_obj() v = HarmonicViewer(s) v.scale = 1e6 v.show()
# add loads - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - load = PointLoad(name='pload', nodes=[100], x=0, y=0, z=1, xx=0, yy=0, zz=0) s.add(load) # add sections - - - - - - - - - - - - section = ShellSection('shell_sec', t=.1) s.add(section) # add material - - - - - - material = ElasticIsotropic('concrete', E=30e9, v=.2, p=2400) s.add(material) # add element properties - - - - - - - - - el_prop = ElementProperties('concrete_shell', material='concrete', section='shell_sec', elset='shell') s.add(el_prop) # add analysis frequencies - - - - - - - - freq_list = range(20, 200, 2) # analyze - - - - s.analyze_harmonic(freq_list, fields=['u'], backend='ansys') # save results - - - - - - s.to_obj() v = HarmonicViewer(s) v.show()