'cross_section' : frame_props["cross_section"], 'roll': frame_props["roll"], 'loads':{'element':0}, 'prestresses':{'element':0}, 'Le': frame_props["Le"]})] #Format node positions out_nodes = np.array(nodes) #Global Arguments global_args = {'frame3dd_filename': "test", 'length_scaling':1,"using_Frame3dd":False,"debug_plot":True} if global_args["using_Frame3dd"]: frame3dd.write_frame3dd_file(out_nodes, global_args, out_frames, constraints,loads) subprocess.call("/Users/dcellucci/Box\ Sync/KCS_NSTRF/Science/Structure_Work/Frame3DD/src/frame3dd {0}.csv {0}.out".format(global_args["frame3dd_filename"]), shell=True) res_nodes, res_reactions = frame3dd.read_frame3dd_results(global_args["frame3dd_filename"]) res_displace = frame3dd.read_frame3dd_displacements(global_args["frame3dd_filename"]) else: #displace = pfea.analyze_System(out_nodes, global_args, out_frames, constraints,loads) cProfile.run('res_displace,res_reactions = pfea.analyze_System(out_nodes, global_args, out_frames, constraints,loads)') #def_displace = pfea.analyze_System(out_nodes, global_args, def_frames, constraints,loads) #print(res_displace[node_frame_map[int(size_x/2.0)+1][int(size_y/2.0)+1][size_z][4]][2]) #print(res_displace[node_frame_map[int(size_x/2.0)+1][int(size_y/2.0)+1][size_z][4]][2]/(size_z*vox_pitch)) top_f_mag = np.zeros((size_x,size_y,3)) tot_force = 0 print(np.shape(res_reactions)) for i in range(1,size_x+1): for j in range(1,size_y+1): force_vec = res_displace[int(node_frame_map[i][j][size_z][0])]
global_args = { 'frame3dd_filename': "test", 'length_scaling': 1, "using_Frame3dd": False, "debug_plot": True, "gravity": [0, 0, 0] } global_args["node_radius"] = np.zeros( len(nodes)) + 0.05 * frame_props["Le"] if global_args["using_Frame3dd"]: frame3dd.write_frame3dd_file(out_nodes, global_args, out_frames, constraints, loads) subprocess.call("frame3dd {0}.csv {0}.out".format( global_args["frame3dd_filename"]), shell=True) res_nodes, C = frame3dd.read_frame3dd_results( global_args["frame3dd_filename"]) res_displace = frame3dd.read_frame3dd_displacements( global_args["frame3dd_filename"]) else: if notskipping: res_displace, C, Q = pfea.analyze_System( out_nodes, global_args, out_frames, constraints, loads) #cProfile.run('res_displace,C,Q = pfea.analyze_System(out_nodes, global_args, out_frames, constraints,loads)') #def_displace = pfea.analyze_System(out_nodes, global_args, def_frames, constraints,loads) #else: #print("skipping") tot_force = 0 tot_disp = 0 num_forced = 0
'loads':{'element':0}, 'prestresses':{'element':0}, 'Le': frame_props["Le"], 'beam_divisions': 1})] #Format node positions out_nodes = np.array(nodes) #Global Arguments global_args = {'frame3dd_filename': "test",'length_scaling':1,"using_Frame3dd":False,"debug_plot":True,"gravity" : [0,0,0]} global_args["node_radius"] = np.zeros(len(nodes))+0.05*frame_props["Le"] if global_args["using_Frame3dd"]: frame3dd.write_frame3dd_file(out_nodes, global_args, out_frames, constraints,loads) subprocess.call("frame3dd {0}.csv {0}.out".format(global_args["frame3dd_filename"]), shell=True) res_nodes, C = frame3dd.read_frame3dd_results(global_args["frame3dd_filename"]) res_displace = frame3dd.read_frame3dd_displacements(global_args["frame3dd_filename"]) else: if notskipping: res_displace,C,Q = pfea.analyze_System(out_nodes, global_args, out_frames, constraints,loads) #cProfile.run('res_displace,C,Q = pfea.analyze_System(out_nodes, global_args, out_frames, constraints,loads)') #def_displace = pfea.analyze_System(out_nodes, global_args, def_frames, constraints,loads) #else: #print("skipping") tot_force = 0 tot_disp = 0 num_forced = 0 xdim = np.max(nodes.T[0])-np.min(nodes.T[0]) ydim = np.max(nodes.T[1])-np.min(nodes.T[1])