def test_visit(): import visit VISIT_ARGS = os.environ.get('VISIT_ARGS', ["-nosplash"]) if isinstance(VISIT_ARGS, str): VISIT_ARGS = VISIT_ARGS.split() for arg in VISIT_ARGS: visit.AddArgument(arg) visit.Launch() print "visit is installed in", os.path.dirname(visit.__file__) print "visit version", visit.Version() visit.ResetView() v3D = visit.GetView3D() v3D.SetViewUp(0, 0, 1) v3D.SetViewNormal(-0.5, -0.8, 0.4) v3D.SetImageZoom(1.0) visit.SetView3D(v3D) aa = visit.AnnotationAttributes() aa.SetAxesType(2) # outside edges aa.SetDatabaseInfoFlag(False) aa.SetUserInfoFlag(False) visit.SetAnnotationAttributes(aa) t = visit.CreateAnnotationObject("Text2D") t.SetText("Hello VisIt!") t.SetPosition(0.4, 0.9) # (0,0) is lower left corner t.SetFontFamily(0) # 0: Arial, 1: Courier, 2: Times t.SetWidth(0.25) # 25% t.SetTextColor((0, 0, 0)) t.SetUseForegroundForTextColor(False) t.SetVisible(True) visit.OpenDatabase("tmp_.vtk") visit.AddPlot("Mesh", "scalars") ma = visit.MeshAttributes() visit.SetPlotOptions(ma) visit.AddPlot("Pseudocolor", "scalars") pa = visit.PseudocolorAttributes() visit.SetPlotOptions(pa) visit.RedrawWindow() visit.DrawPlots() wait()
from common import * from scitools.globaldata import DEBUG, VERBOSE from scitools.misc import check_if_module_exists import os import tempfile VISIT_ARGS = os.environ.get('VISIT_ARGS', ["-nosplash"]) if isinstance(VISIT_ARGS, str): VISIT_ARGS = VISIT_ARGS.split() check_if_module_exists('visit', msg='You need to install the VisIt package. Also make sure the visit Python module is in the PYTHONPATH environment variable.', abort=False) import visit for arg in VISIT_ARGS: visit.AddArgument(arg) visit.Launch() class VisitBackend(BaseClass): def __init__(self): BaseClass.__init__(self) self._init() def _init(self, *args, **kwargs): """Perform initialization that is special for this backend.""" self.figure(self.getp('curfig')) self._g.IconifyAllWindows() # conversion tables for format strings:
def queryAndPlot(): SOS = SSOS() print "Initializing SOS..." SOS.init() print "DONE init SOS..." sql_string = """ SELECT MAX(frame) FROM viewCombined WHERE viewCombined.value_name LIKE "lulesh.time" ; """ results, col_names = SOS.query(sql_string, "localhost", os.environ.get("SOS_CMD_PORT")) max_cycle = int(results[0][0]) print "Max cycle: " + str(max_cycle) ##### # # Get the list of field names for non-string values. # sql_string = """ SELECT DISTINCT value_name FROM viewCombined WHERE value_type != 3 AND frame = """ + str(max_cycle) + """ ; """ results, col_names = SOS.query(sql_string, "localhost", os.environ.get("SOS_CMD_PORT")) numeric_fields = dict() numeric_fields['name'] = [el[0] for el in results] name_count = len(numeric_fields['name']) print str(name_count) + " unique names." # ##### filenames = [] for c in range(0, (max_cycle + 1)): print "******* CYCLE " + str(c) + " *********" ##### # # Compose a query with the unique numeric fields as columns: # sql_string = """ """ sql_string += """ SELECT """ sql_string += """ comm_rank """ # sql_string += """,frame """ for field_name in numeric_fields['name']: sql_string += """,GROUP_CONCAT( CASE WHEN """ sql_string += ' value_name LIKE "' + field_name + '" ' sql_string += ' THEN value END) AS "' + field_name + '" ' sql_string += """, GROUP_CONCAT( CASE WHEN """ sql_string += ' value_name LIKE "lulesh.coords" ' sql_string += ' THEN value END) AS "lulesh.coords" ' sql_string += """ FROM viewCombined """ sql_string += " WHERE frame = " + str(c) + " " sql_string += """ GROUP BY """ sql_string += """ comm_rank """ # sql_string += """,frame """ sql_string += """;""" #print "Composite SQL statement: " #print sql_string #print "" #print "Running composite query..." results, col_names = SOS.query(sql_string, "localhost", os.environ.get("SOS_CMD_PORT")) #print "" # # Print out the results: # #print "==========" #for col in col_names: # print str(col) + " " #print "==========" #for row in results: # for col_index in range(len(row)): # print str(col_names[col_index]) + ": " + str(row[col_index]) # print "----------" #print "==========" # ##### ##### # # Build an attribute dictionary of the values. # attr = dict() attr['comm_rank'] = [el[0] for el in results] position = 1 for field_name in numeric_fields['name']: attr[field_name] = [el[position] for el in results] #print str(field_name) + " in position " + str(position) + " = " + str(attr[field_name]) position += 1 res_coords = [el[position] for el in results] #print "lulesh.coords in position " + str(position) + " = " + str(res_coords) for field_name in numeric_fields['name']: rank = 0 for this_ranks_value in attr[field_name]: print "comm_rank(" + str( rank) + ")." + field_name + " = " + this_ranks_value rank += 1 rank_max = len(attr['comm_rank']) coords = list() coords = [el.split() for el in res_coords] #print attr dset = vtk_writer.vtk_hex_data_set() dset.clear() dset.set_cycle(c) for rank in range(rank_max): fields = {} for field_name in numeric_fields['name']: fields[field_name] = attr[field_name][rank] fields["rank"] = rank hex_coords = [None] * 24 xpt = [None] * 8 ypt = [None] * 8 zpt = [None] * 8 cpt = [None] * 8 for i in range(24): hex_coords[i] = float(coords[rank][i]) dset.add_hex(hex_coords, fields, rank) dset.write_vtk_file() filenames.append(dset.get_file_name()) vtk_writer.write_visit_file(filenames) visit.AddArgument("-par") visit.Launch() OpenDatabase("dataset.visit") AddPlot("Pseudocolor", "rank") AddPlot("Mesh", "mesh") DrawPlots() # loop through times tsNames = GetWindowInformation().timeSliders for ts in tsNames: SetActiveTimeSlider(ts) for state in list(range(TimeSliderGetNStates()))[::10] + [0]: SetTimeSliderState(state) print "Setting share_power permissions on the newly created VTK files..." subprocess.call("$PROJECT_BASE/share_power .", shell=True) print "" print "Sleeping for 100 seconds..." print "" time.sleep(100) SOS.finalize() print " ...DONE!" print
# from visit that is Not in system_funcs, must have come from visit # # We need to take this tricky road to circumvent bug #457: import visit doesn't load # the Eval* functions in the visit-namespace ### ### SET UP SCRIPT SO IT CAN RUN ON YOUR MACHINE. THIS WILL CHANGE FROM PLATFORM TO PLATFORM ### AND RELEASE TO RELEASE ### sys.path.insert( 0, "/scratch/brugger1/kickit/visit/2.10.0/linux-x86_64/lib/site-packages") #from visit import * import visit visit.AddArgument("-nowin") visit.AddArgument("-noconfig") # next Launch() VisIt in order to extract other functions: visit.Launch() print >> sys.stderr, "**\n** Running VisIt", visit.Version(), "\n**" for func in dir(visit): # Deprecated if (func == "ConstructDDFAttributes"): continue if (func == "ConstructDDF"): continue if (func == "string"): continue if (func == "sys"): continue
#!/usr/bin/python2.6 #from filter_mover import * import visit from filter_mover import * export_images = True runningSelf = True if sys.argv[0][-3:] == 'cli' or sys.argv[0] == '-': runningSelf = False # if runningSelf: if export_images: visit.AddArgument('-nowin') # visit.Launch() # print "**\n** filtermovie.py: running VisIt", visit.Version(), "\n**" visit.OpenDatabase("2d_filter.visit") visit.AddPlot("Pseudocolor", "filtered_image") pa = visit.PseudocolorAttributes() pa.centering = pa.Nodal pa.minFlag = True pa.min = -0.7 pa.maxFlag = True pa.max = 0.7 visit.SetPlotOptions(pa)