Reads in convergence data either local or remotely via paraview


In [3]:
%pylab inline
from paraview.simple import *

paraview.simple._DisableFirstRenderCameraReset()

import pylab as pl
import math
import numpy as np
from scipy.optimize import curve_fit

remote_data = True

case_names = [ 'C13_2013-04-04-half-m0p5_report.csv', 
               'C13_2013-04-04-half-m0p8_report.csv',
               'C13_2013-04-04-half-m1p1_report.csv',
               'C13_2013-04-04-half-m1p3_report.csv']


Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline].
For more information, type 'help(pylab)'.

In [4]:
from paraview.vtk.dataset_adapter import numpyTovtkDataArray
from paraview.vtk.dataset_adapter import Table

if remote_data:
    #print 'Waiting for remote paraview server connection'
    ReverseConnect('11111')

def residual_plot(file):
    l2norm = CSVReader(FileName=[file])
    l2norm.HaveHeaders = 0
    l2norm.MergeConsecutiveDelimiters = 1
    l2norm.UseStringDelimiter = 0
    l2norm.DetectNumericColumns = 1
    l2norm.FieldDelimiterCharacters = ' '
    l2norm.UpdatePipeline()
    
    l2norm_client = servermanager.Fetch(l2norm) 
    
    table = Table(l2norm_client)
        
    fig = figure(figsize=(25, 10),dpi=100, facecolor='w', edgecolor='k')
    
    #names=('Field 0','Field 1','Field 2','Field 3','Field 4','Field 5')
    
    data = table.RowData
    
    names =  data.keys()
    
    for i in range(1,6):
        ax = fig.add_subplot(2,4,i)
        ax.set_yscale('log')
        ax.grid(True)
        ax.title(file)
        xlabel(names[0])
        ylabel(names[i], multialignment='center')
    
        ax.plot(data[names[0]], data[names[i]], color='r', label=names[i])

for case in case_names:
    residual_plot(case)
        
if remote_data:
    #print 'Disconnecting from remote paraview server connection'
    Disconnect()