From bad5fe6459f5087ceecbc55c3439efe5785f124f Mon Sep 17 00:00:00 2001 From: Jean-Luc Fattebert Date: Wed, 2 Apr 2025 13:40:23 -0400 Subject: [PATCH] Fix visit scripts to visualize multiple phases --- utils/plotComposition0.py | 71 ++++++++++++++++----------------------- utils/plotPhase.py | 70 +++++++++++++++++++------------------- 2 files changed, 65 insertions(+), 76 deletions(-) diff --git a/utils/plotComposition0.py b/utils/plotComposition0.py index 47b56f93..29cae093 100644 --- a/utils/plotComposition0.py +++ b/utils/plotComposition0.py @@ -9,104 +9,91 @@ # Please also read AMPE/LICENSE. # #usage: -# module load visit/2.13.3 -# export PYTHONPATH=$VISIT_DIR/2.13.3/linux-x86_64/lib/site-packages:$PYTHONPATH -# python plotComposition0.py dumps.visit +# visit -cli -verbose -nowin -o dumps.visit -s plotComposition0.py #note on Windows: # lauch Xming import os import sys -_visit_path = "/software/dev_tools/swtree/cs400_centos7.2_pe2016-08/visit/2.13.3/centos7.5_binary/visit2_13_3.linux-x86_64/2.13.3/linux-x86_64/lib" -sys.path.insert(0, _visit_path) -import visit - -visit.AddArgument("-nowin") -visit.Launch() -visit.DeleteAllPlots() +DeleteAllPlots() if( len(sys.argv)>1 ): db = sys.argv[1] else: db = "dumps.visit" -visit.OpenDatabase(db) +OpenDatabase(db) -visit.HideActivePlots() +HideActivePlots() -visit.DefineScalarExpression( "concentration", -"1.-concentration0" ) -visit.AddPlot( "Pseudocolor", "concentration" ) +#DefineScalarExpression( "concentration","1.-concentration0" ) +AddPlot( "Pseudocolor", "concentration0" ) -annot_atts = visit.AnnotationAttributes() -#default value=1 +annot_atts = AnnotationAttributes() annot_atts.SetLegendInfoFlag( 0 ) annot_atts.SetDatabaseInfoFlag( 0 ) annot_atts.SetUserInfoFlag( 0 ) axes = annot_atts.GetAxes2D() xa = axes.GetXAxis() ya = axes.GetYAxis() -xt = visit.AxisTitles() -yt = visit.AxisTitles() +xt = AxisTitles() +yt = AxisTitles() xt.SetVisible( 0 ) yt.SetVisible( 0 ) xa.SetTitle( xt ) ya.SetTitle( yt ) #remove labels -xl = visit.AxisLabels() +xl = AxisLabels() xl.SetVisible( 0 ) xa.SetLabel( xl ) ya.SetLabel( xl ) -visit.SetAnnotationAttributes( annot_atts ) +SetAnnotationAttributes( annot_atts ) -visit.DrawPlots() +DrawPlots() -visit.Query("SpatialExtents") -pxy = visit.GetQueryOutputValue() +Query("SpatialExtents") +pxy = GetQueryOutputValue() ll = ( pxy[0], pxy[2] ) ur = ( pxy[1], pxy[3]) -p = visit.PseudocolorAttributes() -N = visit.GetDatabaseNStates() +p = PseudocolorAttributes() +N = GetDatabaseNStates() maxval=0. minval=1. for i in range(0,N): - visit.SetTimeSliderState( i ) - visit.Query("MinMax") - mmval=visit.GetQueryOutputValue() + SetTimeSliderState( i ) + Query("MinMax") + mmval=GetQueryOutputValue() minval=min(minval,mmval[0]) maxval=max(maxval,mmval[1]) -minval=0.5 -maxval=0.9 - # Set the min/max values print("MinMax={},{}".format(minval,maxval)) p.min, p.minFlag = minval, 1 p.max, p.maxFlag = maxval, 1 -visit.SetPlotOptions(p) +SetPlotOptions(p) -v0 = visit.View2DAttributes() +v0 = View2DAttributes() v0.SetFullFrameActivationMode( 0 ) v0.SetWindowCoords( (ll[0],ur[0],ll[1],ur[1]) ) -visit.SetView2D( v0 ) +SetView2D( v0 ) -visit.DrawPlots() +DrawPlots() -swa = visit.SaveWindowAttributes() +swa = SaveWindowAttributes() swa.family = swa.PNG swa.family = 0 swa.width = 1280 swa.height = 1280 -visit.SetSaveWindowAttributes( swa ) +SetSaveWindowAttributes( swa ) #plot frames for i in range(0,N): - visit.SetTimeSliderState( i ) + SetTimeSliderState( i ) swa.fileName = "composition_%04d" % i - visit.SetSaveWindowAttributes( swa ) - visit.SaveWindow() - visit.DrawPlots() + SetSaveWindowAttributes( swa ) + SaveWindow() + DrawPlots() sys.exit() diff --git a/utils/plotPhase.py b/utils/plotPhase.py index b9cb3b92..733186d0 100644 --- a/utils/plotPhase.py +++ b/utils/plotPhase.py @@ -9,28 +9,31 @@ # Please also read AMPE/LICENSE. # #usage: -# python plotPhase.py filename +# visit -cli -verbose -nowin -o dumps.visit -s plotPhase.py import os import sys -_visit_path = "/usr/gapps/visit/current/linux-x86_64/lib" -sys.path.insert(0, _visit_path) -import visit - -visit.AddArgument("-nowin") -visit.Launch() -visit.DeleteAllPlots() +DeleteAllPlots() if( len(sys.argv)>1 ): db = sys.argv[1] else: db = "dumps.visit" -visit.OpenDatabase(db) +OpenDatabase(db) -visit.HideActivePlots() -visit.AddPlot( "Pseudocolor", "phase" ) +HideActivePlots() +flag = 1 +i = 0 +while(flag): + fieldname = "phase"+str(i) + print("Try to add field {}".format(fieldname)) + ierr = AddPlot( "Pseudocolor", fieldname ) + if ierr==0: + flag = 0 + else: + i=i+1 -annot_atts = visit.AnnotationAttributes() +annot_atts = AnnotationAttributes() #default value=1 annot_atts.SetLegendInfoFlag( 0 ) annot_atts.SetDatabaseInfoFlag( 0 ) @@ -38,54 +41,53 @@ axes = annot_atts.GetAxes2D() xa = axes.GetXAxis() ya = axes.GetYAxis() -xt = visit.AxisTitles() -yt = visit.AxisTitles() +xt = AxisTitles() +yt = AxisTitles() xt.SetVisible( 0 ) yt.SetVisible( 0 ) xa.SetTitle( xt ) ya.SetTitle( yt ) -visit.SetAnnotationAttributes( annot_atts ) +SetAnnotationAttributes( annot_atts ) -visit.DrawPlots() +DrawPlots() -visit.Query("SpatialExtents") -pxy = visit.GetQueryOutputValue() +Query("SpatialExtents") +pxy = GetQueryOutputValue() ll = ( pxy[0], pxy[2] ) ur = ( pxy[1], pxy[3]) -visit.Query("MinMax") -mmval=visit.GetQueryOutputValue() -print 'MinMax=',mmval +Query("MinMax") +mmval=GetQueryOutputValue() +print ("MinMax={}".format(mmval)) -p = visit.PseudocolorAttributes() +p = PseudocolorAttributes() # Set the min/max values p.min, p.minFlag = 0., 1 p.max, p.maxFlag = 1., 1 -visit.SetPlotOptions(p) +SetPlotOptions(p) -v0 = visit.View2DAttributes() +v0 = View2DAttributes() v0.SetFullFrameActivationMode( 0 ) v0.SetWindowCoords( (ll[0],ur[0],ll[1],ur[1]) ) -visit.SetView2D( v0 ) +SetView2D( v0 ) -visit.DrawPlots() +DrawPlots() -swa = visit.SaveWindowAttributes() +swa = SaveWindowAttributes() swa.family = swa.PNG #swa.family = swa.JPEG swa.family = 0 swa.width = 1280 swa.height = 1280 -visit.SetSaveWindowAttributes( swa ) +SetSaveWindowAttributes( swa ) #plot all frame -N = visit.GetDatabaseNStates() +N = GetDatabaseNStates() for i in range(N): - visit.SetTimeSliderState( i ) + SetTimeSliderState( i ) swa.fileName = "phase_%04d" % i - visit.SetSaveWindowAttributes( swa ) - visit.SaveWindow() - visit.DrawPlots() + SetSaveWindowAttributes( swa ) + SaveWindow() + DrawPlots() sys.exit() -