Findng the RT Instability growth rate

  • First load the database into visit
  • create a vector expression called gradrho which is 'gradient(rho)'
  • create a scalar expression called gradrhoy which is 'gradrho[1]'
  • make a pseudocolor plot for gradrhoy
  • make slice(s) along y axis. (So for a 3D data set this would be 2 slice operators: orthogonal to x with 50 percent first — yz plane, orthogonal to z with 50 percent then — xy plane, or vice versa. Also make sure unmark 'Project to 2D' )
  • Then perform a 'max' query using the 'actual data' (not the 'original data')
    • This will spit out the maximum value of the gradient as well as the position.
  • You could advance the time slider and repeat the query - but this is tedious so instead you can
    • clear the query results
    • Open the command dialog (from Control menu)
    • copy and paste the following script
      for state in range(TimeSliderGetNStates()):
        SetTimeSliderState(state)
        Query('max', use_actual_data=1)
      
    • execute the script
  • At this point the query dialog should have the location of the peak density gradient for each frame. Copy all the printed lines like this one:
VisIt: Message - 
gradrhoy -- Max = 21.989 (zone 4584 in patch level3,patch7 at coord <0.151042, 0.5, 0.1>)

Save this to a file and name the file visit_grepped.txt

  • Now you can clean up the data using the following bash one-liner

sed 's/</ /g' visit_grepped.txt | sed 's/>)/ /g' | sed 's/,/ /g' | awk '{print .1*(NR-1), $15}' > data.out

Where we have used the awk expression .1*(NR-1) to calculate the time for each frame assuming each frame is .1 computational time units apart.

  • Then in gnuplot you can load the data and fit it to any function you please… However you may want to also trim the data file so that you only have points during the linear growth phase.
  • Then in gnuplot
     g(x)=a+b*exp(c*x) 
     fit g(x) './data.out' via a,b,c
     plot g(x), 'data.out'
    

Comments

No comments.