#!/usr/bin/env python
from numpy import *
import numpy as np
import math
from mpmath import *
from scipy.optimize import curve_fit
import scipy.integrate
import scipy
import glob
import os.path
import sys
import os
import matplotlib
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
from matplotlib.ticker import MultipleLocator
from matplotlib.ticker import ScalarFormatter
from matplotlib.ticker import NullFormatter
import numpy.ma as ma
import matplotlib.lines as lines
from matplotlib.lines import Line2D

mp.dps = 15; mp.pretty = False;

class nf(float):
	def __repr__(self):
		s = f'{self:.1f}'
		return f'{self:.0f}' if s[-1] == '0' else s
		
def read_reactiveprobabilitydensity(filename):
	lines=[]
	count=0
	f=open(filename,'r')
	lines = f.readlines()
	f.close()

	p=lines[0].split()
	x=np.arange(float(p[1])-(float(p[3])/2.),float(p[2])+float(p[3]),float(p[3]))
	# ~ x=np.arange(float(p[1]),float(p[2]),float(p[3]))
	grid_dx = float(p[3])
	p=lines[1].split()
	y=np.arange(float(p[1])-(float(p[3])/2.),float(p[2])+float(p[3]),float(p[3]))
	# ~ y=np.arange(float(p[1]),float(p[2]),float(p[3]))
	grid_dy = float(p[3])

	z=[]
	for line in lines[2:]:
		p = line.split()
		z.append(float(p[2]))
	z=np.asarray(z)
	sum_ar = np.sum(z)
	i = 0
	for el in z:
		if el == 0:
			z[i] = np.nan
		i+=1
	z_norm = z/(sum_ar*grid_dx*grid_dy)
	return x,y,z_norm
	
def read_reactiveprobabilitydensity_exp(filename1,filename2,filename3,filename4,filename5):
	
	lines=[]
	count=0
	f=open(filename1,'r')
	lines = f.readlines()
	f.close()

	p=lines[0].split()
	x=np.arange(float(p[1])-(float(p[3])/2.),float(p[2])+float(p[3]),float(p[3]))
	# ~ x=np.arange(float(p[1]),float(p[2]),float(p[3]))
	grid_dx = float(p[3])
	p=lines[1].split()
	y=np.arange(float(p[1])-(float(p[3])/2.),float(p[2])+float(p[3]),float(p[3]))
	# ~ y=np.arange(float(p[1]),float(p[2]),float(p[3]))
	grid_dy = float(p[3])

	z1=[]
	for line in lines[2:]:
		p = line.split()
		z1.append(float(p[2]))
	z1=np.asarray(z1)
	
	lines=[]
	count=0
	f=open(filename2,'r')
	lines = f.readlines()
	f.close()
	z2=[]
	for line in lines[2:]:
		p = line.split()
		z2.append(float(p[2]))
	z2=np.asarray(z2)
	
	lines=[]
	count=0
	f=open(filename3,'r')
	lines = f.readlines()
	f.close()
	z3=[]
	for line in lines[2:]:
		p = line.split()
		z3.append(float(p[2]))
	z3=np.asarray(z3)
	
	lines=[]
	count=0
	f=open(filename4,'r')
	lines = f.readlines()
	f.close()
	z4=[]
	for line in lines[2:]:
		p = line.split()
		z4.append(float(p[2]))
	z4=np.asarray(z4)
	
	lines=[]
	count=0
	f=open(filename5,'r')
	lines = f.readlines()
	f.close()
	z5=[]
	for line in lines[2:]:
		p = line.split()
		z5.append(float(p[2]))
	z5=np.asarray(z5)
	
	z_tot = z1+z2+z3+z4+z5
	
	sum_ar = np.sum(z_tot)
	i = 0
	for el in z_tot:
		if el == 0:
			z_tot[i] = np.nan
		i+=1
	z_norm = z_tot/(sum_ar*grid_dx*grid_dy)
	return x,y,z_norm
	
def make_figure1 (x,y,z):
	with PdfPages('fig_tpd1.pdf') as pdf:
		
		fig = plt.figure(figsize=(4.,4),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.15, 0.1, 0.8, 0.8])
		N1=len(x)-1
		N2=len(y)-1
		z = z.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x, y, z.T, cmap=cmap,zorder=0)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.04,-0.04,"R")
		panel.text(-0.95,-0.04,"T")
		panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.04,0.46,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		# ~ plt.text(-1.,0.9,r"$(a)$",fontsize=axislabelfontsize+7)
		
		pdf.savefig(fig)
	return
	
def make_figure2 (x,y,z):
	with PdfPages('fig_tpd2.pdf') as pdf:
		
		fig = plt.figure(figsize=(4.,4),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.15, 0.1, 0.8, 0.8])
		N1=len(x)-1
		N2=len(y)-1
		z = z.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x, y, z.T, cmap=cmap,zorder=0)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='white', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.04,-0.04,"R")
		panel.text(-0.95,-0.04,"T")
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		# ~ plt.text(-1.,0.9,r"$(a)$",fontsize=axislabelfontsize+7)
		
		pdf.savefig(fig)
	return
	
def make_figure3 (x,y,z):
	with PdfPages('fig_tpd3.pdf') as pdf:
		
		fig = plt.figure(figsize=(4.,4),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.15, 0.1, 0.8, 0.8])
		N1=len(x)-1
		N2=len(y)-1
		z = z.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x, y, z.T, cmap=cmap,zorder=0)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.04,-0.04,"R")
		panel.text(-0.95,-0.04,"T")
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		# ~ plt.text(-1.,0.9,r"$(a)$",fontsize=axislabelfontsize+7)
		
		pdf.savefig(fig)
	return
	
def make_figure (x1,y1,z1,x2,y2,z2,x3,y3,z3):
	with PdfPages('fig_tpd_sim.pdf') as pdf:
		
		fig = plt.figure(figsize=(6.,1.8),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.05, 0.19, 0.26, 0.7])
		N1=len(x1)-1
		N2=len(y1)-1
		z1 = z1.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x1, y1, z1.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(a)$",fontsize=axislabelfontsize)
		
		
		panel = fig.add_axes([0.39, 0.19, 0.26, 0.7])
		N1=len(x2)-1
		N2=len(y2)-1
		z2 = z2.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x2, y2, z2.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(b)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.72, 0.19, 0.26, 0.7])
		N1=len(x3)-1
		N2=len(y3)-1
		z3 = z3.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x3, y3, z3.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(c)$",fontsize=axislabelfontsize)
		
		pdf.savefig(fig)
	return
	
def make_figure_exp (x1,y1,z1,x2,y2,z2,x3,y3,z3):
	with PdfPages('fig_tpd_exp.pdf') as pdf:
		
		fig = plt.figure(figsize=(6.,1.8),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.05, 0.19, 0.26, 0.7])
		N1=len(x1)-1
		N2=len(y1)-1
		z1 = z1.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x1, y1, z1.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(a)$",fontsize=axislabelfontsize)
		
		
		panel = fig.add_axes([0.39, 0.19, 0.26, 0.7])
		N1=len(x2)-1
		N2=len(y2)-1
		z2 = z2.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x2, y2, z2.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(b)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.72, 0.19, 0.26, 0.7])
		N1=len(x3)-1
		N2=len(y3)-1
		z3 = z3.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x3, y3, z3.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(c)$",fontsize=axislabelfontsize)
		
		pdf.savefig(fig)
	return
	
def make_figure_circle (x1,y1,z1,x2,y2,z2,x3,y3,z3):
	with PdfPages('fig_tpd_sim_circle.pdf') as pdf:
		
		fig = plt.figure(figsize=(6.,1.8),dpi=600)
		plt.rc('text', usetex=True)
				
		panel = fig.add_axes([0.05, 0.19, 0.26, 0.7])
		N1=len(x1)-1
		N2=len(y1)-1
		z1 = z1.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x1, y1, z1.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(a)$",fontsize=axislabelfontsize)
		
		
		panel = fig.add_axes([0.39, 0.19, 0.26, 0.7])
		N1=len(x2)-1
		N2=len(y2)-1
		z2 = z2.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x2, y2, z2.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(b)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.72, 0.19, 0.26, 0.7])
		N1=len(x3)-1
		N2=len(y3)-1
		z3 = z3.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x3, y3, z3.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/r$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/r$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(c)$",fontsize=axislabelfontsize)
		
		pdf.savefig(fig)
	return
	
def make_figure_final (x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8,x9,y9,z9):
	with PdfPages('Fig2.pdf') as pdf:
		
		fig = plt.figure(figsize=(8.,6.),dpi=600)
		plt.rc('text', usetex=True)
		
		panel = fig.add_axes([0.185, 0.7, 0.235, 0.25])
		N1=len(x4)-1
		N2=len(y4)-1
		z4 = z4.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x4, y4, z4.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(a)$",fontsize=axislabelfontsize)
		panel.text(-3.25,-0.1,r"$\mathrm{Camphor \; disks}$",fontsize=axislabelfontsize+3)
		
		
		panel = fig.add_axes([0.47, 0.7, 0.235, 0.25])
		N1=len(x5)-1
		N2=len(y5)-1
		z5 = z5.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x5, y5, z5.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(b)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.755, 0.7, 0.235, 0.25])
		N1=len(x6)-1
		N2=len(y6)-1
		z6 = z6.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x6, y6, z6.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(c)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.185, 0.38, 0.235, 0.25])
		N1=len(x1)-1
		N2=len(y1)-1
		z1 = z1.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x1, y1, z1.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(d)$",fontsize=axislabelfontsize)
		panel.text(-3.25,-0.1,r"$\mathrm{Standard \; ABP}$",fontsize=axislabelfontsize+3)
		
		
		panel = fig.add_axes([0.47, 0.38, 0.235, 0.25])
		N1=len(x2)-1
		N2=len(y2)-1
		z2 = z2.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x2, y2, z2.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(e)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.755, 0.38, 0.235, 0.25])
		N1=len(x3)-1
		N2=len(y3)-1
		z3 = z3.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x3, y3, z3.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(f)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.185, 0.06, 0.235, 0.25])
		N1=len(x7)-1
		N2=len(y7)-1
		z7 = z7.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x7, y7, z7.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		circle2 = plt.Circle((-0.5, 0), 0.1, color='black', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		panel.text(-0.54,-0.05,"1",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"2")
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(g)$",fontsize=axislabelfontsize)
		panel.text(-3.1,-0.1,r"$\mathrm{Chiral \; ABP}$",fontsize=axislabelfontsize+3)
		
		
		panel = fig.add_axes([0.47, 0.06, 0.235, 0.25])
		N1=len(x8)-1
		N2=len(y8)-1
		z8 = z8.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x8, y8, z8.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='black', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='white', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.05,0.45,"2",fontsize=axislabelfontsize-4)
		# ~ panel.text(0.46,-0.04,"3")
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(h)$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.755, 0.06, 0.235, 0.25])
		N1=len(x9)-1
		N2=len(y9)-1
		z9 = z9.reshape(N1, N2)
		cmap = plt.get_cmap('jet')
		pcm = panel.pcolormesh(x9, y9, z9.T, cmap=cmap,zorder=0,vmax=1.)
		#~ cbar = plt.colorbar(pcm,format=ticker.FuncFormatter(fmt))
		cbar = plt.colorbar(pcm)
		cbar.ax.tick_params(labelsize=axisticslabelfontsize-2)

		panel.tick_params(axis='both',which='both',direction='in',bottom=True,left=True,top=True,right=True)

		panel.set_xlabel(r'$x$',fontsize=axislabelfontsize,labelpad=-7,x=1.,y=0.)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_xlim(-2.,1.9)
		panel.xaxis.set_major_locator(MultipleLocator(1))

		panel.set_ylabel(r'$y$',fontsize=axislabelfontsize,labelpad=-7,x=0.1,y=1.,rotation=0)
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize)
		panel.set_ylim(-2.,1.9)
		panel.yaxis.set_major_locator(MultipleLocator(1))
		
		yt = np.linspace(-0.6,0.6,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='white', fill=False)
		# ~ circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		circle4 = plt.Circle((0.5, 0), 0.1, color='black', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		# ~ panel.add_patch(circle3)
		panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-4)
		panel.text(-0.97,-0.05,"T",fontsize=axislabelfontsize-4)
		# ~ panel.text(-0.54,-0.04,"1")
		# ~ panel.text(-0.54,-0.04,"2")
		panel.text(0.45,-0.05,"3",fontsize=axislabelfontsize-4)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=0)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=-6,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-2)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		plt.text(-1.,0.8,r"$(i)$",fontsize=axislabelfontsize)
		
		pdf.savefig(fig)
	return
	
def global_variables ():
	# setto anche alcune variabili comuni utili per le varie figure
	global axisticslabelfontsize
	global axisticslabelfontsizeinset
	global axislabelfontsize
	global axislabelfontsizeinset
	global legendfontsize
	global lineswidth
	axisticslabelfontsize=9
	axisticslabelfontsizeinset=7
	axislabelfontsize=11
	axislabelfontsizeinset=9
	legendfontsize=11
	lineswidth = 2
	return
		
def main():
	global_variables ()
	x1,y1,z1 = read_reactiveprobabilitydensity('tpd1.dat')
	x2,y2,z2 = read_reactiveprobabilitydensity('tpd2.dat')
	x3,y3,z3 = read_reactiveprobabilitydensity('tpd3.dat')
	# ~ make_figure(x1,y1,z1,x2,y2,z2,x3,y3,z3)
	
	x4,y4,z4 = read_reactiveprobabilitydensity_exp('tpd1_exp1.dat','tpd1_exp2.dat','tpd1_exp3.dat','tpd1_exp4.dat','tpd1_exp5.dat')
	x5,y5,z5 = read_reactiveprobabilitydensity_exp('tpd2_exp1.dat','tpd2_exp2.dat','tpd2_exp3.dat','tpd2_exp4.dat','tpd2_exp5.dat')
	x6,y6,z6 = read_reactiveprobabilitydensity_exp('tpd3_exp1.dat','tpd3_exp2.dat','tpd3_exp3.dat','tpd3_exp4.dat','tpd3_exp5.dat')
	# ~ make_figure_exp(x1,y1,z1,x2,y2,z2,x3,y3,z3)
	
	x7,y7,z7 = read_reactiveprobabilitydensity('tpd1_circle.dat')
	x8,y8,z8 = read_reactiveprobabilitydensity('tpd2_circle.dat')
	x9,y9,z9 = read_reactiveprobabilitydensity('tpd3_circle.dat')
	# ~ make_figure_circle(x1,y1,z1,x2,y2,z2,x3,y3,z3)
	make_figure_final(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8,x9,y9,z9)
	
	
main()
