displacements=displacements, modes=5), ]) mdl.steps_order = ['step_bc', 'step_loads', 'step_buckle'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's'], components=['ux', 'uy', 'uz', 'um', 'smaxp', 'sminp']) rhino.plot_data(mdl, step='step_loads', field='uz', radius=0.01, cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='smaxp', cbar=[0, 1.5 * 10**6], radius=0.01, cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='sminp', cbar=[-5 * 10**6, 0], radius=0.01, cbar_size=0.5) rhino.plot_mode_shapes(mdl, step='step_buckle', scale=0.5, radius=0.001)
]) mdl.steps_order = ['bc', 'loads'] # print(mdl.steps['bc']) # print(mdl.steps['loads']) mdl.summary() mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'cf', 'rf']) print(mdl.get_nodal_results(step='loads', field='rfm', nodes='supports')) # load / show .inp and .odb files # show raw data, discuss methods to extract data rhino.plot_data(mdl, step='loads', field='um', radius=0.1, scale=10, cbar_size=0.3) rhino.plot_data(mdl, step='loads', field='smises', radius=0.1, cbar_size=0.3) rhino.plot_reaction_forces(mdl, step='loads', scale=0.1) rhino.plot_concentrated_forces(mdl, step='loads', scale=0.1) # edit parameters and geometry mdl.save_to_obj() # show in App
mdl.add([ GeneralStep(name='step_bc', displacements=['disp_fixed']), GeneralStep(name='step_loads', loads=['load_gravity', 'load_points']), ]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'sf', 'rbfor']) rhino.plot_data(mdl, step='step_loads', field='um', cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='sf1', cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='sf2', cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='rbfor', iptype='max', nodal='max', cbar_size=0.5) rhino.plot_principal_stresses(mdl, step='step_loads', ptype='max', scale=5) rhino.plot_principal_stresses(mdl, step='step_loads', ptype='min', scale=2) # Plot axes rs.EnableRedraw(False)
# Displacements mdl.add(PinnedDisplacement(name='disp_pinned', nodes='nset_supports')) # Loads mdl.add(PointLoad(name='load_point', nodes='nset_load', z=-1)) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_pinned']), GeneralStep(name='step_load', loads=['load_point']), ]) mdl.steps_order = ['step_bc', 'step_load'] # Structure mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's'], components=['ux', 'uy', 'uz', 'smises']) rhino.plot_data(mdl, step='step_load', field='smises', cbar=[0, 2]) #rhino.plot_voxels(mdl, step='step_load', field='smises', cbar=[0, 2], vdx=1./nz) mdl.save_to_obj()
GeneralStep(name='step_load', loads=['load_point']), ]) mdl.steps_order = ['step_bc', 'step_load'] #------------------------------------------------------------------------------- # Summary mdl.summary() #------------------------------------------------------------------------------- # Run mdl.analyse_and_extract(software='opensees', fields=['u', 'sf', 'sm', 'cf', 'rf']) #mdl.analyse_and_extract(software='abaqus', fields=['u', 'sf', 'cf', 'rf', 's'], components=['ux', 'uy', 'uz', 'rfx', 'rfy', 'rfz', 'cfx', 'cfy', 'cfz', 'sxx', 'syy', 'smises']) #------------------------------------------------------------------------------- rhino.plot_data(mdl, step='step_load', field='uz', radius=0.01, scale=1.0) rhino.plot_data(mdl, step='step_load', field='sf1', radius=0.01, scale=1.0) rhino.plot_data(mdl, step='step_load', field='sf2', radius=0.01, scale=1.0) rhino.plot_data(mdl, step='step_load', field='sf3', radius=0.01, scale=1.0) rhino.plot_reaction_forces(mdl, step='step_load', scale=1.0) rhino.plot_concentrated_forces(mdl, step='step_load', scale=1.0) #------------------------------------------------------------------------------- #rhino.plot_data(mdl, step='step_load', field='uz', radius=0.01, scale=1.0) #rhino.plot_data(mdl, step='step_load', field='sxx', radius=0.01, scale=1.0) #rhino.plot_data(mdl, step='step_load', field='syy', radius=0.01, scale=1.0) #rhino.plot_reaction_forces(mdl, step='step_load', scale=1.0)
s.add_load(GravityLoad(name='load_gravity', elements=['shell'])) # add steps -------------------------------------------------------------------- step = GeneralStep(name='gravity_step', nlgeom=False, displacements=['supports'], loads=['load_gravity'], type='static') s.add_steps([step]) s.steps_order = ['gravity_step'] # analyse ---------------------------------------------------------------------- fields = 'all' s.write_input_file(software='ansys', fields=fields) s.analyse(software='ansys', cpus=4, delete=True) s.extract_data(software='ansys', fields=fields, steps='last') # visualise results ------------------------------------------------------------ rhino.plot_data(s, step='gravity_step', field='uz', scale=100, colorbar_size=0.3) rhino.plot_reaction_forces(s, step='gravity_step', scale=.001)
nodes='nset_left', yy=30 * pi / 180), ]) # Loads mdl.add(PointLoad(name='load_weights', nodes='nset_weights', z=-100)) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_left', 'disp_right']), GeneralStep(name='step_load', loads='load_weights', displacements='disp_rotate'), ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 'ur', 'sf', 'sm']) rhino.plot_data(mdl, step='step_load', field='um', radius=0.01, cbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='sf1', radius=0.01, cbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='sf2', radius=0.01, cbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='sm1', radius=0.01, cbar_size=0.3)
# Summary mdl.summary() # Run (Sofistik) mdl.write_input_file(software='sofistik') # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 'ur', 'sf', 'sm']) rhino.plot_data(mdl, step='step_load', field='um', radius=0.01, colorbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='ury', radius=0.01, colorbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='sfnx', radius=0.01, colorbar_size=0.3) rhino.plot_data(mdl, step='step_load', field='sfvy',
z=-100000)) # Steps mdl.add([ GeneralStep(name='step_bc', displacements='disp_pinned'), GeneralStep(name='step_load', loads='load_top'), ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 'cf', 'rf', 'sf', 's'], ndof=3) rhino.plot_data(mdl, step='step_load', field='um') rhino.plot_data(mdl, step='step_load', field='sxx') # abaqus:sxx opensees:sf1 rhino.plot_reaction_forces(mdl, step='step_load', scale=0.05) rhino.plot_concentrated_forces(mdl, step='step_load', scale=0.05) # Print results print(mdl.get_nodal_results(step='step_load', field='um', nodes='nset_top')) print(mdl.get_nodal_results(step='step_load', field='rfm', nodes='nset_pins')) print(mdl.get_element_results(step='step_load', field='sxx'))
# Loads mdl.add([ GravityLoad(name='load_gravity', elements=['elset_ribs', 'elset_vault']), PrestressLoad(name='load_prestress', elements='elset_ties', sxx=10*10**6), TributaryLoad(mdl, name='load_area', mesh=mesh_from_guid(Mesh(), rs.ObjectsByLayer('load_mesh')[0]), z=-2000), ]) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_edges', 'disp_pinned', 'disp_xdof']), GeneralStep(name='step_loads', loads=['load_gravity', 'load_area'], factor={'load_gravity': 1.35, 'load_area': 1.50}), ]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'cf'], components=['ux', 'uy', 'uz', 'smises', 'cfx', 'cfy', 'cfz']) rhino.plot_data(mdl, step='step_loads', field='uz', radius=0.02, cbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='smises', radius=0.02, cbar_size=0.5, cbar=[0, 5*10**6]) rhino.plot_concentrated_forces(mdl, step='step_loads') mdl.save_to_obj()
bc.append(name) mdl.add_displacement( GeneralDisplacement(name='disp_lift', nodes='lift_points', z=0.250)) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=bc), GeneralStep(name='step_lift', displacements=['disp_lift']) ]) mdl.steps_order = ['step_bc', 'step_lift'] # Summary mdl.summary() # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 'sf', 'sm']) rhino.plot_data(mdl, step='step_lift', field='um', radius=0.005, colorbar_size=0.3) rhino.plot_data(mdl, step='step_lift', field='sfnx', radius=0.005, colorbar_size=0.3)
mdl.add([ PinnedDisplacement(name='disp_left', nodes='nset_left'), PinnedDisplacement(name='disp_right', nodes='nset_right'), ]) # Loads mdl.add(GravityLoad(name='load_gravity', elements='elset_lines')) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_left', 'disp_right']), GeneralStep(name='step_load', loads='load_gravity'), ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 'sf', 'sm', 'rf']) rhino.plot_data(mdl, step='step_load', field='sf1', radius=0.5, cbar_size=10) rhino.plot_data(mdl, step='step_load', field='sf3', radius=0.5, cbar_size=10) rhino.plot_data(mdl, step='step_load', field='sm2', radius=0.5, cbar_size=10) rhino.plot_reaction_forces(mdl, step='step_load', scale=0.02)
# Summary mdl.summary() # Run (Sofistik) mdl.write_input_file(software='sofistik') # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 's']) rhino.plot_data(mdl, step='step_loads', field='um', radius=0.1, scale=10, colorbar_size=0.3) rhino.plot_data(mdl, step='step_loads', field='smises', iptype='max', nodal='max', radius=0.1, colorbar_size=0.3) # Run (OpenSees) mdl.analyse_and_extract(software='opensees', fields=['u', 'sf']) rhino.plot_data(mdl,
mdl.add_displacements([ PinnedDisplacement(name='disp_left', nodes='nset_left'), RollerDisplacementX(name='disp_right', nodes='nset_right'), GeneralDisplacement(name='disp_stability', nodes='nset_stability', y=0), GeneralDisplacement(name='disp_middle', nodes='nset_middle', z=0.200) ]) # Loads mdl.add_load(GravityLoad(name='load_gravity', elements='elset_mesh')) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_left', 'disp_right']), GeneralStep(name='step_load', loads=['load_gravity'], displacements=['disp_middle']) ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 's']) rhino.plot_data(mdl, step='step_load', field='um') rhino.plot_data(mdl, step='step_load', field='smises') # Abaqus results only
components = {} for guid in rs.ObjectsByLayer('nset_loads'): px, py, pz = rs.ObjectName(guid).split(' ') components[mdl.check_node_exists(rs.PointCoordinates(guid))] = {'z': float(pz)*100} mdl.add_load(PointLoads(name='load_points', components=components)) loads = ['load_gravity', 'load_points'] # Steps mdl.add_steps([ GeneralStep(name='step_bc', nlgeom=False, displacements=['disp_fixed']), GeneralStep(name='step_loads', nlgeom=False, loads=loads)]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'rbfor']) rhino.plot_data(mdl, step='step_loads', field='um', colorbar_size=0.3) rhino.plot_data(mdl, step='step_loads', field='smaxp', colorbar_size=0.3) rhino.plot_data(mdl, step='step_loads', field='sminp', colorbar_size=0.3) rhino.plot_data(mdl, step='step_loads', field='rbfor', iptype='max', nodal='max', colorbar_size=0.3) # Run (Sofistik) mdl.write_input_file(software='sofistik')
RollerDisplacementXZ(name='disp_roller', nodes='middle') ]) # Loads mdl.add_load(PointLoad(name='load_middle', nodes='middle', z=-500)) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_pins', 'disp_roller']), GeneralStep(name='step_load', loads=['load_middle']) ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary` mdl.summary() # Run (Sofistik) mdl.write_input_file(software='sofistik') # Run (Abaqus/OpenSees) mdl.analyse_and_extract(software='abaqus', fields=['u', 'spf']) #mdl.analyse_and_extract(software='opensees', fields=['u', 'spf']) rhino.plot_data(mdl, step='step_load', field='um', radius=0.02) rhino.plot_data(mdl, step='step_load', field='spfx', radius=0.02)
mdl.add_load(PointLoad(name='load_point', nodes='nset_load', z=600)) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_fixed']), GeneralStep(name='step_load', loads=['load_point'])]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run (Sofistik) # Note: Sofistik depends on input with correct SI units, model and data must be # converted from lbs and inches. mdl.write_input_file(software='sofistik') # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u']) rhino.plot_data(mdl, step='step_load', field='uz', radius=1) # Run (OpenSees) #mdl.analyse_and_extract(software='opensees', fields=['u']) # #rhino.plot_data(mdl, step='step_load', field='uz', radius=1)
GeneralDisplacement(name='disp_xdof', nodes='nset_corner2', x=0)]) # Loads mesh = mesh_from_guid(Mesh(), rs.ObjectsByLayer('load_mesh')[0]) mdl.add_loads([ GravityLoad(name='load_gravity', elements='elset_concrete'), PrestressLoad(name='load_prestress', elements='elset_ties', sxx=50*10**6), TributaryLoad(mdl, name='load_tributary', mesh=mesh, z=-2000)]) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_roller', 'disp_pinned', 'disp_xdof']), GeneralStep(name='step_prestress', loads=['load_prestress']), GeneralStep(name='step_loads', loads=['load_gravity', 'load_tributary'], factor=1.1)]) mdl.steps_order = ['step_bc', 'step_prestress', 'step_loads'] # Summary mdl.summary() # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 's']) rhino.plot_data(mdl, step='step_prestress', field='uz', radius=0.02, colorbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='uz', radius=0.02, colorbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='smises', radius=0.02, colorbar_size=0.5, cbar=[0, 3*10**6], nodal='max', iptype='max')
mdl.add_loads([ PointLoad(name='load_h', nodes='nset_load_h', x=4000), PointLoad(name='load_v', nodes='nset_load_v', z=-6000), ]) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_pins', 'disp_rollers']), GeneralStep(name='step_loads', loads=['load_h', 'load_v'], iterations=50)]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run (Sofistik) mdl.write_input_file(software='sofistik') # Run (Abaqus/OpenSees) #mdl.analyse_and_extract(software='abaqus', fields=['u', 'ur', 'rf']) mdl.analyse_and_extract(software='opensees', fields=['u', 'ur', 'rf']) rhino.plot_data(mdl, step='step_loads', field='um', scale=50) rhino.plot_data(mdl, step='step_loads', field='urm', scale=50) print(mdl.get_nodal_results(step='step_loads', field='rfx', nodes='nset_pins')) print(mdl.get_nodal_results(step='step_loads', field='rfz', nodes='nset_pins'))
Properties(name='ep_solid_0', material='mat_2', section='sec_solid', elset='elset_blocks_layer_0'), Properties(name='ep_beams', material='mat_3', section='sec_rectangle', elset='elset_beams'), Properties(name='ep_membrane', material='mat_2', section='sec_membrane', elset='elset_membranes', rebar=rebar), ]) # Displacements mdl.add([ PinnedDisplacement(name='disp_pinned', nodes='nset_bot'), RollerDisplacementY(name='disp_roller', nodes='nset_top'), GeneralDisplacement(name='disp_move', nodes='nset_top', y=0.010) ]) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_pinned', 'disp_roller']), GeneralStep(name='step_move', displacements=['disp_move']), ]) mdl.steps_order = ['step_bc', 'step_move'] # Structure mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's'], components=['ux', 'uy', 'uz', 'smises']) rhino.plot_data(mdl, step='step_move', field='smises', radius=0.002)
mdl.steps_order = ['step_bc', 'step_prestress', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 'cf', 's', 'rf']) cbar1 = [-4 * 10**6, 0] cbar2 = [0, 2 * 10**6] rhino.plot_data(mdl, step='step_prestress', field='sminp', cbar=cbar1, radius=0.01) rhino.plot_data(mdl, step='step_prestress', field='smaxp', cbar=cbar2, radius=0.01) rhino.plot_data(mdl, step='step_load', field='sminp', cbar=cbar1, radius=0.01) rhino.plot_data(mdl, step='step_load', field='smaxp', cbar=cbar2, radius=0.01) rhino.plot_data(mdl, step='step_load', field='smises', cbar=cbar2, radius=0.01) rhino.plot_data(mdl, step='step_load', field='um', radius=0.01) rhino.plot_principal_stresses(mdl, step='step_load', ptype='max', scale=1) rhino.plot_principal_stresses(mdl, step='step_load', ptype='min',
# Loads mdl.add_load(GravityLoad(name='load_gravity', elements=layers)) # Steps mdl.add_steps([ GeneralStep(name='step_bc', displacements=['disp_bot', 'disp_top']), GeneralStep(name='step_loads', loads=['load_gravity']) ]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run (Abaqus) mdl.analyse_and_extract(software='abaqus', fields=['u', 'sf']) rhino.plot_data(mdl, step='step_loads', field='um', radius=0.05, colorbar_size=0.5) rhino.plot_data(mdl, step='step_loads', field='sfnx', radius=0.05, colorbar_size=0.5)
material='mat_elastic', section='sec_solid', elset='elset_tets')) # Displacementss mdl.add(PinnedDisplacement(name='disp_pinned', nodes='nset_base')) # Loads mdl.add(PointLoad(name='load_top', nodes='nset_top', y=100, z=100)) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_pinned']), GeneralStep(name='step_load', loads=['load_top']), ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u']) rhino.plot_data(mdl, step='step_load', field='um') #rhino.plot_voxels(mdl, step='step_load', field='um', vdx=0.05)
# Loads mdl.add(GravityLoad(name='gravity', elements='all')) mdl.add(PointLoad(name='load_points', nodes='lpts1', x=0, y=0, z=-1000)) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_pin']), GeneralStep(name='step_load', loads=['gravity', 'load_points']), ]) mdl.steps_order = ['step_bc', 'step_load'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='ansys', fields=['u', 's', 'sp', 'e', 'ss', 'rf'], license='introductory') rhino.plot_data(mdl, step='step_load', field='um', scale=1e4) rhino.plot_data(mdl, step='step_load', field='szt') rhino.plot_data(mdl, step='step_load', field='ps1t') rhino.plot_data(mdl, step='step_load', field='sxzt') rhino.plot_data(mdl, step='step_load', field='e1t') rhino.plot_reaction_forces(mdl, step='step_load', layer=None, scale=1)
ModalStep(name='modal', modes=3), ]) mdl.steps_order = ['bc', 'loads', 'buckling', 'modal'] #print(mdl.steps['bc']) #print(mdl.steps['loads']) #print(mdl.steps['buckling']) #print(mdl.steps['modal']) #mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'rf', 'cf']) rhino.plot_data(mdl, step='loads', field='um') rhino.plot_data(mdl, step='loads', field='smaxp') rhino.plot_data(mdl, step='loads', field='sminp') rhino.plot_reaction_forces(mdl, step='loads', scale=0.1) rhino.plot_concentrated_forces(mdl, step='loads', scale=0.1) rhino.plot_mode_shapes(mdl, step='buckling', layer='buckling-') rhino.plot_mode_shapes(mdl, step='modal', layer='modal-') print(mdl.results['modal']['frequencies']) print(mdl.results['modal']['masses']) print(mdl.results['buckling']['info']) mdl.save_to_obj()
mdl.add([ PointLoad(name='load_v', nodes='nset_load_v', z=-15500), PointLoad(name='load_h', nodes='nset_load_h', x=5000), GravityLoad(name='load_gravity', elements=['elset_diag', 'elset_main']), ]) # Steps mdl.add([ GeneralStep(name='step_bc', displacements=['disp_pinned']), GeneralStep(name='step_loads', loads=['load_v', 'load_h', 'load_gravity'], factor=1.5, increments=300), ]) mdl.steps_order = ['step_bc', 'step_loads'] # Summary mdl.summary() # Run mdl.analyse_and_extract(software='abaqus', fields=['u', 's', 'sf', 'cf', 'rf'], ndof=3) rhino.plot_data(mdl, step='step_loads', field='um', radius=0.1, scale=10, cbar_size=0.3) rhino.plot_data(mdl, step='step_loads', field='sxx', radius=0.1, cbar_size=0.3) # abaqus:sxx opensees:sf1 rhino.plot_reaction_forces(mdl, step='step_loads', scale=0.05) rhino.plot_concentrated_forces(mdl, step='step_loads', scale=0.2) print(mdl.get_nodal_results(step='step_loads', field='um', nodes='nset_load_v')) print(mdl.get_nodal_results(step='step_loads', field='rfm', nodes='nset_pins')) print(mdl.get_element_results(step='step_loads', field='sxx', elements='elset_main'))