diff --git a/Fig2_Functions.m b/Fig2_Functions.m new file mode 100644 index 0000000..9fc4d32 --- /dev/null +++ b/Fig2_Functions.m @@ -0,0 +1,36 @@ +function out = Fig1_Functions +out{1} = @init; +out{2} = @fun_eval; +out{3} = []; +out{4} = []; +out{5} = []; +out{6} = []; +out{7} = []; +out{8} = []; +out{9} = []; + +% -------------------------------------------------------------------------- +function dydt = fun_eval(t,y,b,gma,n,RT,delta) +dydt=[(b+gma*y(1)^n/(1+y(1)^n))*(RT-y(1)) - delta*y(1);(b+gma*y(2)^n/(1+y(2)^n))*(RT-y(1)) - delta*y(2);]; + +% -------------------------------------------------------------------------- +function [tspan,y0,options] = init +handles = feval(PosFeedMutInhib); +y0=[0]; +options = odeset('Jacobian',[],'JacobianP',[],'Hessians',[],'HessiansP',[]); +tspan = [0 10]; + +% -------------------------------------------------------------------------- +function jac = jacobian(t,y,b,gma,n,RT,delta) +% -------------------------------------------------------------------------- +function jacp = jacobianp(t,y,b,gma,n,RT,delta) +% -------------------------------------------------------------------------- +function hess = hessians(t,y,b,gma,n,RT,delta) +% -------------------------------------------------------------------------- +function hessp = hessiansp(t,y,b,gma,n,RT,delta) +%--------------------------------------------------------------------------- +function Tension3 = der3(t,y,b,gma,n,RT,delta) +%--------------------------------------------------------------------------- +function Tension4 = der4(t,y,b,gma,n,RT,delta) +%--------------------------------------------------------------------------- +function Tension5 = der5(t,y,b,gma,n,RT,delta) diff --git a/Fig2a_driver.m b/Fig2a_driver.m new file mode 100644 index 0000000..0200ecd --- /dev/null +++ b/Fig2a_driver.m @@ -0,0 +1,323 @@ +bettercolors; + +global cds sys + +sys.gui.pausespecial=0; %Pause at special points +sys.gui.pausenever=1; %Pause never +sys.gui.pauseeachpoint=0; %Pause at each point + +syshandle=@Fig2_Functions; %Specify system file + +SubFunHandles=feval(syshandle); %Get function handles from system file +RHShandle=SubFunHandles{2}; %Get function handle for ODE + +b = 0.01; +gma = 5; +n = 6; +RT = 2; +delta = 2; + +local = 1; +codim = 1; + +xinit=[0;0]; %Set ODE initial condition + +%Specify ODE function with ODE parameters set +RHS_no_param=@(t,x)RHShandle(t,x,b,gma,n,RT,delta); + +%Set ODE integrator parameters. +options=odeset; +options=odeset(options,'RelTol',1e-8); +options=odeset(options,'maxstep',1e-2); + +%Integrate until a steady state is found. +[tout xout]=ode45(RHS_no_param,[0,200],xinit,options); + +xinit=xout(size(xout,1),:); + +pvec=[b,gma,n,RT,delta]'; % Initialize parameter vector + +ap=1; + +[x0,v0]=init_EP_EP(syshandle, xinit', pvec, ap); %Initialize equilibrium + + +opt=contset; +opt=contset(opt,'MaxNumPoints',1500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',.01); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.01); %Set Initial stepsize + +[x1,v1,s1,h1,f1]=cont(@equilibrium,x0,v0,opt); + +opt=contset(opt,'backward',1); +[x1b,v1b,s1b,h1b,f1b]=cont(@equilibrium,x0,v0,opt); + + +if local == 1 +%% LOCAL BRANCHES + +ind = 2; +xBP=x1(1:2,s1(ind).index); %Extract branch point +pvec(ap)=x1(3,s1(ind).index); %Extract branch point +[x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.05); +opt=contset(opt,'backward',1); +[x3b,v3b,s3b,h3b,f3b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +opt = contset(opt,'backward',0); +[x3,v3,s3,h3,f3]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +ind = 7; +xBP=x1(1:2,s1(ind).index); %Extract branch point +pvec(ap)=x1(3,s1(ind).index); %Extract branch point +[x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.05); +opt = contset(opt,'backward',1); +[x4b,v4b,s4b,h4b,f4b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +opt = contset(opt,'backward',0); +[x4,v4,s4,h4,f4]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +end +% CODIM 1 plots + + +width=5.2/2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; +f = figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); +Fig2a = subplot(1,1,1); +xlabel(Fig2a,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +ylabel(Fig2a,{'$R^\ell$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +Fig2aTitle = title(Fig2a,{'(a)'},'FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica'); +set(Fig2a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +grid +Fig2a.XLim = [0 4]; +Fig2a.YLim = [0 5]; +Fig2a.Box = 'on'; +set(gca,'LineWidth',1.5) +hold on + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%GLOBAL curves +curves = {'1','1b'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(1,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + plotcolor='k'; + + plotstr=strcat(plotcolor,plotsty); + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Linewidth',3) + hold on + end +end + +if local == 1 +%%%LOCAL +curves = {'3','3b'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(2,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + mycolor = highcontrast(2,:); + plotstr=plotsty; + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Color',mycolor,'Linewidth',2) + hold on + end +end + +end + +opt=contset; +opt=contset(opt,'MaxNumPoints',5500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',1); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.5); %Set Initial stepsize +aps = [1,5]; +%%%WP +ind = 4; +xtmp = x3(1:end-1,s3(ind).index); +pvec(ap) = x3(end,s3(ind).index); +[x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x5,v5,s5,h5,f5] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x5b,v5b,s5b,h5b,f5b] = cont(@limitpoint,x0,v0,opt); + +ind = 5 +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x6,v6,s6,h6,f6] = cont(@limitpoint,x0,v0,opt); + opt = contset(opt,'backward',1); +[x6b,v6b,s6b,h6b,f6b] = cont(@limitpoint,x0,v0,opt); + +%BPs +ind = 2; +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x7,v7,s7,h7,f7] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x7b,v7b,s7b,h7b,f7b] = cont(@limitpoint,x0,v0,opt); + +ind = 8; +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x8,v8,s8,h8,f8] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x8b,v8b,s8b,h8b,f8b] = cont(@limitpoint,x0,v0,opt); + +%%% +close 1 + +width=5.2/2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; + +figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); + +Fig1b = subplot(1,1,1); +xlabel(Fig1b,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica','color','k') + +% Fig1bTitle = title(Fig1b,{'(b)'},'FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica'); +set(Fig1b,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +hold on +grid +Fig1b.XLim = [0 6]; +Fig1b.YLim = [0 10]; +Fig1b.Box = 'on'; +Fig1b.XColor = 'k'; +Fig1b.YColor = 'k'; +ylabel({'$\delta$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica','color','k') +set(gca,'LineWidth',1.5) +curves = {'5','6','7','8'}; + +linecolor(5) = {highcontrast(2,:)}; +linecolor(6) = {highcontrast(2,:)}; +linecolor(7) = {highcontrast(3,:)}; +linecolor(8) = {highcontrast(3,:)}; + + +linestyle(5) = {'-'}; +linestyle(6) = {'-'}; +linestyle(7) = {'--'}; +linestyle(8) = {'--'}; + +for i = 5:8 + xeqcurve=eval(['x' num2str(i)]); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) + xeqcurve = eval(['x' num2str(i) 'b']); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) +end + +scatter(0.1,7.5,'ko','filled') +text(0.1,7.5,' (b)','FontSize',fontsize,'FontName','Helvetica') + +scatter(0.1,3,'ko','filled') +text(0.1,3,' (d)','FontSize',fontsize,'FontName','Helvetica') + +scatter(4.5,3,'ko','filled') +text(4.5,3,' (e)','FontSize',fontsize,'FontName','Helvetica') + +scatter(4.5,7.5,'ko','filled') +text(4.5,7.5,' (c)','FontSize',fontsize,'FontName','Helvetica') + + +print(1,'2a','-depsc') diff --git a/Fig2b-e.py b/Fig2b-e.py new file mode 100644 index 0000000..3aa3695 --- /dev/null +++ b/Fig2b-e.py @@ -0,0 +1,210 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + u = y[::2] + v = y[1::2] + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[::2] + dvdt = dydt[1::2] + + #this is neumann: + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + Du * (-2.0*u[0] + 2.0*u[1]) / dx**2 + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + Du * np.diff(u,2) / dx**2 + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + Du * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + Dv * (-2.0*v[0] + 2.0*v[1]) / dx**2 + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + Dv * np.diff(v,2) / dx**2 + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + Dv * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 + + dydt[::2] = dudt + dydt[1::2] = dvdt + + return dydt + +# %% +# %%time +L = 1 +N = 1000 +x = np.linspace(0, L, N) +dx = 1/N +T = 100 +M = 1000 +print(M) +t = np.linspace(0, T, M) + + +b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 +Du = 0.01 +Dv = 10 + +print(dx**2/2*Dv) +dt = T/M +print(dt) + +width = 0.1 +height = 5 +u0 = np.zeros(N) +u0[x > 1-width] = height +# u0ic = 0.05645 +# u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-width*height)*np.ones(np.size(x)) +y0 = np.zeros(2*N) +y0[::2] = u0 +y0[1::2] = v0 + +# NON POLAR LOW RAC +b = 0.1 +delta = 7.5 +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx), ml=2, mu=2) + +u = sol[:,::2] +v = sol[:,1::2] + +plt.figure() +plt.pcolormesh(u) +plt.colorbar() + +fig = plt.figure("fig1",figsize=(4,2.6)) +ax = plt.subplot(221) +ax.set_xlim(0,1) +ax.set_ylim(-0.1,2.1) +ax.grid(linewidth=1.5) +# line_ic, = ax.plot(x,u[0,:],':',linewidth=4,color=(221/255,170/255,51/255),label=r'IC') +line_ss, = ax.plot(x,u[-1,:],linewidth=4,color=(221/255,170/255,51/255),label=r'Steady-state') +ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax.spines["left"].set_linewidth(1.5) +ax.spines["top"].set_linewidth(1.5) +ax.spines["right"].set_linewidth(1.5) +ax.spines["bottom"].set_linewidth(1.5) + +# POLARIZABLE +b = 0.1 +delta = 3 +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx), ml=2, mu=2) + +u = sol[:,::2] +v = sol[:,1::2] + +ax = plt.subplot(223) +ax.set_xlim(0,1) +ax.set_ylim(-0.1,2.1) +ax.grid(linewidth=1.5) +# line_ic, = ax.plot(x,u[0,:],':',linewidth=4,color=(221/255,170/255,51/255),label=r'IC') +line_ss, = ax.plot(x,u[-1,:],linewidth=4,color=(221/255,170/255,51/255),label=r'Steady-state') +ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax.spines["left"].set_linewidth(1.5) +ax.spines["top"].set_linewidth(1.5) +ax.spines["right"].set_linewidth(1.5) +ax.spines["bottom"].set_linewidth(1.5) + +#TURING REGIME +b = 4.5 +delta = 7.5 + +width = 0.1 +height = 2 +u0ic = 1 +u0 = u0ic*np.ones(np.size(x))+0.1*np.sin(4*np.pi*x) +v0 = (RT-1)*np.ones(np.size(x)) +y0 = np.zeros(2*N) +y0[::2] = u0 +y0[1::2] = v0 + +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx), ml=2, mu=2) + +u = sol[:,::2] +v = sol[:,1::2] + +ax = plt.subplot(222) +ax.set_xlim(0,1) +ax.set_ylim(-0.1,2.1) +ax.grid(linewidth=1.5) +# line_ic, = ax.plot(x,u[0,:],':',linewidth=4,color=(221/255,170/255,51/255),label=r'IC') +line_ss, = ax.plot(x,u[-1,:],linewidth=4,color=(221/255,170/255,51/255),label=r'Steady-state') +ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax.spines["left"].set_linewidth(1.5) +ax.spines["top"].set_linewidth(1.5) +ax.spines["right"].set_linewidth(1.5) +ax.spines["bottom"].set_linewidth(1.5) + +#HIGH RAC, NON POLAR +b = 4.5 +delta = 3 +width = 0.1 +height = 5 +u0 = np.zeros(N) +u0[x > 1-width] = height +# u0ic = 0.05645 +# u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-width*height)*np.ones(np.size(x)) +y0 = np.zeros(2*N) +y0[::2] = u0 +y0[1::2] = v0 +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx), ml=2, mu=2) + +u = sol[:,::2] +v = sol[:,1::2] + +ax = plt.subplot(224) +ax.set_xlim(0,1) +ax.set_ylim(-0.1,2.1) +ax.grid(linewidth=1.5) +# line_ic, = ax.plot(x,u[0,:],':',linewidth=4,color=(221/255,170/255,51/255),label=r'IC') +line_ss, = ax.plot(x,u[-1,:],linewidth=4,color=(221/255,170/255,51/255),label=r'Steady-state') +ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax.spines["left"].set_linewidth(1.5) +ax.spines["top"].set_linewidth(1.5) +ax.spines["right"].set_linewidth(1.5) +ax.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +plt.savefig('Fig2b.tiff',dpi=1200) +plt.show() + + +# %% +# check mass conservation +print(np.sum(dx*(u[0,:] + v[0,:]))) +print(np.sum(dx*(u[-1,:] + v[-1,:]))) +mass = [] +for i in range(len(t)): + mass.append(np.sum(dx*(u[i,:] + v[i,:]))) + +fig = plt.figure("fig2",figsize=(4,3)) +ax1 = plt.subplot(111) +plt.plot(t,mass,linewidth=4) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$t$') +ax1.set_ylabel(r'$\int_\Omega R + R_i \, dx$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +plt.tight_layout() +# plt.savefig('Fig1.png',dpi=600) +plt.show() diff --git a/Fig3a.m b/Fig3a.m new file mode 100644 index 0000000..f44b2d8 --- /dev/null +++ b/Fig3a.m @@ -0,0 +1,325 @@ +bettercolors; + +global cds sys + +sys.gui.pausespecial=0; %Pause at special points +sys.gui.pausenever=1; %Pause never +sys.gui.pauseeachpoint=0; %Pause at each point + +syshandle=@Fig2_Functions; %Specify system file + +SubFunHandles=feval(syshandle); %Get function handles from system file +RHShandle=SubFunHandles{2}; %Get function handle for ODE + +b = 0.01; +gma = 5; +n = 6; +RT = 2; +delta = 2; + +local = 1; +codim = 1; + +xinit=[0;0]; %Set ODE initial condition + +%Specify ODE function with ODE parameters set +RHS_no_param=@(t,x)RHShandle(t,x,b,gma,n,RT,delta); + +%Set ODE integrator parameters. +options=odeset; +options=odeset(options,'RelTol',1e-8); +options=odeset(options,'maxstep',1e-2); + +%Integrate until a steady state is found. +[tout xout]=ode45(RHS_no_param,[0,200],xinit,options); + +xinit=xout(size(xout,1),:); + +pvec=[b,gma,n,RT,delta]'; % Initialize parameter vector + +ap=1; + +[x0,v0]=init_EP_EP(syshandle, xinit', pvec, ap); %Initialize equilibrium + + +opt=contset; +opt=contset(opt,'MaxNumPoints',1500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',.01); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.01); %Set Initial stepsize + +[x1,v1,s1,h1,f1]=cont(@equilibrium,x0,v0,opt); + +opt=contset(opt,'backward',1); +[x1b,v1b,s1b,h1b,f1b]=cont(@equilibrium,x0,v0,opt); + + +if local == 1 +%% LOCAL BRANCHES + +ind = 2; +xBP=x1(1:2,s1(ind).index); %Extract branch point +pvec(ap)=x1(3,s1(ind).index); %Extract branch point +[x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.05); +opt=contset(opt,'backward',1); +[x3b,v3b,s3b,h3b,f3b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +opt = contset(opt,'backward',0); +[x3,v3,s3,h3,f3]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +ind = 7; +xBP=x1(1:2,s1(ind).index); %Extract branch point +pvec(ap)=x1(3,s1(ind).index); %Extract branch point +[x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.05); +opt = contset(opt,'backward',1); +[x4b,v4b,s4b,h4b,f4b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +opt = contset(opt,'backward',0); +[x4,v4,s4,h4,f4]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +end +% CODIM 1 plots + + +width=5.2/2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 12; +f = figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); +Fig2a = subplot(1,1,1); +xlabel(Fig2a,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +ylabel(Fig2a,{'$R^\ell$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +Fig2aTitle = title(Fig2a,{'(a)'},'FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Times'); +set(Fig2a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Times') +grid +Fig2a.XLim = [0 4]; +Fig2a.YLim = [0 5]; +Fig2a.Box = 'on'; +set(gca,'LineWidth',1.5) +hold on + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%GLOBAL curves +curves = {'1','1b'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(1,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + plotcolor='k'; + + plotstr=strcat(plotcolor,plotsty); + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Linewidth',3) + hold on + end +end + +if local == 1 +%%%LOCAL +curves = {'3','3b'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(2,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + mycolor = highcontrast(2,:); + plotstr=plotsty; + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Color',mycolor,'Linewidth',2) + hold on + end +end + +end + +opt=contset; +opt=contset(opt,'MaxNumPoints',5500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',1); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.5); %Set Initial stepsize +aps = [1,5]; +%%%WP +ind = 4; +xtmp = x3(1:end-1,s3(ind).index); +pvec(ap) = x3(end,s3(ind).index); +[x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x5,v5,s5,h5,f5] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x5b,v5b,s5b,h5b,f5b] = cont(@limitpoint,x0,v0,opt); + +ind = 5 +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x6,v6,s6,h6,f6] = cont(@limitpoint,x0,v0,opt); + opt = contset(opt,'backward',1); +[x6b,v6b,s6b,h6b,f6b] = cont(@limitpoint,x0,v0,opt); + +%BPs +ind = 2; +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x7,v7,s7,h7,f7] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x7b,v7b,s7b,h7b,f7b] = cont(@limitpoint,x0,v0,opt); + +ind = 8; +xtmp = x3b(1:end-1,s3b(ind).index); +pvec(ap) = x3b(end,s3b(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x8,v8,s8,h8,f8] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x8b,v8b,s8b,h8b,f8b] = cont(@limitpoint,x0,v0,opt); + +%%% +close 1 + +width=5.2/2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; + +figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); + +Fig1b = subplot(1,1,1); +xlabel(Fig1b,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica','color','k') + +% Fig1bTitle = title(Fig1b,{'(b)'},'FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica'); +set(Fig1b,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +hold on +grid +Fig1b.XLim = [0 6]; +Fig1b.YLim = [0 10]; +Fig1b.Box = 'on'; +Fig1b.XColor = 'k'; +Fig1b.YColor = 'k'; +ylabel({'$\delta$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica','color','k') +set(gca,'LineWidth',1.5) +curves = {'5','6','7','8'}; + +linecolor(5) = {highcontrast(2,:)}; +linecolor(6) = {highcontrast(2,:)}; +linecolor(7) = {highcontrast(3,:)}; +linecolor(8) = {highcontrast(3,:)}; + + +linestyle(5) = {'-'}; +linestyle(6) = {'-'}; +linestyle(7) = {'--'}; +linestyle(8) = {'--'}; + +for i = 5:8 + xeqcurve=eval(['x' num2str(i)]); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) + xeqcurve = eval(['x' num2str(i) 'b']); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) +end + +% scatter(0.1,7,'ko','filled') +% % text(0.1,7,' (b)') +% +% scatter(0.1,3,'ko','filled') +% % text(0.1,3,' (c)') +% +% scatter(4.5,6,'ko','filled') +% % text(4.5,6,' (d)') +% +% scatter(4.5,3,'ko','filled') +% text(4.5,3,' (e)') +quiver(0.1,3,4.4,0,0,'k','LineWidth',3) +quiver(4.5,3,0,4.5,0,'k','LineWidth',3) + +% print(1,'3a','-depsc') +print(1,'3a.eps','-depsc','-painters') diff --git a/Fig3b.py b/Fig3b.py new file mode 100644 index 0000000..6ce873e --- /dev/null +++ b/Fig3b.py @@ -0,0 +1,181 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + u = y[::2] + v = y[1::2] + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[::2] + dvdt = dydt[1::2] + + if (t>50) & (t<=100): + # b = b + 4/50*(t-50) + b = 4.5 + elif (t>100) & (t<=250): + b = 4.5 + delta = delta+4.5/150*(t-100) + elif t>250: + b = 4.5 + delta = delta+4.5/150*(250-100) + + #this is neumann: + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + Du * (-2.0*u[0] + 2.0*u[1]) / dx**2 + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + Du * np.diff(u,2) / dx**2 + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + Du * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + Dv * (-2.0*v[0] + 2.0*v[1]) / dx**2 + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + Dv * np.diff(v,2) / dx**2 + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + Dv * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 + + dydt[::2] = dudt + dydt[1::2] = dvdt + + return dydt + +# %% +# %%time +L = 1 +N = 1000 +x = np.linspace(0, L, N) +dx = 1/N +T = 500 +M = 2500 +t = np.linspace(0, T, M) + +b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 +Du = 0.01 +Dv = 10 + +# width = 0.1 +# height = 2 +# u0 = np.zeros(N) +# u0[x > 1-width] = height +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) +y0 = np.zeros(2*N) +y0[::2] = u0 +y0[1::2] = v0 + +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx), ml=2, mu=2) + +# %% + +u = sol[:,::2] +v = sol[:,1::2] + +fig = plt.figure("fig1",figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +pmesh = plt.pcolormesh(x,t,u,cmap=cm.hot) +cbar = fig.colorbar(pmesh,ax=ax1) +plt.axhline(y=50,linestyle='--',linewidth=2,color='0.5') +plt.axhline(y=100,linestyle='--',linewidth=2,color='0.5') +plt.axhline(y=250,linestyle='--',linewidth=2,color='0.5') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) + +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +plt.savefig('Fig3b.tiff',dpi=1200) +plt.show() + + +# %% +# check mass conservation +print(np.sum(dx*(u[0,:] + v[0,:]))) +print(np.sum(dx*(u[-1,:] + v[-1,:]))) +mass = [] +for i in range(len(t)): + mass.append(np.sum(dx*(u[i,:] + v[i,:]))) + +fig = plt.figure("fig2",figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +plt.plot(t,mass,linewidth=2) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$t$') +ax1.set_ylabel(r'$\int_\Omega R + R_i \, dx$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +plt.tight_layout() +plt.savefig('Fig3bmass.tiff') +plt.show() + + +#%% +#animated plot +import matplotlib.animation as animation +fig = plt.figure(figsize=(4,3)) +ax = plt.subplot(111) +ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax.set_xlabel(r'$x$') +ax.set_ylabel('Activity') +ax.spines["left"].set_linewidth(1.5) +ax.spines["top"].set_linewidth(1.5) +ax.spines["right"].set_linewidth(1.5) +ax.spines["bottom"].set_linewidth(1.5) +ax.set_xlim(0,1) +ax.set_ylim(0,2) +ax.grid(linewidth=1.5) +title = plt.title(r'$b$=%1.2f, $\delta$=%1.2f' %(b, delta)) +line_u, = ax.plot(x,u[0,:],linewidth=4,color=(221/255,170/255,51/255),label=r'$R$') +# line_v, = ax.plot(x,v[0,:],'--',linewidth=2,color=(0/255,68/255,136/255),label=r'$R_i$') +plt.legend(loc=2) +plt.tight_layout() + +bvals = np.zeros(np.shape(t)) +deltavals = np.zeros(np.shape(t)) +for i in range(len(t)): + ti = t[i] + if (ti>50) & (ti<=100): + # bvals[i] = b + 4/50*(ti-50) + bvals[i] = 4.5 + deltavals[i] = delta + elif (ti>100) & (ti<=250): + bvals[i] = 4.5 + deltavals[i] = delta+4.5/150*(ti-100) + elif ti>250: + bvals[i] = 4.5 + deltavals[i] = delta+4.5/150*(250-100) + else: + bvals[i] = b + deltavals[i] = delta + +def animate(i): + title.set_text(r'$t$=%1.2f, $b$=%1.2f, $\delta$=%1.2f' %(t[i],bvals[i], deltavals[i])) + line_u.set_ydata(u[i,:]) + # line_v.set_ydata(v[i,:]) + return line_u, title #line_v, title + +ani = animation.FuncAnimation(fig,animate,frames=M) +ani.save("Movie 1.mp4",fps=30,dpi=300) diff --git a/Fig4b.py b/Fig4b.py new file mode 100644 index 0000000..afb4829 --- /dev/null +++ b/Fig4b.py @@ -0,0 +1,255 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm +import scipy.io + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def F(R): + sharp = 10 + switch = 1 + magnitude = 0.001 + return magnitude/(1+np.exp(-2*sharp*(R-switch))) + +def xmdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (spring*(xp-xm-1) - F(u[0]))/viscosity + +def xpdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (-spring*(xp-xm-1) + F(u[-1]))/viscosity + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + #the ode for L is stored at the end of y + u = y[0:-2:2] + v = y[1:-2:2] + xm = y[-2] + xp = y[-1] + + l = xp-xm + + if (t>50): + b = 4 + + delta = 3 + 1*(l-1) + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[0:-2:2] + dvdt = dydt[1:-2:2] + dxmdt = dydt[-2] + dxpdt = dydt[-1] + + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[0] + 2.0*u[1]) / dx**2 - u[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * np.diff(u,2) / dx**2 - u[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 - u[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[0] + 2.0*v[1]) / dx**2 - v[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * np.diff(v,2) / dx**2 - v[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 - v[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dxmdt = xmdot(u,v,xm,xp,t) + dxpdt = xpdot(u,v,xm,xp,t) + + dydt[0:-2:2] = dudt + dydt[1:-2:2] = dvdt + dydt[-2] = dxmdt + dydt[-1] = dxpdt + + return dydt + +# %% +# %%time +L = 1 +N = 1000 +x = np.linspace(0, L, N) +dx = 1/N +T = 1000 +M = 2500 +t = np.linspace(0, T, M) + +b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 +Du = 0.01 +Dv = 10 + +#b = 0.1 steadystate +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) + +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 + + +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) + +# %% + +u = sol[:,0:-2:2] +v = sol[:,1:-2:2] +xm = sol[:,-2] +xp = sol[:,-1] +l = xp - xm + +scipy.io.savemat('data.mat',dict(t=t,l=l,u=u)) + +# %% +fig = plt.figure("fig1",figsize=(5.2,2.6)) +ax1 = plt.subplot(121) +pmesh = plt.pcolormesh(x,t,u,cmap=cm.hot) +cbar = fig.colorbar(pmesh,ax=ax1) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$\bar x$') +ax1.set_ylabel(r'$t$') +ax1.set_title(r'$R(\bar x,t)$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + +ax2 = plt.subplot(122) +pmesh =plt.pcolormesh(x,t,v,cmap=cm.hot) +ax2.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +cbar = fig.colorbar(pmesh,ax=ax2) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax2.set_xlabel(r'$\bar x$') +ax2.set_ylabel(r'$t$') +ax2.set_title(r'$R_i(\bar x,t)$') +ax2.spines["left"].set_linewidth(1.5) +ax2.spines["top"].set_linewidth(1.5) +ax2.spines["right"].set_linewidth(1.5) +ax2.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +plt.savefig('Fig14_fixed.png',dpi=1200) +plt.show() + +# %% +Xgrid, Tgrid = np.meshgrid(x,t) +Xgrid = np.empty_like(Xgrid) +for i in range(len(t)): + Xgrid[i,:] = x*l[i]+xm[i] +# %% + +fig = plt.figure("fig1",figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +pmesh = plt.pcolormesh(Xgrid,Tgrid,u,cmap=cm.hot,vmin=0,vmax=2) +cbar = fig.colorbar(pmesh,ax=ax1) +xmline = plt.plot(xm,t,linewidth=1.5,color='k') +xpline = plt.plot(xp,t,linewidth=1.5,color='k') +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax1.set_xlabel(r'$x$') +# ax1.set_ylabel(r'$t$') +# ax1.set_title(r'$R(x,t)$') +ax1.set_facecolor((0.7,0.7,0.7)) +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +plt.savefig('Polar.tiff',dpi=1200) +# plt.savefig('Fig14_moving.eps') +plt.show() +#%% +# +fig = plt.figure(figsize=(4,3)) +plt.plot(t,l) +plt.savefig('length_3b.tif') +# plt.plot(t,delta) + +# %% +# check mass conservation +print(np.sum(dx*l[0]*(u[0,:] + v[0,:]))) +print(np.sum(dx*l[-1]*(u[-1,:] + v[-1,:]))) +mass = [] +for i in range(len(t)): + mass.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + +fig = plt.figure("fig2",figsize=(4,3)) +ax1 = plt.subplot(111) +plt.plot(t,mass,linewidth=2) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$t$') +ax1.set_ylabel(r'$\int_\Omega R + R_i \, dx$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +plt.tight_layout() +# plt.savefig('Fig14mass.png',dpi=1200) +plt.show() + +# #%% +# # animated plot + +movieon = 1 +if movieon == 1: + import matplotlib.animation as animation + fig = plt.figure(figsize=(4,3)) + ax = plt.subplot(111) + ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) + ax.set_xlabel(r'$x$') + ax.set_ylabel('Activity') + ax.spines["left"].set_linewidth(1.5) + ax.spines["top"].set_linewidth(1.5) + ax.spines["right"].set_linewidth(1.5) + ax.spines["bottom"].set_linewidth(1.5) + ax.set_xlim(np.min(Xgrid),np.max(Xgrid)) + ax.set_ylim(0,np.max(u)+0.5) + ax.grid(linewidth=1.5) + # title = plt.title(r'$b$=%1.2f, $\delta$=%1.2f' %(b, delta)) + line_u, = ax.plot(Xgrid[0,:],u[0,:],linewidth=4,color=(221/255,170/255,51/255),label=r'$R$') + # line_v, = ax.plot(Xgrid[0,:],v[0,:],'--',linewidth=2,color=(0/255,68/255,136/255),label=r'$R_i$') + plt.legend(loc=2) + vertline = ax.axvline(Xgrid[0,-1],ls='-',color='k') + vertline2 = ax.axvline(Xgrid[0,0],ls='-',color='k') + plt.tight_layout() + + def animate(i): + # title.set_text(r'$b$=%1.2f, $\delta$=%1.2f' %(bvals[i], deltavals[i])) + line_u.set_xdata(Xgrid[i,:]) + # line_v.set_xdata(Xgrid[i,:]) + line_u.set_ydata(u[i,:]) + # line_v.set_ydata(v[i,:]) + vertline.set_xdata(Xgrid[i,-1]) + vertline2.set_xdata(Xgrid[i,0]) + return line_u, vertline, vertline2 + + ani = animation.FuncAnimation(fig,animate,frames=M) + ani.save("Movie 2.mp4",fps=30,dpi=300) diff --git a/Fig4c.py b/Fig4c.py new file mode 100644 index 0000000..2c46aa3 --- /dev/null +++ b/Fig4c.py @@ -0,0 +1,269 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm +import scipy.io + + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def F(R): + sharp = 10 + switch = 1 + magnitude = 0.001 + return magnitude/(1+np.exp(-2*sharp*(R-switch))) + +def xmdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (spring*(xp-xm-1) - F(u[0]))/viscosity + +def xpdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (-spring*(xp-xm-1) + F(u[-1]))/viscosity + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + #the ode for L is stored at the end of y + u = y[0:-2:2] + v = y[1:-2:2] + xm = y[-2] + xp = y[-1] + + l = xp-xm + + if (t>50): + b = 1.5 + + delta = 3 + 1*(l-1) + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[0:-2:2] + dvdt = dydt[1:-2:2] + dxmdt = dydt[-2] + dxpdt = dydt[-1] + + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[0] + 2.0*u[1]) / dx**2 - u[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * np.diff(u,2) / dx**2 - u[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 - u[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[0] + 2.0*v[1]) / dx**2 - v[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * np.diff(v,2) / dx**2 - v[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 - v[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dxmdt = xmdot(u,v,xm,xp,t) + dxpdt = xpdot(u,v,xm,xp,t) + + dydt[0:-2:2] = dudt + dydt[1:-2:2] = dvdt + dydt[-2] = dxmdt + dydt[-1] = dxpdt + + return dydt + +# %% +# %%time +L = 1 +N = 1000 +x = np.linspace(0, L, N) +dx = 1/N +T = 5000 +M = 2500 +t = np.linspace(0, T, M) + +b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 + +Du = 0.01 +Dv = 10 + +#polarized ic +# width = 0.1 +# height = 2 +# u0 = np.zeros(N) +# u0[x > 1-width] = height +# v0 = (RT-width*height)*np.ones(np.size(x)) + +#b = 0.1 steadystate +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) + +# u0ic = RT +# u0 = u0ic*np.ones(np.size(x)) +# v0 = (RT-u0ic)*np.ones(np.size(x)) + + +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 + + +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) + +# %% + +u = sol[:,0:-2:2] +v = sol[:,1:-2:2] +xm = sol[:,-2] +xp = sol[:,-1] +l = xp - xm + +scipy.io.savemat('data.mat',dict(t=t,l=l,u=u)) +# %% + +fig = plt.figure("fig1",figsize=(5.2,2.6)) +ax1 = plt.subplot(121) +pmesh = plt.pcolormesh(x,t,u,cmap=cm.hot) +cbar = fig.colorbar(pmesh,ax=ax1) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$\bar x$') +ax1.set_ylabel(r'$t$') +ax1.set_title(r'$R(\bar x,t)$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + +ax2 = plt.subplot(122) +pmesh =plt.pcolormesh(x,t,v,cmap=cm.hot) +ax2.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +cbar = fig.colorbar(pmesh,ax=ax2) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax2.set_xlabel(r'$\bar x$') +ax2.set_ylabel(r'$t$') +ax2.set_title(r'$R_i(\bar x,t)$') +ax2.spines["left"].set_linewidth(1.5) +ax2.spines["top"].set_linewidth(1.5) +ax2.spines["right"].set_linewidth(1.5) +ax2.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +# plt.savefig('Fig13_fixed.png',dpi=1200) +plt.show() + +# %% +fig = plt.figure(figsize=(4,3)) +plt.plot(t,l) +plt.savefig('length_4c.tif') + +# %% +Xgrid, Tgrid = np.meshgrid(x,t) +Xgrid = np.empty_like(Xgrid) +for i in range(len(t)): + Xgrid[i,:] = x*l[i]+xm[i] + +fig = plt.figure("fig1",figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +pmesh = plt.pcolormesh(Xgrid,Tgrid,u,cmap=cm.hot,vmin=0,vmax=2) +cbar = fig.colorbar(pmesh,ax=ax1) +xmline = plt.plot(xm,t,linewidth=1.5,color='k') +xpline = plt.plot(xp,t,linewidth=1.5,color='k') + +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) + +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax1.set_xlabel(r'$x$') +# ax1.set_ylabel(r'$t$') +# ax1.set_title(r'$R(x,t)$') +ax1.set_facecolor((0.7,0.7,0.7)) +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +# + +plt.tight_layout() +plt.savefig('oscillation.tiff',dpi=1200) +# plt.savefig('Fig14_moving.eps') +plt.show() + +# %% +# check mass conservation +print(np.sum(dx*l[0]*(u[0,:] + v[0,:]))) +print(np.sum(dx*l[-1]*(u[-1,:] + v[-1,:]))) +mass = [] +for i in range(len(t)): + mass.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + +fig = plt.figure("fig2",figsize=(4,3)) +ax1 = plt.subplot(111) +plt.plot(t,mass,linewidth=2) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$t$') +ax1.set_ylabel(r'$\int_\Omega R + R_i \, dx$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +plt.tight_layout() +plt.savefig('mass_4c.png',dpi=1200) +plt.show() +# +# #%% +# # animated plot +movieon = 1 +if movieon == 1: + import matplotlib.animation as animation + fig = plt.figure(figsize=(4,3)) + ax = plt.subplot(111) + ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) + ax.set_xlabel(r'$x$') + ax.set_ylabel('Activity') + ax.spines["left"].set_linewidth(1.5) + ax.spines["top"].set_linewidth(1.5) + ax.spines["right"].set_linewidth(1.5) + ax.spines["bottom"].set_linewidth(1.5) + ax.set_xlim(np.min(Xgrid),np.max(Xgrid)) + ax.set_ylim(0,np.max(u)+0.5) + ax.grid(linewidth=1.5) + # title = plt.title(r'$b$=%1.2f, $\delta$=%1.2f' %(b, delta)) + line_u, = ax.plot(Xgrid[0,:],u[0,:],linewidth=4,color=(221/255,170/255,51/255),label=r'$R$') + # line_v, = ax.plot(Xgrid[0,:],v[0,:],'--',linewidth=2,color=(0/255,68/255,136/255),label=r'$R_i$') + plt.legend(loc=2) + vertline = ax.axvline(Xgrid[0,-1],ls='-',color='k') + vertline2 = ax.axvline(Xgrid[0,0],ls='-',color='k') + plt.tight_layout() + + def animate(i): + # title.set_text(r'$b$=%1.2f, $\delta$=%1.2f' %(bvals[i], deltavals[i])) + line_u.set_xdata(Xgrid[i,:]) + # line_v.set_xdata(Xgrid[i,:]) + line_u.set_ydata(u[i,:]) + # line_v.set_ydata(v[i,:]) + vertline.set_xdata(Xgrid[i,-1]) + vertline2.set_xdata(Xgrid[i,0]) + return line_u, vertline, vertline2 + + ani = animation.FuncAnimation(fig,animate,frames=M) +ani.save("Movie 3.mp4",fps=30,dpi=300) diff --git a/Fig5/0.5_data.mat b/Fig5/0.5_data.mat new file mode 100644 index 0000000..8204f94 Binary files /dev/null and b/Fig5/0.5_data.mat differ diff --git a/Fig5/1.0_data.mat b/Fig5/1.0_data.mat new file mode 100644 index 0000000..38d0891 Binary files /dev/null and b/Fig5/1.0_data.mat differ diff --git a/Fig5/1.5_data.mat b/Fig5/1.5_data.mat new file mode 100644 index 0000000..f373024 Binary files /dev/null and b/Fig5/1.5_data.mat differ diff --git a/Fig5/2.0_data.mat b/Fig5/2.0_data.mat new file mode 100644 index 0000000..63089fb Binary files /dev/null and b/Fig5/2.0_data.mat differ diff --git a/Fig5/2.5_data.mat b/Fig5/2.5_data.mat new file mode 100644 index 0000000..e025f5c Binary files /dev/null and b/Fig5/2.5_data.mat differ diff --git a/Fig5/3.0_data.mat b/Fig5/3.0_data.mat new file mode 100644 index 0000000..f205f2c Binary files /dev/null and b/Fig5/3.0_data.mat differ diff --git a/Fig5/3.5_data.mat b/Fig5/3.5_data.mat new file mode 100644 index 0000000..998ca52 Binary files /dev/null and b/Fig5/3.5_data.mat differ diff --git a/Fig5/4.0_data.mat b/Fig5/4.0_data.mat new file mode 100644 index 0000000..6994680 Binary files /dev/null and b/Fig5/4.0_data.mat differ diff --git a/Fig5/4.5_data.mat b/Fig5/4.5_data.mat new file mode 100644 index 0000000..d222188 Binary files /dev/null and b/Fig5/4.5_data.mat differ diff --git a/Fig5/5.0_data.mat b/Fig5/5.0_data.mat new file mode 100644 index 0000000..0ee183b Binary files /dev/null and b/Fig5/5.0_data.mat differ diff --git a/Fig5/Fig5a.m b/Fig5/Fig5a.m new file mode 100644 index 0000000..43540e4 --- /dev/null +++ b/Fig5/Fig5a.m @@ -0,0 +1,56 @@ +bettercolors +uiopen('/Users/zmurchc/Dropbox/Apps/Overleaf/neutrophil-tension-paper/code/Fig5/RT_2.fig',1) +% figure; +% hold on +% % +% width=5.2; +% height=5.2/2; +% x0 = 5; +% y0 = 5; +% fontsize = 12; +% figure('Units','inches','Position',[x0 y0 width/2 height],'PaperPositionMode','auto'); +% Fig1b = subplot(1,1,1); +% % xlabel(Fig1b,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% % ylabel(Fig1b,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% +% set(Fig1b,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% hold on +% grid +% Fig1b.XLim = [0 5.5]; +% Fig1b.YLim = [0 1.6]; +% Fig1b.Box = 'on'; +% ylabel({'$L$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% xlabel({''},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') + +% set(gca,'LineWidth',1.5) + + +bvals = linspace(0.5,5,10); +for j = 1:length(bvals) + bvalue = bvals(j) + filename = [num2str(bvalue,'%.1f'),'_data.mat']; + load(filename) + + is_polar = zeros(size(u,1),1); + color = zeros(size(u,1),3); + for i = 1:size(u,1) + is_polar(i) = is_polarized(u(i,:)); + color(i,:) = (is_polar(i)>0)*bright(6,:)+(is_polar(i)==0)*bright(2,:); + end + + active_u = zeros(size(u,1),1); + for i = 1:size(u,1) + active_u(i) = mean(u(i,:)); + end + + % color = color.*(bvalue/3); + scatter(bvalue*ones(size(l)),l,16,color,'filled') + % scatter(bvalue+bvalue*t/35000,l,16,color,'filled') + % scatter(active_u,l,8,color,'filled') + % scatter(t,l,16,color,'filled') + % ylim([0.98 1.37]) + % xlim([0 1.4]) +end +ylim([0 1.85]) + +print(1,'Fig5a','-depsc','-painters') diff --git a/Fig5/Fig5b.m b/Fig5/Fig5b.m new file mode 100644 index 0000000..321687a --- /dev/null +++ b/Fig5/Fig5b.m @@ -0,0 +1,137 @@ +bettercolors + +% figure; +% hold on +% % +width=3.4; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; +figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); + +Fig1a = subplot(2,2,1); +% xlabel(Fig1a,{'$t$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +% +set(Fig1a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +ylabel(Fig1a,'Length','FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') + +hold on +grid +% Fig1b.XLim = [0 5.5]; +% Fig1b.YLim = [0 1.6]; +Fig1a.Box = 'on'; +Fig1a.XColor = 'k'; +Fig1a.YColor = 'k'; + +set(gca,'LineWidth',1.5) + +bvals = linspace(0.5,5,10); + +bI = bvals(1:2); +bII = bvals(3); +bIII = bvals(8); +bIV = bvals(end); + +for j = 1:length(bIII) + bvalue = bIII(j) + filename = [num2str(bvalue,'%.1f'),'_data.mat']; + load(filename) + + is_polar = zeros(size(u,1),1); + differences = zeros(size(u,1),1); + color = zeros(size(u,1),3); + for i = 1:size(u,1) + is_polar(i) = is_polarized(u(i,:)); + differences(i) = max(u(i,:))-min(u(i,:)); + color(i,:) = (is_polar(i)>0)*bright(6,:)+(is_polar(i)==0)*bright(2,:); + end + + active_u = zeros(size(u,1),1); + for i = 1:size(u,1) + active_u(i) = mean(u(i,:)); + end + + % color = color.*(bvalue/3); + % scatter(bvalue*ones(size(l)),l,16,color,'filled') + % scatter(bvalue+bvalue*t/35000,l,16,color,'filled') + % scatter(active_u,l,8,color,'filled') + scatter(Fig1a,t,l,10,color,'filled') + xlim([0 2000]) + + + Fig1b = subplot(2,2,3); + Fig1b.Box = 'on'; + Fig1b.XColor = 'k'; + Fig1b.YColor = 'k'; + set(gca,'LineWidth',1.5) + set(Fig1b,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') + hold on + ylabel(Fig1b,{'max - min Rac'},'FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') + xlabel(Fig1b,{'Time'},'FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') + grid + + scatter(Fig1b,t,differences,10,color,'filled') + xlim([0 2000]) + +end + +Fig1c = subplot(2,2,2); +% xlabel(Fig1a,{'$t$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +% ylabel(Fig1a,{'$L$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +% +set(Fig1c,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +hold on +grid +% Fig1b.XLim = [0 5.5]; +% Fig1b.YLim = [0 1.6]; +Fig1c.Box = 'on'; +Fig1c.XColor = 'k'; +Fig1c.YColor = 'k'; +set(gca,'LineWidth',1.5) + +for j = 1:length(bII) + bvalue = bII(j) + filename = [num2str(bvalue,'%.1f'),'_data.mat']; + load(filename) + + is_polar = zeros(size(u,1),1); + differences = zeros(size(u,1),1); + color = zeros(size(u,1),3); + for i = 1:size(u,1) + is_polar(i) = is_polarized(u(i,:)); + differences(i) = max(u(i,:))-min(u(i,:)); + color(i,:) = (is_polar(i)>0)*bright(6,:)+(is_polar(i)==0)*bright(2,:); + end + + active_u = zeros(size(u,1),1); + for i = 1:size(u,1) + active_u(i) = mean(u(i,:)); + end + + % color = color.*(bvalue/3); + % scatter(bvalue*ones(size(l)),l,16,color,'filled') + % scatter(bvalue+bvalue*t/35000,l,16,color,'filled') + % scatter(active_u,l,8,color,'filled') + scatter(Fig1c,t,l,10,color,'filled') + xlim([0 2000]) + + + + Fig1d = subplot(2,2,4); + Fig1d.Box = 'on'; + Fig1d.XColor = 'k'; + Fig1d.YColor = 'k'; + set(gca,'LineWidth',1.5) + set(Fig1d,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') + + hold on + % xlabel(Fig1d,{'Time'},'FontUnits','points','FontWeight','normal','FontSize',10,'FontName','Helvetica') + grid + + scatter(Fig1d,t,differences,10,color,'filled') + xlim([0 2000]) + +end + +print(1,'Fig5b','-depsc','-painters') diff --git a/Fig5/RT_2.fig b/Fig5/RT_2.fig new file mode 100644 index 0000000..eb49cd9 Binary files /dev/null and b/Fig5/RT_2.fig differ diff --git a/Fig5/RT_2.m b/Fig5/RT_2.m new file mode 100644 index 0000000..408123b --- /dev/null +++ b/Fig5/RT_2.m @@ -0,0 +1,384 @@ +bettercolors; + +global cds sys + +sys.gui.pausespecial=0; %Pause at special points +sys.gui.pausenever=1; %Pause never +sys.gui.pauseeachpoint=0; %Pause at each point + +syshandle=@funcs; %Specify system file + +SubFunHandles=feval(syshandle); %Get function handles from system file +RHShandle=SubFunHandles{2}; %Get function handle for ODE + +b = 0.1; +L= 0.9; +RT=2; +delta0=3; +delta1=1; +l0=1; +gma=5; +n=6; +V=0; + +local = 1; +codim = 0; + +xinit=[0;0]; %Set ODE initial condition + +%Specify ODE function with ODE parameters set +RHS_no_param=@(t,x)RHShandle(t,x,b,L,gma,n,RT,delta0,delta1,l0,V); + +%Set ODE integrator parameters. +options=odeset; +options=odeset(options,'RelTol',1e-12); +options=odeset(options,'AbsTol',1e-12); + +%Integrate until a steady state is found. +[tout xout]=ode45(RHS_no_param,[0,200],xinit,options); + +xinit=xout(size(xout,1),:); + +pvec=[b,L,gma,n,RT,delta0,delta1,l0,V]'; % Initialize parameter vector + +ap=1; + +[x0,v0]=init_EP_EP(syshandle, xinit', pvec, ap); %Initialize equilibrium + + +opt=contset; +opt=contset(opt,'MaxNumPoints',500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',0.1); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.01); %Set Initial stepsize + +[x1,v1,s1,h1,f1]=cont(@equilibrium,x0,v0,opt); + +opt=contset(opt,'backward',1); +[x1b,v1b,s1b,h1b,f1b]=cont(@equilibrium,x0,v0,opt); + + +if local == 1 +%%%% LOCAL BRANCHES + +ind = 2; +xBP=x1(1:2,s1(ind).index); %Extract branch point +pvec(ap)=x1(3,s1(ind).index); %Extract branch point +[x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.05); +% opt=contset(opt,'backward',1); +% [x3b,v3b,s3b,h3b,f3b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +opt = contset(opt,'backward',0); +[x3,v3,s3,h3,f3]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +% ind = 3; +% xBP=x1(1:2,s1(ind).index); %Extract branch point +% pvec(ap)=x1(3,s1(ind).index); %Extract branch point +% [x0,v0]=init_BP_EP(syshandle, xBP, pvec, s1(ind), 0.001); +% % opt = contset(opt,'backward',1); +% % [x4b,v4b,s4b,h4b,f4b]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. +% opt = contset(opt,'backward',0); +% [x4,v4,s4,h4,f4]=cont(@equilibrium,x0,v0,opt); %Switch branches and continue. + +end +% CODIM 1 plots + + +width=5.2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; +f = figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); +Fig2a = subplot(1,2,1); +xlabel(Fig2a,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +ylabel(Fig2a,{'$R^\ell$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +Fig2aTitle = title(Fig2a,{'(a)'},'FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica'); +set(Fig2a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +grid +Fig2a.XLim = [0 6]; +Fig2a.YLim = [0 2]; +Fig2a.Box = 'on'; +set(gca,'LineWidth',1.5) +hold on + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%GLOBAL curves +curves = {'1','1b'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(1,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + plotcolor='k'; + + plotstr=strcat(plotcolor,plotsty); + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Linewidth',3) + hold on + end +end + +if local == 1 +%%%LOCAL +curves = {'3'}; + +for i = 1:length(curves) + xeqcurve=eval(['x' curves{i}]); + minevaleq=eval(['f' curves{i} '(2,:)']); %This is the last eigenvalue. That is the one that determines stability + + L=length(xeqcurve(1,:)); + + curveind=1; + lengthind=0; + maxlengthind=0; + evalstart=floor(heaviside(minevaleq(1))); + datamateq=zeros(4,L); + + for i=1:L + evalind=floor(heaviside(minevaleq(i))); + if evalstart~=evalind + curveind=curveind+1; + i; + evalstart=evalind; + maxlengthind=max(lengthind,maxlengthind); + lengthind=0; + end + datamateq(1,i)=xeqcurve(3,i); % This is the parameter that is varied. + datamateq(2,i)=xeqcurve(2,i); % This is the dependent axis of the bifurcation plot. The one you wish to plot + datamateq(3,i)=evalind; + datamateq(4,i)=curveind; + + lengthind=lengthind+1; + end + + maxlengthind=max(maxlengthind,lengthind); + + curveindeq=curveind; + + for i=1:curveindeq + index=find(datamateq(4,:)==i); + eval(['curve' num2str(i) 'eq' '=datamateq(1:3,index);']); + end + + for i=1:curveindeq + stability=eval(['curve' num2str(i) 'eq(3,1)']); + if stability==0 + plotsty='-'; + else + plotsty=':'; + end + + mycolor = highcontrast(2,:); + plotstr=plotsty; + + plot(eval(['curve' num2str(i) 'eq(1,:)']),eval(['curve' num2str(i) 'eq(2,:)']),plotstr,'Color',mycolor,'Linewidth',2) + hold on + end +end + +end + +opt=contset; +opt=contset(opt,'MaxNumPoints',5500); %Set numeber of continuation steps +opt=contset(opt,'MaxStepsize',1); %Set max step size +opt=contset(opt,'Singularities',1); %Monitor singularities +opt=contset(opt,'Eigenvalues',1); %Output eigenvalues +opt=contset(opt,'InitStepsize',0.5); %Set Initial stepsize +aps = [1,2]; + +% +% ind = 2 +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x5,v5,s5,h5,f5] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x5b,v5b,s5b,h5b,f5b] = cont(@limitpoint,x0,v0,opt); + +% ind = 3 +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x6,v6,s6,h6,f6] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x6b,v6b,s6b,h6b,f6b] = cont(@limitpoint,x0,v0,opt); + +ind = 4 +xtmp = x3(1:end-1,s3(ind).index); +pvec(ap) = x3(end,s3(ind).index); +[x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x7,v7,s7,h7,f7] = cont(@limitpoint,x0,v0,opt); + opt = contset(opt,'backward',1); +[x7b,v7b,s7b,h7b,f7b] = cont(@limitpoint,x0,v0,opt); + +% ind = 5; +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x8,v8,s8,h8,f8] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x8b,v8b,s8b,h8b,f8b] = cont(@limitpoint,x0,v0,opt); +% +% ind = 6; +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x9,v9,s9,h9,f9] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x9b,v9b,s9b,h9b,f9b] = cont(@limitpoint,x0,v0,opt); +% +% ind = 7; +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_LP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x10,v10,s10,h10,f10] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x10b,v10b,s10b,h10b,f10b] = cont(@limitpoint,x0,v0,opt); + + +%BPs +ind = 2 +xtmp = x1(1:end-1,s1(ind).index); +pvec(ap) = x1(end,s1(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x11,v11,s11,h11,f11] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x11b,v11b,s11b,h11b,f11b] = cont(@limitpoint,x0,v0,opt); + +ind = 7 +xtmp = x1(1:end-1,s1(ind).index); +pvec(ap) = x1(end,s1(ind).index); +[x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +opt = contset(opt,'backward',0); +[x12,v12,s12,h12,f12] = cont(@limitpoint,x0,v0,opt); +opt = contset(opt,'backward',1); +[x12b,v12b,s12b,h12b,f12b] = cont(@limitpoint,x0,v0,opt); + +% ind = 5; +% xtmp = x3(1:end-1,s3(ind).index); +% pvec(ap) = x3(end,s3(ind).index); +% [x0,v0] = init_BP_LP(syshandle,xtmp,pvec,aps); +% opt = contset(opt,'backward',0); +% [x13,v13,s13,h13,f13] = cont(@limitpoint,x0,v0,opt); +% opt = contset(opt,'backward',1); +% [x13b,v13b,s13b,h13b,f13b] = cont(@limitpoint,x0,v0,opt); + +%%% +close all + +width=5.2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; +figure('Units','inches','Position',[x0 y0 width/2 height],'PaperPositionMode','auto'); +Fig5a = subplot(1,1,1); +xlabel(Fig5a,{'$b$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica') + +set(Fig5a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +hold on +grid +Fig5a.XLim = [0 5.5]; +Fig5a.YLim = [0 2.2]; +Fig5a.Box = 'on'; +Fig5a.XColor = 'k'; +Fig5a.YColor = 'k'; +ylabel({'$L$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',12,'FontName','Helvetica') +set(gca,'LineWidth',1.5) +curves = {'5','6','7','8'}; + +linecolor(5) = {highcontrast(2,:)}; +linecolor(6) = {highcontrast(2,:)}; +linecolor(7) = {highcontrast(2,:)}; +linecolor(8) = {highcontrast(2,:)}; +linecolor(9) = {highcontrast(2,:)}; +linecolor(10) = {highcontrast(2,:)}; +linecolor(11) = {highcontrast(3,:)}; +linecolor(12) = {highcontrast(3,:)}; +linecolor(13) = {highcontrast(3,:)}; + +linestyle(5) = {'-'}; +linestyle(6) = {'-'}; +linestyle(7) = {'-'}; +linestyle(8) = {'-'}; +linestyle(9) = {'-'}; +linestyle(10) = {'-'}; +linestyle(11) = {'--'}; +linestyle(12) = {'--'}; +linestyle(13) = {'--'}; + +for i = [7,11,12] + i + xeqcurve=eval(['x' num2str(i)]); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) + xeqcurve = eval(['x' num2str(i) 'b']); + plot(xeqcurve(end-1,:),xeqcurve(end,:),'LineStyle',linestyle{i},'Color',linecolor{i},'LineWidth',4) +end + +% scatter(0.1,7,'ko','filled') +% text(0.1,7,' (b)') +% +% scatter(0.1,3,'ko','filled') +% text(0.1,3,' (c)') +% +% scatter(4.5,6,'ko','filled') +% text(4.5,6,' (d)') +% +% scatter(4.5,3,'ko','filled') +% text(4.5,3,' (e)') + + + +% print(1,'1a','-depsc') +% print(1,'Fig5a','-depsc','-painters') +savefig(1,'RT_2.fig') diff --git a/Fig5/funcs.m b/Fig5/funcs.m new file mode 100644 index 0000000..1dfc1e8 --- /dev/null +++ b/Fig5/funcs.m @@ -0,0 +1,46 @@ +function out = Fig1_Functions +out{1} = @init; +out{2} = @fun_eval; +out{3} = []; +out{4} = []; +out{5} = []; +out{6} = []; +out{7} = []; +out{8} = []; +out{9} = []; + +function y = A(R,b,gma,n) + y = b+gma*R^n/(1+R^n); + +function y = delta(L,delta0,delta1,l0) + y = delta0 + delta1 * (L-l0); + +function y = f(L,V) + y = 1; %L/(L+V); + + +% -------------------------------------------------------------------------- +function dydt = fun_eval(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +dydt=[A(y(1),b,gma,n)*f(L,V)*(RT/L-y(1)) - delta(L,delta0,delta1,l0)*y(1);A(y(2),b,gma,n)*f(L,V)*(RT/L-y(1)) - delta(L,delta0,delta1,l0)*y(2);]; + +% -------------------------------------------------------------------------- +function [tspan,y0,options] = init +handles = feval(PosFeedMutInhib); +y0=[0]; +options = odeset('Jacobian',[],'JacobianP',[],'Hessians',[],'HessiansP',[]); +tspan = [0 10]; + +% -------------------------------------------------------------------------- +function jac = jacobian(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +% -------------------------------------------------------------------------- +function jacp = jacobianp(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +% -------------------------------------------------------------------------- +function hess = hessians(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +% -------------------------------------------------------------------------- +function hessp = hessiansp(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +%--------------------------------------------------------------------------- +function Tension3 = der3(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +%--------------------------------------------------------------------------- +function Tension4 = der4(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) +%--------------------------------------------------------------------------- +function Tension5 = der5(t,y,b,L,gma,n,RT,delta0,delta1,l0,V) diff --git a/Fig5/is_polarized.m b/Fig5/is_polarized.m new file mode 100644 index 0000000..6ed321c --- /dev/null +++ b/Fig5/is_polarized.m @@ -0,0 +1,12 @@ +function y = is_polarized(rac) + % #takes rac and rho, two vectors which #describe concentration over space. + % #Determine if polarized pattern exists... + + tol = 0.1; + + if abs(max(rac) - min(rac)) > tol + y = 1; + else + y = 0; + end +end diff --git a/Fig5/pdeSimulation.py b/Fig5/pdeSimulation.py new file mode 100644 index 0000000..fec81ae --- /dev/null +++ b/Fig5/pdeSimulation.py @@ -0,0 +1,287 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm +import scipy.io + +plt.rc("text", usetex=False) +plt.rc("font", family="sans-serif", size=10) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def F(R): + sharp = 10 + switch = 1 + magnitude = 0.001 + return magnitude/(1+np.exp(-2*sharp*(R-switch))) + +def xmdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (spring*(xp-xm-1) - F(u[0]))/viscosity + +def xpdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (-spring*(xp-xm-1) + F(u[-1]))/viscosity + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx, bjump): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + #the ode for L is stored at the end of y + u = y[0:-2:2] + v = y[1:-2:2] + xm = y[-2] + xp = y[-1] + + l = xp-xm + + if (t>50): + b = bjump + + delta = 3 + 1*(l-1) + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[0:-2:2] + dvdt = dydt[1:-2:2] + dxmdt = dydt[-2] + dxpdt = dydt[-1] + + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[0] + 2.0*u[1]) / dx**2 - u[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * np.diff(u,2) / dx**2 - u[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 - u[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[0] + 2.0*v[1]) / dx**2 - v[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * np.diff(v,2) / dx**2 - v[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 - v[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dxmdt = xmdot(u,v,xm,xp,t) + dxpdt = xpdot(u,v,xm,xp,t) + + dydt[0:-2:2] = dudt + dydt[1:-2:2] = dvdt + dydt[-2] = dxmdt + dydt[-1] = dxpdt + + return dydt + +# %% + +def pdesimulation(bjump): + L = 1 + N = 1000 + x = np.linspace(0, L, N) + dx = 1/N + T = 5000 + M = 2500 + t = np.linspace(0, T, M) + + b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 + # b, gamma, n, RT, delta = 0.1, 5, 6, 2.5, 3 + Du = 0.01 + Dv = 10 + + #polarized ic + # width = 0.1 + # height = 2 + # u0 = np.zeros(N) + # u0[x > 1-width] = height + # v0 = (RT-width*height)*np.ones(np.size(x)) + + #b = 0.1 steadystate + u0ic = 0.05645 + u0 = u0ic*np.ones(np.size(x)) + v0 = (RT-u0ic)*np.ones(np.size(x)) + + # u0ic = RT + # u0 = u0ic*np.ones(np.size(x)) + # v0 = (RT-u0ic)*np.ones(np.size(x)) + + + y0 = np.zeros(2*N+2) + xm0 = 0 + xp0 = 1 + y0[0:-2:2] = u0 + y0[1:-2:2] = v0 + y0[-2] = xm0 + y0[-1] = xp0 + + sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx, bjump)) + + u = sol[:,0:-2:2] + v = sol[:,1:-2:2] + xm = sol[:,-2] + xp = sol[:,-1] + l = xp - xm + + filename = str(bjump)+'_data.mat' + scipy.io.savemat(filename,dict(t=t,l=l,u=u,v=v,xm=xm,xp=xp)) + return filename + +bvals = np.linspace(0.5,5,num=10) +for bvalue in bvals: + print(bvalue) + pdesimulation(bvalue) + +# # %% +# fig = plt.figure("fig1",figsize=(5.2,2.6)) +# ax1 = plt.subplot(121) +# pmesh = plt.pcolormesh(x,t,u,cmap=cm.viridis) +# cbar = fig.colorbar(pmesh,ax=ax1) +# # plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +# cbar.outline.set_linewidth(1.5) +# cbar.ax.tick_params(width=1.5) +# ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax1.set_xlabel(r'$\bar x$') +# ax1.set_ylabel(r'$t$') +# ax1.set_title(r'$R(\bar x,t)$') +# ax1.spines["left"].set_linewidth(1.5) +# ax1.spines["top"].set_linewidth(1.5) +# ax1.spines["right"].set_linewidth(1.5) +# ax1.spines["bottom"].set_linewidth(1.5) +# +# ax2 = plt.subplot(122) +# pmesh =plt.pcolormesh(x,t,v,cmap=cm.viridis) +# ax2.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +# cbar = fig.colorbar(pmesh,ax=ax2) +# # plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +# cbar.outline.set_linewidth(1.5) +# cbar.ax.tick_params(width=1.5) +# ax2.set_xlabel(r'$\bar x$') +# ax2.set_ylabel(r'$t$') +# ax2.set_title(r'$R_i(\bar x,t)$') +# ax2.spines["left"].set_linewidth(1.5) +# ax2.spines["top"].set_linewidth(1.5) +# ax2.spines["right"].set_linewidth(1.5) +# ax2.spines["bottom"].set_linewidth(1.5) +# +# plt.tight_layout() +# plt.savefig('Fig14_fixed.png',dpi=600) +# plt.show() +# +# # %% +# Xgrid, Tgrid = np.meshgrid(x,t) +# Xgrid = np.empty_like(Xgrid) +# for i in range(len(t)): +# Xgrid[i,:] = x*l[i]+xm[i] +# # %% +# +# fig = plt.figure("fig1",figsize=(2.6,2.6)) +# ax1 = plt.subplot(111) +# pmesh = plt.pcolormesh(Xgrid,Tgrid,u,cmap=cm.viridis) +# cbar = fig.colorbar(pmesh,ax=ax1) +# # plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +# cbar.outline.set_linewidth(1.5) +# cbar.ax.tick_params(width=1.5) +# ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# # ax1.set_xlabel(r'$x$') +# # ax1.set_ylabel(r'$t$') +# # ax1.set_title(r'$R(x,t)$') +# ax1.set_facecolor((0.7,0.7,0.7)) +# ax1.spines["left"].set_linewidth(1.5) +# ax1.spines["top"].set_linewidth(1.5) +# ax1.spines["right"].set_linewidth(1.5) +# ax1.spines["bottom"].set_linewidth(1.5) +# # +# # ax2 = plt.subplot(122) +# # pmesh =plt.pcolormesh(Xgrid,Tgrid,v,cmap=cm.viridis) +# # ax2.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +# # cbar = fig.colorbar(pmesh,ax=ax2) +# # # plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +# # cbar.outline.set_linewidth(1.5) +# # cbar.ax.tick_params(width=1.5) +# # ax2.set_xlabel(r'$x$') +# # ax2.set_ylabel(r'$t$') +# # ax2.set_title(r'$R_i(x,t)$') +# # ax2.set_facecolor((0.7,0.7,0.7)) +# # ax2.spines["left"].set_linewidth(1.5) +# # ax2.spines["top"].set_linewidth(1.5) +# # ax2.spines["right"].set_linewidth(1.5) +# # ax2.spines["bottom"].set_linewidth(1.5) +# +# plt.tight_layout() +# plt.savefig('Polar.tiff',dpi=600) +# # plt.savefig('Fig14_moving.eps') +# plt.show() +# #%% +# #x +# fig = plt.figure(figsize=(4,3)) +# plt.plot(t,l) +# plt.savefig('length_3b.tif') +# # plt.plot(t,delta) +# +# # %% +# # check mass conservation +# print(np.sum(dx*l[0]*(u[0,:] + v[0,:]))) +# print(np.sum(dx*l[-1]*(u[-1,:] + v[-1,:]))) +# mass = [] +# for i in range(len(t)): +# mass.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) +# +# fig = plt.figure("fig2",figsize=(4,3)) +# ax1 = plt.subplot(111) +# plt.plot(t,mass,linewidth=2) +# ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax1.set_xlabel(r'$t$') +# ax1.set_ylabel(r'$\int_\Omega R + R_i \, dx$') +# ax1.spines["left"].set_linewidth(1.5) +# ax1.spines["top"].set_linewidth(1.5) +# ax1.spines["right"].set_linewidth(1.5) +# ax1.spines["bottom"].set_linewidth(1.5) +# ax1.set_xlim(0,T) +# ax1.grid(linewidth=1.5) +# plt.tight_layout() +# # plt.savefig('Fig14mass.png',dpi=600) +# plt.show() +# +# # #%% +# # # animated plot +# +# movieon = 0 +# if movieon == 1: +# import matplotlib.animation as animation +# fig = plt.figure(figsize=(4,3)) +# ax = plt.subplot(111) +# ax.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax.set_xlabel(r'$x$') +# ax.set_ylabel('Activity') +# ax.spines["left"].set_linewidth(1.5) +# ax.spines["top"].set_linewidth(1.5) +# ax.spines["right"].set_linewidth(1.5) +# ax.spines["bottom"].set_linewidth(1.5) +# ax.set_xlim(np.min(Xgrid),np.max(Xgrid)) +# ax.set_ylim(0,np.max(u)+0.5) +# ax.grid(linewidth=1.5) +# # title = plt.title(r'$b$=%1.2f, $\delta$=%1.2f' %(b, delta)) +# line_u, = ax.plot(Xgrid[0,:],u[0,:],linewidth=4,color=(221/255,170/255,51/255),label=r'$R$') +# # line_v, = ax.plot(Xgrid[0,:],v[0,:],'--',linewidth=2,color=(0/255,68/255,136/255),label=r'$R_i$') +# plt.legend(loc=2) +# vertline = ax.axvline(Xgrid[0,-1],ls='-',color='k') +# vertline2 = ax.axvline(Xgrid[0,0],ls='-',color='k') +# plt.tight_layout() +# +# def animate(i): +# # title.set_text(r'$b$=%1.2f, $\delta$=%1.2f' %(bvals[i], deltavals[i])) +# line_u.set_xdata(Xgrid[i,:]) +# # line_v.set_xdata(Xgrid[i,:]) +# line_u.set_ydata(u[i,:]) +# # line_v.set_ydata(v[i,:]) +# vertline.set_xdata(Xgrid[i,-1]) +# vertline2.set_xdata(Xgrid[i,0]) +# return line_u, vertline, vertline2 +# +# ani = animation.FuncAnimation(fig,animate,frames=M) +# ani.save("Movie 2.mp4",fps=30,dpi=300) diff --git a/Fig6/Fig6b.m b/Fig6/Fig6b.m new file mode 100644 index 0000000..0e77c54 --- /dev/null +++ b/Fig6/Fig6b.m @@ -0,0 +1,66 @@ +bettercolors +load('dataFig6b.mat') + +% figure; +% hold on +% % +width=3.4/2; +height=5.2/2; +x0 = 5; +y0 = 5; +fontsize = 10; +figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); + +Fig1a = subplot(2,1,1); +% xlabel(Fig1a,{'$t$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +% +set(Fig1a,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +ylabel(Fig1a,'Area','FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') + +hold on +grid +% Fig1b.XLim = [0 5.5]; +% Fig1b.YLim = [0 1.6]; +Fig1a.Box = 'on'; +Fig1a.XColor = 'k'; +Fig1a.YColor = 'k'; + +set(gca,'LineWidth',1.5) +idx = 1:1600; + +t = timestep(idx)*0.01; +is_polar = zeros(length(idx),1); +color = zeros(length(idx),3); +for i = 1:length(idx) + color(i,:) = (Rac_Max_Min(i)>0.15)*bright(6,:)+(Rac_Max_Min(i)<=0.15)*bright(2,:); +end +% +scatter(Fig1a,t,Area(idx),10,color,'filled') +xlim([0 10]) +xticks([0 5 10]) +ylim([1 1.3]) +yticks([1 1.1 1.2 1.3]) +yticklabels({'1', '', '', '1.3'}) +xticklabels({'0', '', '10'}) + +Fig1b = subplot(2,1,2); +Fig1b.Box = 'on'; +Fig1b.XColor = 'k'; +Fig1b.YColor = 'k'; +set(gca,'LineWidth',1.5) +set(Fig1b,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Helvetica') +hold on +ylabel(Fig1b,{'max - min Rac'},'FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') +xlabel(Fig1b,{'Time'},'FontUnits','points','FontWeight','normal','FontSize',12,'FontName','Helvetica') +grid + +scatter(Fig1b,t,Rac_Max_Min(idx),10,color,'filled') +xlim([0 10]) +ylim([0 0.8]) +yticks([0 0.4 0.8]) +xticks([0 5 10]) +yticklabels({'0', '', '0.8'}) +xticklabels({'0', '', '10'}) + + +print(1,'Fig6b.eps','-depsc','-painters') diff --git a/Fig6/Fig6data.csv b/Fig6/Fig6data.csv new file mode 100644 index 0000000..8655a32 --- /dev/null +++ b/Fig6/Fig6data.csv @@ -0,0 +1,2001 @@ +timestep,Area,Mass,Rac_Max_Min +0,1.0,2.0,0.0 +1,1.0,1.9999999999999998,0.004310419745847338 +2,1.000000000033004,1.9999999941966025,0.007949412804129224 +3,1.0000000002914375,1.9999999915508038,0.011205049960766433 +4,1.0000000018863553,1.9999999894562421,0.01410750194989252 +5,1.0000000098836352,1.9999999879119785,0.01677168156542652 +6,1.0000000434829313,1.9999999870128164,0.019345382026248026 +7,1.0000001655173332,1.99999998710239,0.021998964991898795 +8,1.0000005607133098,1.9999999889691158,0.024915683582380277 +9,1.0000017357844606,1.9999999943112488,0.028284442312696556 +10,1.000005030711178,2.000000006819406,0.03229149468628245 +11,1.0000139457154387,2.000000034637236,0.037102364604507776 +12,1.0000376176982173,2.0000000961661004,0.04282279100563424 +13,1.0000996316498934,2.0000002346457113,0.049440434109953135 +14,1.0002568839655581,2.0000005584546456,0.056792321159013115 +15,1.0006195294491307,2.0000013611329024,0.06465419663617988 +16,1.0013108550982028,2.0000034004859844,0.07254623643338576 +17,1.0023493581285758,2.0000080002762832,0.08003636422619054 +18,1.0036351795307867,2.000016172203256,0.08662140843946697 +19,1.0050543806725993,2.0000278344393654,0.09199693352107396 +20,1.0065350662581025,2.000042314629139,0.0961066143538789 +21,1.0080416979154003,2.0000589791301326,0.09905814976745808 +22,1.0095581060623566,2.0000773971101466,0.10099511678102813 +23,1.0110769508337023,2.000097300435503,0.10210231218804333 +24,1.0125947837847924,2.000118521707173,0.10255043864247804 +25,1.014109903585219,2.0001409515593123,0.10248519202177775 +26,1.0156214258261491,2.0001645138082726,0.10202597035133665 +27,1.017128867181791,2.0001891516345456,0.10126852521338625 +28,1.0186319514133293,2.0002148199186296,0.10028876462325265 +29,1.020130514541078,2.0002414809233118,0.09914650171236383 +30,1.021624456278234,2.000269101802551,0.0978887156471786 +31,1.0231137140223934,2.0002976531203283,0.09655223338357022 +32,1.0245982483339504,2.000327107939666,0.09516587553313371 +33,1.0260780345097347,2.0003574412391982,0.09375215106008228 +34,1.0275530575177854,2.000388629525486,0.09232858843537373 +35,1.0290233088526617,2.0004206505625373,0.09090878003032299 +36,1.0304887845245674,2.000453483176137,0.08950320249489407 +37,1.031949483738192,2.0004871071065575,0.08811986270537275 +38,1.0334054080027124,2.000521502894155,0.08676480784284712 +39,1.034856560518223,2.000556651788176,0.08544252938887809 +40,1.0363029457434363,2.0005925356723937,0.08415628401629416 +41,1.0377445690848595,2.0006291370032514,0.08290834912904099 +42,1.0391814366689474,2.0006664387584063,0.08170022681510813 +43,1.0406135551719558,2.000704424392425,0.0806952316544316 +44,1.0420409316906958,2.000743077799784,0.07976528929448357 +45,1.043463573642628,2.0007823832819285,0.0788681240355742 +46,1.0448814886874493,2.000822325519844,0.0780037464526091 +47,1.0462946846645496,2.0008628895495475,0.07717194558110863 +48,1.0477031695424128,2.0009040607408064,0.07637233987181724 +49,1.0491069513771172,2.0009458247785763,0.07560441814136798 +50,1.050506038277799,2.000988167646517,0.07486757245318909 +51,1.051900438377612,2.001031075612339,0.07416112448077516 +52,1.053290159808925,2.0010745352148476,0.07348434660297687 +53,1.0546752106819488,2.001118533252347,0.07283647873917354 +54,1.0560555990661176,2.0011630567721914,0.07221674173766268 +55,1.0574313329736262,2.00120809306146,0.07162434797525896 +56,1.0588024203447959,2.0012536296382617,0.07105850970130412 +57,1.0601688690348767,2.001299654243734,0.0705184455572272 +58,1.0615306868020433,2.0013461548351135,0.07000338562223662 +59,1.0628878812964142,2.0013931195787142,0.06951257526909393 +60,1.0642404600498132,2.0014405368441817,0.0690452780609252 +61,1.0655884304662468,2.001488395198047,0.06860077787614771 +62,1.0669317998129038,2.0015366833990926,0.06817838041411028 +63,1.0682705752115962,2.001585390392419,0.0677774142050136 +64,1.0696047636305666,2.001634505305047,0.0673972312244906 +65,1.0709343718766087,2.0016840174410904,0.0670372071946852 +66,1.0722594065873619,2.0017339162772814,0.06669674163798955 +67,1.0735798742238274,2.0017841914586008,0.06637525773703823 +68,1.0748957810630517,2.0018348327946325,0.06607220204472775 +69,1.0762071331907967,2.0018858302548157,0.06578704407966174 +70,1.077513936494415,2.0019371739653318,0.06551927583480555 +71,1.0788161966556402,2.001988854204595,0.06526841122348803 +72,1.0801139191435183,2.0020408614004546,0.06503398548001993 +73,1.081407109207174,2.0020931861259514,0.06481807392533345 +74,1.0826957718687167,2.0021458190959938,0.06461914262680035 +75,1.0839799119159896,2.002198751164041,0.06443532650143147 +76,1.0852595338953384,2.0022519733185917,0.06426624378305812 +77,1.0865346421042388,2.002305476680218,0.0641115304753419 +78,1.0878052405839413,2.0023592524980107,0.06397083973236439 +79,1.0890713331119404,2.0024132921465343,0.0638438412496718 +80,1.090332923194414,2.0024675871225095,0.06373022066905532 +81,1.091590014058552,2.002522129042173,0.06362967899871741 +82,1.0928426086447274,2.0025769096378134,0.06354193205052105 +83,1.0940907095986412,2.002631920754934,0.06346670989520753 +84,1.0953343192632778,2.0026871543492644,0.06340375633648754 +85,1.0965734396707896,2.002742602483889,0.06335282840397105 +86,1.0978080725342159,2.0027982573264542,0.06331369586550184 +87,1.0990382192391301,2.0028541111460827,0.06328614075841354 +88,1.1002638808351057,2.0029101563107825,0.06326995694006343 +89,1.1014850580270807,2.0029663852845943,0.06326494965666951 +90,1.1027017511666013,2.0030227906248306,0.06327093513061932 +91,1.1039139602428945,2.0030793649793273,0.0632877401655314 +92,1.1051216848738603,2.0031361010838973,0.06331520176865935 +93,1.1063249242968989,2.003192991759466,0.06335316679000713 +94,1.1075236773596036,2.003250029909627,0.06340149157765129 +95,1.10871794251034,2.00330720851807,0.06346004164885888 +96,1.1099077177887067,2.0033645206458472,0.06352869137604822 +97,1.1110930008158202,2.0034219594289238,0.06360732368759914 +98,1.1122737887845309,2.0034795180755616,0.06369582978217503 +99,1.1134500784494856,2.0035371898640393,0.06379410885692849 +100,1.1146218661170713,2.0035949681400007,0.06390206784811259 +101,1.1157891476352548,2.003652846314114,0.06401962118437399 +102,1.116951918383301,2.0037108178596,0.06414669055152133 +103,1.1181101732613896,2.003768876309894,0.06428320466888438 +104,1.119263906680103,2.0038270152562543,0.06442909907639915 +105,1.1204131125498906,2.003885228345488,0.06458431593183644 +106,1.1215577842703313,2.0039435092774935,0.06474880381838943 +107,1.1226979147194152,2.004001851803352,0.06492251756129352 +108,1.1238334962426881,2.0040602497224183,0.06510541805379089 +109,1.1249645206423542,2.0041186968807865,0.06529747209161285 +110,1.1260909791662994,2.0041771871685734,0.06549865221592643 +111,1.1272128624970772,2.0042357145181744,0.06570893656397025 +112,1.1283301607408731,2.0042942729017685,0.06592830872752264 +113,1.129442863416384,2.004352856329387,0.06615675761845963 +114,1.1305509594437486,2.004411458846686,0.06639427734125225 +115,1.1316544371334256,2.0044700745330704,0.0666408670722698 +116,1.1327532841751038,2.0045286974996297,0.06689653094516301 +117,1.1338474876266225,2.004587321886894,0.06716127794260052 +118,1.1349370339029488,2.0046459418633464,0.06743512179362665 +119,1.1360219087651915,2.0047045516230098,0.06771808087670039 +120,1.137102097309713,2.0047631453840156,0.06801017812803223 +121,1.1381775839573016,2.0048217173863954,0.06831144095497255 +122,1.1392483524424826,2.004880261890452,0.06862190115454792 +123,1.1403143858029656,2.0049387731750103,0.06894159483637563 +124,1.141375666369208,2.0049972455355194,0.06927056235032891 +125,1.1424321757542262,2.005055673282705,0.0696088482185322 +126,1.1434838948435235,2.005114050740651,0.0699565010714771 +127,1.1445308037853392,2.00517237224524,0.07031357358818013 +128,1.145572881981072,2.005230632142922,0.07068012244027932 +129,1.1466101080760662,2.005288824788763,0.07105620823976344 +130,1.1476424599506423,2.0053469445456162,0.07144189549051916 +131,1.1486699147115282,2.005404985782127,0.07183725254321005 +132,1.1496924486836544,2.00546294287202,0.07224235155362346 +133,1.1507100374023418,2.005520810192634,0.07265726844441178 +134,1.1517226556059819,2.005578582123745,0.07308208286987572 +135,1.1527302772292012,2.005636253046557,0.07351687818413111 +136,1.1537328753964848,2.0056938173426935,0.07396174141216538 +137,1.1547304224164825,2.0057512693932367,0.07441676322391944 +138,1.1557228897768377,2.0058086035778504,0.07488203791153314 +139,1.1567102481397025,2.0058658142743133,0.07535766336926675 +140,1.1576924673379465,2.0059228958576005,0.07584374107656577 +141,1.158669516372141,2.0059798426995057,0.0763403760837793 +142,1.1596413634082798,2.006036649167954,0.07684878562662889 +143,1.1606079757763874,2.006093309626968,0.07737102185188416 +144,1.1615693199700348,2.0061498184363726,0.07790413699095833 +145,1.1625253616467375,2.0062061699513745,0.07844824945634055 +146,1.163476065629452,2.006262358523077,0.07900348116035816 +147,1.1644213959090128,2.0063183784982668,0.07956995751742624 +148,1.165361315647779,2.0063742242198486,0.0801478074492068 +149,1.1662957871843849,2.006429890027258,0.08073716339276493 +150,1.167224772039765,2.0064853702569208,0.0813381613118056 +151,1.1681482309243911,2.006540659243073,0.08195094071109232 +152,1.1690661237469195,2.006595751318646,0.08257564465419498 +153,1.1699784096242092,2.0066506408161064,0.08321241978437621 +154,1.1708850468927796,2.0067053220690263,0.08386141634904254 +155,1.1717859931218284,2.00675978941308,0.08452278822771997 +156,1.1726812051277624,2.006814037187652,0.08519669296366295 +157,1.1735706389904266,2.006868059737769,0.08588329179920762 +158,1.1744542500709818,2.006921851415926,0.08658274971503532 +159,1.1753319930315305,2.0069754065843664,0.08729523547348772 +160,1.1762038218565547,2.007028719616836,0.08802092166611208 +161,1.177069689876217,2.0070817849018585,0.08875998476536817 +162,1.1779295497915194,2.007134596844998,0.08951260518110904 +163,1.1787833537014805,2.0071871498720655,0.09027896732136176 +164,1.1796310531322445,2.0072394384319727,0.09105925965817163 +165,1.180472599068281,2.0072914570006026,0.09185367479837137 +166,1.1813079419856467,2.007343200084153,0.09266240955942995 +167,1.1821370318873443,2.00739466222285,0.09348566505071032 +168,1.1829598183408614,2.0074458379954634,0.09432364676015381 +169,1.1837762505178433,2.0074967220234794,0.09517656464666069 +170,1.1845862772360212,2.0075473089754357,0.09604463323840129 +171,1.1853898470032689,2.0075975935721644,0.09692807173698714 +172,1.18618690806392,2.0076475705915318,0.09782710412788798 +173,1.1869774084473617,2.0076972348739957,0.09874195929729668 +174,1.1877612960187238,2.0077465813280435,0.09967287115533874 +175,1.1885385185319117,2.0077956049360526,0.10062007876601387 +176,1.1893090236847257,2.0078443007603206,0.1015838264839346 +177,1.190072759176223,2.007892663949462,0.1025643640979721 +178,1.1908296727661807,2.007940689744928,0.10356194698195575 +179,1.1915797123366392,2.007988373487427,0.10457683625249259 +180,1.1923228259555374,2.008035710624651,0.10560929893410265 +181,1.1930589619422758,2.008082696717789,0.10665960813163333 +182,1.193788068935258,2.008129327449571,0.10772804321005758 +183,1.1945100959612116,2.0081755986315013,0.10881613989006977 +184,1.1952249925063467,2.008221506211967,0.1099367920207579 +185,1.1959327085890814,2.008267046284135,0.11108483435447769 +186,1.1966331948344429,2.008312215094549,0.11225267801605465 +187,1.197326402549824,2.008357009051337,0.11344064792001851 +188,1.1980122838021396,2.008401424732544,0.11464907664580881 +189,1.1986907914961535,2.008445458895685,0.11587830467165072 +190,1.1993618794539231,2.00848910848593,0.11712868061581116 +191,1.2000255024951165,2.0085323706453067,0.11840056148517486 +192,1.2006816165182026,2.0085752427220602,0.11969431293079413 +193,1.2013301785821686,2.008617722279863,0.12101030951033942 +194,1.2019711469888261,2.0086598071069246,0.12234893495707144 +195,1.2026044813653591,2.0087014952255626,0.12371058245507704 +196,1.2032301427470309,2.0087427849018753,0.12509565492037056 +197,1.2038480936598845,2.0087836746547496,0.12650456528741993 +198,1.2044582982032497,2.0088241632656683,0.1279377368007344 +199,1.2050607221318659,2.008864249788286,0.12939560331080147 +200,1.2056553329374988,2.008903933557746,0.13087860957389363 +201,1.2062420999298014,2.0089432142002313,0.1323872115549447 +202,1.2068209943163555,2.0089820916424457,0.1339564322983009 +203,1.2073919892815825,2.0090205661207428,0.13556087819277818 +204,1.2079550600645304,2.0090586381903592,0.13719314485137413 +205,1.2085101840352177,2.009096308734954,0.13885374415904317 +206,1.2090573407694567,2.009133578975126,0.14054320058584024 +207,1.2095965121220147,2.0091704504775634,0.14226205148752258 +208,1.2101276822979379,2.00920692516365,0.14401084740137393 +209,1.2106508379218615,2.009243005317946,0.14579015233537285 +210,1.21116596810529,2.009278693596716,0.14760054404903888 +211,1.2116730645115703,2.009313993035901,0.14944261432331984 +212,1.2121721214185734,2.009348907058859,0.15131696921766158 +213,1.2126631357788533,2.009383439484677,0.15322422931111845 +214,1.2131461072772942,2.0094175945347397,0.15516502992505765 +215,1.2136210383860064,2.009451376840626,0.15714002132378668 +216,1.2140879344165159,2.0094847914506366,0.15914986889013993 +217,1.2145468035690492,2.0095178438361305,0.1611952532715517 +218,1.214997656978886,2.0095505398983886,0.163276870493125 +219,1.2154405087596059,2.0095828859741807,0.16539543203238438 +220,1.2158753760433338,2.0096148888417042,0.1675516648513511 +221,1.2163022790176519,2.009646555725497,0.1697463113799157 +222,1.2167212409592658,2.0096778943017086,0.17198012944506813 +223,1.2171322882642983,2.0097089127027448,0.17425389213916875 +224,1.2175354504751013,2.0097396195212767,0.17656838762061022 +225,1.2179307603034846,2.0097700238143927,0.1789244188390926 +226,1.2183182536502855,2.0098001351067873,0.1813228031775631 +227,1.2186979696211802,2.009829963393986,0.18377513546835744 +228,1.2190699505385467,2.0098595191449835,0.186275565994943 +229,1.2194342419493784,2.0098888133045083,0.18882134800612171 +230,1.2197908926290066,2.009917857294626,0.1914133611821488 +231,1.2201399545805105,2.009946663016576,0.1940524960726523 +232,1.2204814830297166,2.0099752428508584,0.19673965297884677 +233,1.220815536415571,2.010003609658525,0.19947574067279816 +234,1.221142176375688,2.0100317767803606,0.20226468186490631 +235,1.2214614677270241,2.010059758036695,0.20512058012707834 +236,1.2217734784413268,2.010087567726051,0.20802858360258314 +237,1.2220782796152678,2.010115220623691,0.210989625253438 +238,1.222375945435113,2.01014273197911,0.21400463667375658 +239,1.222666553135588,2.010170117513254,0.21707454544864335 +240,1.222950182952963,2.010197393415109,0.2202002722428511 +241,1.2232269180720126,2.01022457633766,0.22338272760470246 +242,1.223496844566806,2.0102516833930126,0.22662280847117688 +243,1.2237600513351223,2.010278732147037,0.22992139436086534 +244,1.2240166300264275,2.010305740613278,0.23327934324298027 +245,1.2242666749633497,2.0103327272458946,0.23669748707159477 +246,1.2245102830564842,2.0103597109320908,0.24017732631301225 +247,1.2247475537126549,2.010386710983798,0.24372636632753908 +248,1.2249785887366014,2.010413747128158,0.24733805271632192 +249,1.2252034922261927,2.0104408394976914,0.25101305729655166 +250,1.2254223704612348,2.0104680086188393,0.2547519980737549 +251,1.2256353317861535,2.0104952754004715,0.2585554326887861 +252,1.2258424864867714,2.0105226611206244,0.2624238515370705 +253,1.2260439466613566,2.010550187412587,0.266357670578821 +254,1.2262398260865301,2.0105778762501605,0.27035722386536853 +255,1.2264302400782034,2.010605749931093,0.2744227558132333 +256,1.2266153053481834,2.010633831060371,0.27855441326528074 +257,1.2267951398568686,2.010662142531454,0.28275223738623223 +258,1.2269698626626684,2.0106907075068117,0.28701615544761727 +259,1.2271395937686762,2.01071954939699,0.2913459725664438 +260,1.2273044539672504,2.0107486918381343,0.29574136347017543 +261,1.2274645646832596,2.0107781586685336,0.30020186436967944 +262,1.2276200478164936,2.0108079739033187,0.3047268650302568 +263,1.2277710255840526,2.01083816170831,0.3093156011390704 +264,1.227917620363398,2.010868746371108,0.313980407329046 +265,1.2280599545366284,2.0108997522719183,0.3187094187076611 +266,1.228198150336725,2.01093120385196,0.32349898922599696 +267,1.2283323296963744,2.010963125580325,0.3283476419985317 +268,1.2284626140999002,2.010995541919102,0.3332554995906736 +269,1.2285891244388538,2.0110284772865805,0.3382277239240544 +270,1.2287119808717908,2.011061956019226,0.343253511993611 +271,1.228831302688609,2.0110960023309516,0.3483424207662077 +272,1.2289472081798087,2.011130640271763,0.35348044519983923 +273,1.2290598145110654,2.0111658936832786,0.3586647662873592 +274,1.2291692376032477,2.0112017861535305,0.3638925365797757 +275,1.2292755920181464,2.011238340969755,0.3691607266676826 +276,1.2293789908500268,2.0112755810693566,0.3744661320295519 +277,1.22947954562306,2.0113135289893163,0.3798053815129523 +278,1.2295773661946936,2.0113522068151526,0.3851749474313908 +279,1.2296725606649095,2.0113916361267545,0.3905711572310586 +280,1.2297652352914072,2.0114318379449547,0.39599020665452 +281,1.229855494410467,2.0114728326759668,0.401428174300139 +282,1.229943440363603,2.011514640055492,0.4068810374495816 +283,1.230029173429736,2.0115572790923784,0.4123446890101343 +284,1.2301127917627857,2.0116007680117174,0.4178149553965911 +285,1.230194391334664,2.011645124198205,0.4232876151577706 +286,1.2302740658833375,2.0116903641397803,0.42875841813777826 +287,1.2303519068660729,2.0117365033712504,0.43422310495113925 +288,1.2304280034175332,2.0117835564195565,0.43967742654480657 +289,1.2305024423127735,2.0118315367495065,0.4451171636193373 +290,1.2305753079349835,2.0118804567114696,0.45053814568504824 +291,1.2306466822478443,2.0119303274904676,0.4559362695383552 +292,1.2307166447725633,2.0119811590576835,0.46130751695621286 +293,1.230785272569369,2.012032960124227,0.466647971424377 +294,1.2308526402234847,2.0120857380971944,0.4719538337356918 +295,1.23091881983559,2.0121394990398542,0.4772214363181563 +296,1.2309838810165583,2.012194247634311,0.48244725617775286 +297,1.2310478908866016,2.01224998714787,0.48762792636793106 +298,1.231110914078644,2.0123067194035853,0.49276024592372625 +299,1.2311730127458824,2.0123644447549176,0.4978411882263225 +300,1.231234246573562,2.0124231620645743,0.5028679077879237 +301,1.2312946727947045,2.0124828686883416,0.5078377454720556 +302,1.2313543462099037,2.0125435604633832,0.5127482321853853 +303,1.231413319210899,2.012605231702029,0.5175970910969999 +304,1.2314716418079423,2.0126678751900333,0.5223822384578627 +305,1.231529361660712,2.01273148219103,0.527101783106707 +306,1.2315865241127018,2.0127960424552707,0.5317540247602349 +307,1.2316431722289034,2.012861544234909,0.5363374511931591 +308,1.231699346836523,2.0129279743037034,0.5408507344193794 +309,1.2317550865686566,2.012995317982854,0.5452927259887604 +310,1.231810427910617,2.0130635591715427,0.5496624515142912 +311,1.2318654052487892,2.013132680383294,0.5539591045432778 +312,1.231920050921666,2.0132026627870503,0.5581820398832457 +313,1.2319743952729965,2.013273486253082,0.5623307664886631 +314,1.2320284667066494,2.0133451294039677,0.5664049400085376 +315,1.2320822917430838,2.0134175696693695,0.5704043550890776 +316,1.2321358950771155,2.0134907833456817,0.5743289375176797 +317,1.2321892996367765,2.013564745658833,0.5781787362872725 +318,1.232242526643067,2.0136394308306396,0.5819539156519719 +319,1.2322955956702681,2.0137148121487236,0.5856547472372216 +320,1.232348524706755,2.0137908620384763,0.5892816022597597 +321,1.2324013302159451,2.0138675521377527,0.5928349439055253 +322,1.2324540271972866,2.013944853373204,0.5963153199054624 +323,1.2325066292470772,2.014022736038119,0.5997276882936906 +324,1.2325591486188778,2.014101169871511,0.6030696560173583 +325,1.2326115962834028,2.014180124137328,0.6063405528759952 +326,1.232663981987753,2.0142595677048507,0.609541196739225 +327,1.232716314313782,2.0143394691276795,0.6126724570265263 +328,1.2327686007354959,2.014419796723216,0.6157352489732858 +329,1.232820847675425,2.0145005186503013,0.6187305282165741 +330,1.23287306055973,2.014581602986565,0.6216592857009904 +331,1.2329252438721148,2.0146630178031977,0.6245225429019386 +332,1.2329774012063055,2.0147447312387112,0.6273213473615011 +333,1.2330295353171776,2.0148267115696443,0.630056768529296 +334,1.2330816481703626,2.014908927279234,0.6327298939001851 +335,1.2331337409903362,2.0149913471234893,0.6353418254382385 +336,1.2331858143069483,2.0150739401939814,0.6378936762760707 +337,1.2332378680003904,2.0151566759778134,0.6403865676773473 +338,1.2332899013445673,2.0152395244138894,0.6428216262501549 +339,1.233341913048839,2.0153224559464413,0.6451999813982761 +340,1.2333939012982131,2.015405441574448,0.6475227629970703 +341,1.2334458637918966,2.015488452897313,0.6497910992812211 +342,1.2334977977803265,2.0155714621576664,0.6520218377763699 +343,1.233549700100647,2.0156544422793203,0.6542011843297278 +344,1.2336015672106158,2.0157373669025125,0.6563290698736052 +345,1.2336533952210882,2.0158202104147276,0.6584065999718074 +346,1.2337051799270107,2.0159029479782498,0.660434871149334 +347,1.233756916837013,2.015985555553773,0.6624149697544106 +348,1.233808601201631,2.0160680099204087,0.6643479709499004 +349,1.2338602280401845,2.0161502886926055,0.6662349378241018 +350,1.2339117921663907,2.016232370333357,0.6680769206106454 +351,1.2339632882127263,2.0163142341640046,0.6698749560089665 +352,1.234014710653589,2.0163958603715693,0.6716300665960445 +353,1.2340660538273382,2.0164772300123026,0.6733432603219497 +354,1.2341173119571778,2.0165583250129266,0.6750155300811821 +355,1.2341684791710346,2.0166391281691762,0.6766478533528743 +356,1.2342195495203796,2.016719623141337,0.6782480450607291 +357,1.2342705169980726,2.016799794448364,0.6798110452542084 +358,1.2343213755552933,2.016879627458816,0.6813367198114746 +359,1.2343721191174994,2.0169591083807514,0.682825985168103 +360,1.2344227415996167,2.017038224248663,0.6842797415033496 +361,1.2344732369202744,2.0171169629101553,0.6856988726577185 +362,1.234523599015316,2.0171953130101064,0.6870842460846336 +363,1.234573821850504,2.017273263973635,0.6884367128324909 +364,1.2346238994334437,2.0173508059880167,0.6897571075538093 +365,1.2346738258247962,2.0174279299837963,0.6910462485389978 +366,1.2347235951487932,2.0175046276144886,0.6923049377715129 +367,1.2347732016030295,2.0175808912361815,0.6935339610025258 +368,1.234822639467592,2.017656713885659,0.6947340878428597 +369,1.2348719031135578,2.0177320892589106,0.6959060718701998 +370,1.2349209870108293,2.017807011688498,0.6970506507501522 +371,1.2349698857353368,2.017881476121102,0.6981685463694113 +372,1.2350185939756837,2.017955478094644,0.6992604649799055 +373,1.2350671065391374,2.0180290137155024,0.7003270973526129 +374,1.2351154183570794,2.018102079635302,0.7013691189401748 +375,1.235163524489884,2.0181746730282817,0.7023871900471179 +376,1.2352114201312494,2.01824679156863,0.7033819560071072 +377,1.235259100611997,2.0183184334077358,0.7043540473665484 +378,1.2353065614033365,2.0183895971518004,0.7053040800733988 +379,1.2353537981196723,2.0184602818403943,0.7062326556712829 +380,1.2354008065208746,2.018530486924232,0.7071403614978065 +381,1.2354475825141018,2.018600212244537,0.7080277708869862 +382,1.2354941221552331,2.0186694580116926,0.7088954433749729 +383,1.2355404216497536,2.0187382247853045,0.7097439249091657 +384,1.235586477353347,2.0188065134545465,0.710573748059723 +385,1.2356322857720126,2.018874325218327,0.7113854322336521 +386,1.235677843561877,2.0189416615672338,0.7121794838908668 +387,1.2357231475286097,2.0190085242647937,0.7129563967620008 +388,1.2357681946265404,2.019074915330188,0.7137166520675898 +389,1.2358129819574555,2.019140837021167,0.7144607187384417 +390,1.23585750676911,2.019206291817671,0.7151890536368365 +391,1.2359017664534997,2.019271282405867,0.715902101778439 +392,1.2359457585448532,2.0193358116630615,0.7166002965543642 +393,1.2359894807174263,2.019399882642952,0.7172840599535577 +394,1.2360329307831062,2.0194634985617093,0.7179538027849578 +395,1.2360761066888069,2.0195266627843584,0.7186099248992318 +396,1.2361190065137464,2.0195893788118418,0.7192528154100861 +397,1.2361616284665162,2.0196516502687514,0.7198828529146118 +398,1.2362039708821289,2.019713480891741,0.720500405712814 +399,1.2362460322188653,2.0197748745179847,0.7211058320257884 +400,1.2362878110550846,2.019835835074851,0.7216994802125961 +401,1.2363293060859895,2.0198963665694945,0.7222816889855668 +402,1.2363705161202483,2.019956473079223,0.7228527876238547 +403,1.236411440076705,2.02001615874237,0.7234130961851117 +404,1.2364520769809435,2.020075427749725,0.7239629257150595 +405,1.2364924259619203,2.0201342843361436,0.72450257845504 +406,1.236532486248563,2.0201927327730846,0.7250323480468839 +407,1.2365722571663924,2.0202507773610803,0.7255525197358315 +408,1.23661173813416,2.020308422422793,0.7260633705703708 +409,1.2366509286605192,2.0203656722965957,0.7265651695998189 +410,1.2366898283407413,2.020422531330797,0.7270581780688685 +411,1.2367284368534872,2.0204790038773113,0.7275426496094035 +412,1.2367667539575915,2.0205350942869367,0.7280208681716459 +413,1.2368047794889705,2.0205908069039276,0.7285001175221126 +414,1.2368425133575578,2.0206461460614458,0.7289711292191974 +415,1.23687995554431,2.0207011160773694,0.7294341430373917 +416,1.2369171060983015,2.0207557212499716,0.7298893915755148 +417,1.2369539651338932,2.020809965854422,0.7303371004430868 +418,1.2369905328279756,2.0208638541391237,0.7307774884431104 +419,1.237026809417323,2.0209173903227025,0.7312107677515066 +420,1.2370627951959625,2.0209705785909664,0.7316371440933063 +421,1.2370984905127347,2.021023423093995,0.7320568169150118 +422,1.2371338957688496,2.02107592794404,0.7324699795539729 +423,1.2371690114155598,2.02112809721292,0.7328768194039125 +424,1.2372038379519399,2.021179934930288,0.7332775180771663 +425,1.2372383759227192,2.0212314450814572,0.7336722515634916 +426,1.2372726259162197,2.021282631606049,0.7340611903853971 +427,1.237306588562382,2.0213334983962743,0.7344444997499999 +428,1.2373402645308427,2.0213840492955275,0.7348223396977056 +429,1.237373654529131,2.021434288097608,0.7351948652472671 +430,1.237406759300924,2.0214842185453215,0.7355622265376972 +431,1.237439579624365,2.0215338443297637,0.7359245689668266 +432,1.237472116310494,2.021583169089619,0.7362820333266785 +433,1.2375043702017077,2.021632196410419,0.7366347559354858 +434,1.2375363421703125,2.0216809298241722,0.7369828687667387 +435,1.2375680331171544,2.021729372808808,0.7373264995749715 +436,1.2375994439702795,2.0217775287880015,0.7376657720185613 +437,1.2376305756836843,2.0218254011311223,0.7380008057795112 +438,1.2376614292361217,2.021872993152811,0.7383317166801154 +439,1.2376920056299425,2.0219203081131147,0.7386586167969998 +440,1.2377223058900189,2.021967349217746,0.7389816145719859 +441,1.2377523310627068,2.0220141196178276,0.7393008149204082 +442,1.2377820822148387,2.0220606224105606,0.7396163193364405 +443,1.2378115604328224,2.0221068606388357,0.7399282259959125 +444,1.2378407668216767,2.0221528372922153,0.7402366298563524 +445,1.237869702504239,2.02219855530686,0.740541622754472 +446,1.2378983686203122,2.0222440175662304,0.7408432935011346 +447,1.2379267663258702,2.022289226901441,0.7411417279738077 +448,1.237954896792369,2.0223341860917468,0.7414370092065031 +449,1.23798276120598,2.02237889786513,0.741729217477518 +450,1.2380103607669168,2.0224233648988617,0.7420184303946096 +451,1.2380376966888211,2.022467589820019,0.7423047229780563 +452,1.238064770198096,2.022511575206288,0.7425881677413941 +453,1.238091582533329,2.022555323586484,0.7428688347700116 +454,1.2381181349447443,2.0225988374414046,0.7431467917976428 +455,1.2381444286935976,2.0226421192042556,0.7434221042805463 +456,1.238170465051703,2.0226851712617284,0.7436948354700258 +457,1.2381962453009137,2.02272799595427,0.7439650464826587 +458,1.2382217707326193,2.022770595577416,0.7442327963686184 +459,1.2382470426473071,2.0228129723819293,0.744498142178156 +460,1.2382720623540946,2.022855128574993,0.7447611390262691 +461,1.2382968311703066,2.0228970663208026,0.7450218401553692 +462,1.2383213504210657,2.0229387877414577,0.7452802969964105 +463,1.2383456214388635,2.022980294917646,0.7455365592280363 +464,1.238369645563219,2.0230215898894053,0.7457906748342773 +465,1.2383934241402592,2.023062674656875,0.7460426901603725 +466,1.2384169585223934,2.02310355118125,0.7462926499671947 +467,1.238440250067943,2.023144221385306,0.7465405974838685 +468,1.2384633001408016,2.02318468715443,0.7467865744590543 +469,1.238486110110135,2.0232249503373594,0.7470306212106681 +470,1.238508681350028,2.0232650127466227,0.7472727766740338 +471,1.2385310152391962,2.02330487615981,0.74751307844881 +472,1.2385531131606815,2.0233445423198653,0.7477515628442887 +473,1.2385749765015597,2.023384012936113,0.747988264923552 +474,1.2385966066526615,2.023423289684932,0.748223218546215 +475,1.2386180050082978,2.02346237421054,0.7484564564097963 +476,1.238639172965983,2.0235012681256053,0.7486880100899796 +477,1.238660111926167,2.0235399730119727,0.7489179100795619 +478,1.238680823292001,2.023578490421355,0.7491461858261929 +479,1.2387013084690592,2.0236168218762645,0.7493728657690272 +480,1.2387215688651214,2.0236549688704506,0.7495983521765592 +481,1.238741605889907,2.0236929328695554,0.7498226067196585 +482,1.2387614209548672,2.023730715311975,0.7500453372295173 +483,1.2387810154729286,2.023768317609292,0.7502665685169045 +484,1.2388003908582887,2.023805741147178,0.7504863245511844 +485,1.2388195485261708,2.0238429872856565,0.750704628490444 +486,1.2388384898926414,2.0238800573601923,0.7509215027107143 +487,1.2388572163743556,2.023916952681892,0.7511369688342193 +488,1.2388757293883792,2.023953674538322,0.7513510477567157 +489,1.238894030351976,2.0239902241941015,0.7515637596739506 +490,1.238912120682397,2.024026602891216,0.7517751241072879 +491,1.238930001796667,2.0240628118499084,0.7519851599284056 +492,1.2389476751114405,2.02409885226898,0.752193885383282 +493,1.2389651420427528,2.024134725326489,0.7524013181153183 +494,1.2389824040058521,2.0241704321803353,0.7526074751877219 +495,1.2389994624150285,2.0242059739683462,0.7528123731051362 +496,1.2390163186834047,2.0242413518094344,0.7530160278344922 +497,1.2390329742227648,2.024276566803561,0.75321845482527 +498,1.2390494304434008,2.0243116200323454,0.7534196690289797 +499,1.2390656887538887,2.0243465125597706,0.7536196849179445 +500,1.2390817505609664,2.024381245432267,0.7538185165035128 +501,1.239097617269333,2.0244158196795916,0.754016177353699 +502,1.239113290281508,2.024450236314829,0.7542126806100168 +503,1.2391287709976562,2.0244844963350315,0.7544080390039362 +504,1.239144060815416,2.0245186007216467,0.75460226487262 +505,1.2391591611297776,2.024552550440874,0.7547953701741045 +506,1.2391740733328847,2.0245863464440297,0.754987366502165 +507,1.2391887988139587,2.024619989667992,0.7551782651002759 +508,1.2392033389590413,2.0246534810357395,0.7553680768754029 +509,1.2392176951509672,2.0246868214562705,0.7555568124111369 +510,1.239231868769146,2.024720011825378,0.755744481980438 +511,1.2392458611894628,2.0247530530258375,0.7559310955577616 +512,1.23925967378413,2.0247859459276047,0.7561166628310211 +513,1.2392733079215636,2.024818691388377,0.7563011932127252 +514,1.239286764966258,2.0248512902538978,0.7564846958511322 +515,1.2393000462786528,2.024883743357931,0.7566673266468747 +516,1.239313153215031,2.0249160515230407,0.7568490818985357 +517,1.2393260871273801,2.024948215560716,0.7570298312701779 +518,1.239338849363314,2.024980236271434,0.7572095830870225 +519,1.2393514412659143,2.0250121144450564,0.7573883454538097 +520,1.239363864173676,2.0250438508613557,0.7575661262638127 +521,1.2393761194203736,2.0250754462899407,0.7577429332072204 +522,1.2393882083349699,2.0251069014907244,0.7579187737795483 +523,1.239400132241528,2.0251382172139785,0.7580936552894411 +524,1.2394118924591069,2.025169394200793,0.7582675848663191 +525,1.2394234903016865,2.025200433183065,0.7584405694676889 +526,1.239434927078079,2.0252313348840905,0.7586126158861748 +527,1.2394462040918364,2.025262100018392,0.7587837307563079 +528,1.2394573226411958,2.025292729292119,0.758953920560941 +529,1.239468284018981,2.025323223403333,0.7591231916375739 +530,1.2394790895125538,2.02535358304208,0.759291550184236 +531,1.2394897404037226,2.0253838088905227,0.7594590022653959 +532,1.2395002379687037,2.0254139016234767,0.7596255538172861 +533,1.239510583478039,2.0254438619082586,0.7597912106533464 +534,1.2395207781965476,2.0254736904048767,0.7599559784692795 +535,1.239530823383274,2.025503387766314,0.7601198628478448 +536,1.2395407202914264,2.02553295463875,0.7602828692636591 +537,1.2395504701683455,2.025562391661753,0.7604450030876029 +538,1.2395600742554396,2.0255916994682805,0.7606062695911361 +539,1.2395695337881523,2.0256208786849603,0.7607666739504875 +540,1.2395788499959197,2.0256499299319675,0.7609262212504918 +541,1.2395880241021395,2.0256788538236763,0.7610849164885117 +542,1.239597057324123,2.0257076509685263,0.7612427645779457 +543,1.2396059508730828,2.0257363219688775,0.7613997703518105 +544,1.2396147059540823,2.025764867421754,0.7615559385659864 +545,1.2396233237660255,2.025793287918582,0.7617112739024917 +546,1.239631805501612,2.0258215840453127,0.761865780972445 +547,1.2396401523473624,2.0258497563826094,0.7620194643190846 +548,1.239648365483533,2.02587780550614,0.7621723284204942 +549,1.239656446084139,2.025905731986422,0.7623243776923001 +550,1.23966439531694,2.0259335363891426,0.76247561649027 +551,1.2396722143433982,2.0259612192749565,0.7626260491126441 +552,1.2396799043186986,2.0259887812002773,0.7627756798026596 +553,1.239687466391727,2.0260162227167684,0.7629245127506545 +554,1.2396949017050465,2.0260435443712295,0.7630725520962227 +555,1.239702211394909,2.026070746706507,0.7632198019302987 +556,1.2397093965912445,2.026097830261041,0.7633662662970638 +557,1.2397164584176714,2.0261247955690753,0.7635119491959023 +558,1.2397233979914626,2.0261516431606847,0.7636568545830055 +559,1.23973021642357,2.026178373561938,0.7638009863733216 +560,1.239736914818607,2.0262049872952055,0.7639443484419433 +561,1.2397434942748808,2.0262314848787164,0.7640869446257385 +562,1.2397499558843594,2.02625786682707,0.7642287787249806 +563,1.2397563007327037,2.026284133651252,0.7643698545044977 +564,1.239762529899237,2.026310285858536,0.7645101756951731 +565,1.239768644456989,2.0263363239527474,0.7646497459952256 +566,1.2397746454726974,2.0263622484341317,0.7647885690713822 +567,1.2397805340067756,2.0263880597997037,0.7649266485600916 +568,1.239786311113376,2.026413758542999,0.765063988068519 +569,1.2397919778403519,2.0264393451544724,0.7652005911758064 +570,1.2397975352293042,2.0264648201211894,0.7653364614338919 +571,1.2398029843155585,2.0264901839273954,0.7654716023685586 +572,1.2398083261282027,2.026515437053914,0.7656060174803117 +573,1.2398135616900845,2.026540579978793,0.7657397102452641 +574,1.2398186920178258,2.026565613176966,0.7658726841159759 +575,1.2398237181218326,2.0265905371206987,0.7660049425222034 +576,1.2398286410063075,2.0266153522792507,0.766136488871688 +577,1.239833461669272,2.0266400591191904,0.7662673265508091 +578,1.239838181102563,2.026664658104293,0.7663974589253214 +579,1.239842800291863,2.026689149695542,0.7665268893409432 +580,1.2398473202167033,2.026713534351582,0.7666556211240192 +581,1.2398517418504773,2.0267378125282103,0.7667836575820834 +582,1.2398560661604603,2.0267619846787697,0.7669110664263569 +583,1.2398602941078218,2.0267860512540885,0.7670380760326475 +584,1.239864426647636,2.0268100127024486,0.7671643981410193 +585,1.2398684647289122,2.0268338694698347,0.7672900360075671 +586,1.2398724092945848,2.026857622000005,0.7674149928714821 +587,1.239876261281545,2.0268812707340036,0.7675392719556732 +588,1.2398800216206542,2.0269048161107754,0.7676628764670116 +589,1.2398836912367526,2.0269282585669783,0.7677858095968322 +590,1.2398872710486866,2.026951598537073,0.7679080745212654 +591,1.2398907619693114,2.026974836453431,0.7680296744016524 +592,1.2398941649055069,2.0269979727459506,0.7681506123847397 +593,1.2398974807582073,2.027021007842657,0.7682708916031602 +594,1.239900710422409,2.027043942169368,0.7683905151756398 +595,1.239903854787169,2.027066776149794,0.7685094862072862 +596,1.239906914735646,2.027089510205869,0.7686278077898945 +597,1.239909891145116,2.0271121447572042,0.7687454830022094 +598,1.2399127848869553,2.027134680221567,0.7688625149100933 +599,1.2399155968267093,2.027157117014741,0.7689789065668233 +600,1.2399183278240535,2.027179455550661,0.7690946610132887 +601,1.2399209787328378,2.027201696241233,0.7692097812782185 +602,1.239923550401118,2.027223839496522,0.7693242703783151 +603,1.2399260436711308,2.027245885724863,0.7694381313184553 +604,1.2399284593793414,2.027267835332532,0.7695513670919578 +605,1.239930798356466,2.0272896887241374,0.769663980680575 +606,1.239933061427442,2.027311446302519,0.7697759750547564 +607,1.2399352494115037,2.0273331084686625,0.7698873531738066 +608,1.2399373631221537,2.0273546756217917,0.7699981179859777 +609,1.2399394033671942,2.0273761481596235,0.7701082724285591 +610,1.2399413709487646,2.0273975264777953,0.7702178194281182 +611,1.239943266663319,2.0274188109706595,0.7703267619004744 +612,1.2399450913016759,2.027440002030508,0.7704351027509356 +613,1.2399468456490046,2.027461100048179,0.7705428448742904 +614,1.2399485304848858,2.02748210541282,0.7706499911549813 +615,1.2399501465832765,2.0275030185120904,0.770756544467102 +616,1.2399516947125688,2.0275238397318684,0.7708625076746012 +617,1.2399531756355884,2.0275445694564938,0.7709678836312984 +618,1.2399545901096067,2.027565208068786,0.7710726751809416 +619,1.2399559388863801,2.0275857559499415,0.7711768851572727 +620,1.2399572227121416,2.0276062134794746,0.7712805163841683 +621,1.2399584423276382,2.0276265810356295,0.7713835716756021 +622,1.2399595984681366,2.0276468589949213,0.7714860538357367 +623,1.2399606918634472,2.0276670477324283,0.7715879656590475 +624,1.2399617232379425,2.027687147621811,0.7716893099302361 +625,1.239962693310576,2.027707159035103,0.771790089424395 +626,1.2399636027948897,2.027727082342889,0.7718903069070084 +627,1.2399644523990483,2.027746917914289,0.7719899651339797 +628,1.2399652428258443,2.0277666661170404,0.7720890668516749 +629,1.2399659747727325,2.027786327317467,0.772187614796983 +630,1.2399666489318317,2.0278059018803147,0.7722856116973198 +631,1.2399672659899494,2.027825390169031,0.7723830602706814 +632,1.2399678266286158,2.0278447925454888,0.7724799632256459 +633,1.2399683315240724,2.0278641093702663,0.7725763232614138 +634,1.2399687813473277,2.0278833410025796,0.7726721430678235 +635,1.2399691767641428,2.027902487800208,0.7727674253254151 +636,1.2399695184350767,2.0279215501195247,0.772862172705406 +637,1.239969807015503,2.027940528315546,0.7729563878697052 +638,1.2399700431555971,2.0279594227419935,0.7730500734709598 +639,1.2399702275004185,2.0279782337510768,0.7731432321525873 +640,1.239970360689869,2.027996961694009,0.7732358665487081 +641,1.2399704433587562,2.02801560692012,0.7733279792842767 +642,1.2399704761367913,2.028034169777897,0.7734195729750027 +643,1.2399704596486127,2.0280526506142267,0.7735106502273935 +644,1.2399703945138167,2.0280710497747063,0.773601213638784 +645,1.2399702813469773,2.0280893676037577,0.7736912657973021 +646,1.2399701207576599,2.0281076044443376,0.7737808092819417 +647,1.2399699133504374,2.02812576063816,0.7738698466624825 +648,1.239969659724932,2.02814383652571,0.773958380499592 +649,1.2399693604758277,2.0281618324460333,0.7740464133447765 +650,1.2399690161928825,2.0281797487370894,0.774133947740381 +651,1.2399686274609587,2.028197585735308,0.7742209862196489 +652,1.2399681948600527,2.0282153437761266,0.7743075313066684 +653,1.2399677189652976,2.0282330231936094,0.7743935855163957 +654,1.2399672003470048,2.0282506243204925,0.7744791513547034 +655,1.2399666395706808,2.0282681474882476,0.7745642313182962 +656,1.239966037197038,2.028285593027151,0.7746488278947831 +657,1.2399653937820452,2.0283029612662413,0.7747329435626903 +658,1.2399647098769164,2.028320252533374,0.7748165807913818 +659,1.239963986028162,2.0283374671550924,0.774899742041171 +660,1.239963222777588,2.0283546054565775,0.7749824297632458 +661,1.2399624206623499,2.0283716677619394,0.7750646463996512 +662,1.2399615802149433,2.0283886543941088,0.7751463943834289 +663,1.239960701963252,2.0284055656747695,0.7752276761383957 +664,1.2399597864305443,2.028422401924294,0.7753084940794229 +665,1.2399588341355439,2.0284391634618504,0.7753888506121709 +666,1.2399578455923967,2.0284558506055905,0.7754687481332813 +667,1.2399568213107321,2.0284724636722675,0.7755481890302603 +668,1.239955761795685,2.0284890029774263,0.7756271756815656 +669,1.239954667547902,2.0285054688355326,0.7757057104565195 +670,1.2399535390635756,2.0285218615598923,0.7757837957154097 +671,1.2399523768344702,2.0285381814625585,0.7758614338094368 +672,1.2399511813479496,2.028554428854335,0.7759386270807237 +673,1.23994995308699,2.0285706040449654,0.7760153778622908 +674,1.2399486925302106,2.0285867073427912,0.7760916884781135 +675,1.2399474001518986,2.028602739055307,0.776167561243065 +676,1.2399460764220387,2.0286186994887507,0.776242998462989 +677,1.239944721806321,2.028634588948039,0.7763180024346147 +678,1.2399433367661938,2.028650407737134,0.7763925754456883 +679,1.2399419217588468,2.028666156158674,0.7764667197747797 +680,1.2399404772372924,2.0286818345141913,0.7765404376915007 +681,1.239939003650325,2.0286974431041367,0.7766137314563774 +682,1.239937501442601,2.0287129822277343,0.7766866033208729 +683,1.2399359710546456,2.0287284521830546,0.7767590555273961 +684,1.2399344129228467,2.0287438532671835,0.7768310903093345 +685,1.2399328274795365,2.0287591857757867,0.7769027098910316 +686,1.2399312151529718,2.028774450003762,0.7769739164877973 +687,1.23992957636738,2.028789646244592,0.7770447123059085 +688,1.2399279115429722,2.0288047747907947,0.777115099542613 +689,1.23992622109597,2.02881983593358,0.7771850803861625 +690,1.2399245054386596,2.0288348299632233,0.7772546570157417 +691,1.2399227649793532,2.028849757168923,0.7773238316015783 +692,1.2399210001224825,2.028864617838635,0.7773926063048908 +693,1.239919211268587,2.0288794122592058,0.7774609832778938 +694,1.2399173988143348,2.0288941407163295,0.777528964663783 +695,1.2399155631525707,2.0289088034947236,0.7775965525968019 +696,1.2399137046723137,2.0289234008780017,0.7776637492022332 +697,1.2399118237588145,2.0289379331486956,0.7777305565963613 +698,1.2399099207935462,2.028952400588053,0.7777969768865112 +699,1.239907996154257,2.028966803476436,0.7778630121710606 +700,1.2399060502149744,2.0289811420930954,0.7779286645394475 +701,1.2399040833460555,2.0289954167160618,0.777993936072184 +702,1.2399020959141658,2.0290096276224467,0.7780588288408219 +703,1.2399000882823674,2.029023775088141,0.7781233449080055 +704,1.239898060810085,2.0290378593882097,0.7781874863274876 +705,1.2398960138531603,2.029051880796332,0.7782512551441056 +706,1.2398939477638775,2.0290658395853196,0.7783146533938377 +707,1.2398918628909847,2.029079736026722,0.7783776831037248 +708,1.239889759579699,2.029093570391381,0.7784403462919967 +709,1.2398876381717694,2.0291073429487985,0.7785026449679807 +710,1.2398854990054553,2.0291210539673865,0.7785645811322087 +711,1.2398833424155953,2.0291347037147216,0.7786261567762996 +712,1.2398811687335989,2.0291482924571245,0.7786873738831485 +713,1.239878978287486,2.029161820460118,0.7787482344267426 +714,1.2398767714019117,2.0291752879879246,0.7788087403723549 +715,1.2398745483981823,2.029188695303918,0.7788688936764419 +716,1.2398723095942847,2.029202042670264,0.778928696286668 +717,1.2398700553049065,2.0292153303482254,0.7789881501419282 +718,1.2398677858414593,2.0292285585979477,0.779047257172435 +719,1.2398655015121258,2.029241727678591,0.7791060192996035 +720,1.2398632026218364,2.029254837848314,0.7791644384361812 +721,1.2398608894723362,2.0292678893642178,0.7792225164861704 +722,1.239858562362188,2.0292808824823947,0.7792802553449204 +723,1.2398562215868039,2.029293817457937,0.7793376568990731 +724,1.2398538674384543,2.029306694544846,0.7793947230266577 +725,1.239851500206313,2.0293195139962985,0.7794514555970141 +726,1.2398491201764734,2.0293322760643155,0.7795078564708956 +727,1.2398467276319485,2.029344980999936,0.7795639275004224 +728,1.2398443228527285,2.0293576290532864,0.7796196705291334 +729,1.2398419061157853,2.029370220473284,0.779675087391989 +730,1.2398394776951018,2.0293827555080615,0.7797301799154042 +731,1.2398370378616823,2.0293952344046957,0.779784949917205 +732,1.2398345868835918,2.029407657409264,0.7798393992067673 +733,1.2398321250259658,2.0294200247668592,0.7798935295848899 +734,1.2398296525510448,2.029432336721575,0.7799473428438991 +735,1.2398271697181875,2.0294445935165117,0.7800008407677139 +736,1.2398246767838954,2.029456795393923,0.7800540251316932 +737,1.239822174001831,2.029468942594913,0.7801068977028748 +738,1.2398196616228545,2.029481035359818,0.7801594602398065 +739,1.2398171398950313,2.0294930739278714,0.7802117144926656 +740,1.2398146090636535,2.029505058537447,0.7802636622032956 +741,1.2398120693712722,2.029516989425696,0.7803153051051026 +742,1.2398095210577134,2.029528866829094,0.7803666449232208 +743,1.2398069643601006,2.0295406909830502,0.7804176833745008 +744,1.2398043995128734,2.029552462121905,0.78046842216738 +745,1.2398018267478155,2.029564180479401,0.7805188630021318 +746,1.23979924629407,2.0295758462880436,0.7805690075707612 +747,1.2397966583781537,2.0295874597794414,0.7806188575569787 +748,1.2397940632240032,2.029599021184306,0.7806684146363522 +749,1.2397914610529697,2.0296105307324064,0.7807176804762579 +750,1.2397888520838516,2.0296219886525,0.7807666567358821 +751,1.2397862365329186,2.0296333951725827,0.7808153450662505 +752,1.23978361461392,2.0296447505196418,0.7808637471103115 +753,1.2397809865381204,2.029656054919746,0.780911864502895 +754,1.2397783525143076,2.0296673085979613,0.7809597933567597 +755,1.2397757127488156,2.0296785117784313,0.7810076182959144 +756,1.2397730674455625,2.0296896646844833,0.7810551617003657 +757,1.2397704168060333,2.0297007675386625,0.7811024251830684 +758,1.2397677610293405,2.029711820562252,0.7811494103489596 +759,1.2397651003122154,2.029722823975969,0.7811961187949917 +760,1.239762434849046,2.0297337779993825,0.7812425521100687 +761,1.239759764831879,2.02974468285129,0.781288711875158 +762,1.2397570904504576,2.0297555387496335,0.7813345996633212 +763,1.2397544118922408,2.029766345911328,0.7813802170396592 +764,1.23975172934239,2.029777104552384,0.7814255655613854 +765,1.2397490429838414,2.029787814888126,0.7814706467778426 +766,1.239746352997278,2.029798477132859,0.7815154622305795 +767,1.2397436595611655,2.029809091500009,0.7815600134532819 +768,1.2397409628517981,2.0298196582020926,0.7816043019718485 +769,1.23973826304326,2.029830177450756,0.7816483293044096 +770,1.2397355603075098,2.029840649456932,0.7816920969613796 +771,1.2397328548143345,2.029851074430502,0.7817356064454025 +772,1.2397301467314226,2.029861452580574,0.7817788592515044 +773,1.2397274362243493,2.02987178411525,0.781821856866965 +774,1.239724723456604,2.0298820692420305,0.7818646007714809 +775,1.2397220085896123,2.029892308167272,0.7819070924371178 +776,1.2397192917827626,2.0299025010967293,0.7819493333283655 +777,1.2397165731933855,2.0299126482349936,0.7819913249020878 +778,1.2397138529768297,2.029922749786146,0.7820330686076892 +779,1.239711131286427,2.0299328059532353,0.7820745658870478 +780,1.2397084082735392,2.029942816938545,0.7821158181744899 +781,1.2397056840875678,2.0299527829434414,0.7821568268969908 +782,1.239702958875982,2.0299627041685175,0.7821975934740006 +783,1.2397002327843032,2.02997258081345,0.7822381193176443 +784,1.2396975059561655,2.029982413077195,0.7822784058325793 +785,1.2396947785333032,2.029992201157778,0.7823184544161861 +786,1.2396920506555775,2.0300019452525055,0.7823582664584829 +787,1.2396893224609962,2.030011645557714,0.7823978433422006 +788,1.2396865940857205,2.030021302269052,0.7824371864428082 +789,1.239683865664094,2.0300309155813805,0.7824762971284976 +790,1.2396811373286531,2.030040485688532,0.7825151767602664 +791,1.2396784092101318,2.030050012783736,0.782553853302632 +792,1.239675681437512,2.0300594970593915,0.7825924129636443 +793,1.2396729541379932,2.030068938706932,0.7826307446752995 +794,1.2396702274370561,2.0300783379171548,0.7826688497771609 +795,1.2396675014584315,2.0300876948800783,0.7827067296015685 +796,1.239664776324162,2.030097009784697,0.7827443854737658 +797,1.2396620521545791,2.0301062828194163,0.7827818187119259 +798,1.2396593290683458,2.0301155141718477,0.7828190306271289 +799,1.2396566071824615,2.030124704028749,0.7828560225234659 +800,1.2396538866122657,2.030133852576067,0.7828927956979984 +801,1.2396511674714945,2.0301429599989875,0.7829293514407569 +802,1.2396484498722256,2.0301520264818955,0.7829656910349386 +803,1.239645733924971,2.030161052208461,0.7830018157567211 +804,1.239643019738636,2.0301700373616556,0.783037726875457 +805,1.2396403074205629,2.0301789821234952,0.7830734256535677 +806,1.2396375970765334,2.0301878866753427,0.783108913346701 +807,1.2396348888107842,2.0301967511977748,0.783144191203687 +808,1.2396321827260357,2.0302055758703927,0.7831792604665433 +809,1.239629478923478,2.0302143608724688,0.7832141223705424 +810,1.2396267775028176,2.0302231063822047,0.7832487781442569 +811,1.2396240785622648,2.030231812577057,0.7832832290095907 +812,1.239621382198576,2.03024047963389,0.783317476181701 +813,1.239618688507033,2.03024910772865,0.7833515759451767 +814,1.2396159975814836,2.030257697036591,0.7833855754060369 +815,1.2396133095143562,2.0302662477322726,0.7834193737374244 +816,1.2396106243966418,2.030274759989613,0.7834529721356827 +817,1.2396079423179585,2.0302832339814305,0.783486371790531 +818,1.2396052633665193,2.0302916698801647,0.7835195738851218 +819,1.239602587629172,2.030300067857328,0.7835525795961287 +820,1.2395999151914028,2.0303084280838615,0.783585390093651 +821,1.2395972461373412,2.0303167507297393,0.7836180065413937 +822,1.2395945805498045,2.0303250359644265,0.7836504300965533 +823,1.2395919185102713,2.030333283956646,0.7836826619099374 +824,1.2395892600989185,2.0303414948741905,0.7837147031260093 +825,1.239586605394634,2.03034966888455,0.7837465548827812 +826,1.2395839544750205,2.030357806154001,0.7837782183120445 +827,1.2395813074164095,2.0303659068484183,0.7838096945391975 +828,1.2395786642938762,2.0303739711330087,0.7838409846834189 +829,1.2395760251812569,2.030381999171962,0.7838720898576335 +830,1.2395733901511576,2.030389991129033,0.783903011168516 +831,1.2395707592749639,2.030397947167207,0.7839337497166332 +832,1.2395681326228492,2.030405867448712,0.7839643065963131 +833,1.239565510263809,2.0304137521352987,0.7839946828957753 +834,1.2395628922656334,2.0304216013876006,0.7840248796971631 +835,1.2395602786949615,2.0304294153660654,0.7840548980765152 +836,1.2395576696172728,2.030437194230182,0.7840847391038571 +837,1.2395550650968925,2.0304449381386536,0.7841144038431702 +838,1.2395524651970147,2.030452647249566,0.7841438933524337 +839,1.2395498699797134,2.0304603217204216,0.7841732086836859 +840,1.2395472795059441,2.030467961708067,0.7842023508830354 +841,1.2395446938355772,2.0304755673686166,0.7842313209906603 +842,1.2395421130273812,2.030483138857439,0.7842601200409034 +843,1.239539537139048,2.030490676329287,0.7842887490621905 +844,1.2395369662272155,2.030498179938241,0.7843172090771754 +845,1.2395344003474553,2.030505649837727,0.7843455011026926 +846,1.2395318395542996,2.0305130861805765,0.7843736261498299 +847,1.2395292839012446,2.0305204891187367,0.7844015852239089 +848,1.2395267334407702,2.030527858803819,0.7844293793245408 +849,1.239524188224348,2.0305351953864657,0.7844570094456715 +850,1.2395216483024392,2.0305424990169705,0.7844844765755672 +851,1.239519113724519,2.030549769844631,0.7845117816968374 +852,1.2395165845390845,2.0305570080184285,0.7845389257865767 +853,1.239514060793667,2.030564213686514,0.7845659098162266 +854,1.2395115425348402,2.030571386996367,0.7845927347516555 +855,1.2395090298082252,2.0305785280948245,0.78461940155328 +856,1.2395065226584918,2.0305856371282727,0.7846459111759768 +857,1.2395040211294193,2.0305927142422435,0.784672264569161 +858,1.239501525263832,2.0305997595818788,0.7846984626767882 +859,1.2394990351036632,2.030606773291411,0.7847245064374336 +860,1.2394965506899562,2.030613755514576,0.7847503967842582 +861,1.2394940720628425,2.0306207063944726,0.7847761346450567 +862,1.239491599261594,2.030627626073652,0.7848017209422967 +863,1.2394891323246113,2.0306345146938436,0.7848271565931227 +864,1.2394866712894317,2.0306413723963077,0.7848524425093732 +865,1.239484216192748,2.0306481993218193,0.7848775795977028 +866,1.2394817670704006,2.030654995610293,0.7849025687594537 +867,1.2394793239574207,2.030661761401094,0.7849274108908206 +868,1.2394768868879924,2.030668496833014,0.7849521068827742 +869,1.239474455895506,2.03067520204427,0.7849766576211339 +870,1.2394720310125422,2.0306818771723116,0.7850010639866146 +871,1.239469612270888,2.030688522354199,0.7850253268548345 +872,1.2394671997015447,2.030695137726357,0.7850494470962898 +873,1.239464793334731,2.0307017234244156,0.7850734255764447 +874,1.2394623931999054,2.03070827958369,0.7850972631557677 +875,1.2394599993257778,2.0307148063387026,0.7851209606896861 +876,1.239457611740279,2.030721303823285,0.7851445190286663 +877,1.2394552304706201,2.030727772170988,0.7851679390182027 +878,1.239452855543278,2.0307342115145803,0.7851912214989125 +879,1.2394504869839982,2.0307406219864097,0.7852143673064715 +880,1.2394481248178062,2.0307470037180355,0.785237377271696 +881,1.239445769069029,2.0307533568405036,0.7852602522205473 +882,1.239443419761297,2.0307596814843083,0.7852829929741727 +883,1.2394410769175361,2.030765977779276,0.7853056003488907 +884,1.2394387405599863,2.030772245854969,0.7853280751562712 +885,1.2394364107102316,2.0307784858400093,0.7853504182031039 +886,1.2394340873891725,2.0307846978625452,0.7853726302914866 +887,1.2394317706170472,2.030790882050281,0.785394712218781 +888,1.2394294604134588,2.0307970385302987,0.7854166647776853 +889,1.2394271567973554,2.0308031674290934,0.7854384887562622 +890,1.2394248597870428,2.0308092688725425,0.7854601849379037 +891,1.2394225694002063,2.0308153429861067,0.7854817541014119 +892,1.2394202856539065,2.03082138989463,0.7855031970209994 +893,1.239418008564601,2.0308274097223737,0.7855245144663701 +894,1.2394157381481146,2.030833402593125,0.785545707202614 +895,1.2394134744197047,2.0308393686299455,0.7855667759903582 +896,1.2394112173940182,2.0308453079555395,0.7855877215857474 +897,1.2394089670851147,2.030851220691986,0.7856085447404253 +898,1.2394067235064914,2.030857106960914,0.7856292462016442 +899,1.239404486671061,2.030862966883219,0.78564982671219 +900,1.2394022565911897,2.030868800579436,0.7856702870104908 +901,1.2394000332786608,2.030874608169475,0.7856906278305631 +902,1.2393978167447286,2.030880389772722,0.7857108499021341 +903,1.2393956070001073,2.0308861455080263,0.7857309539505517 +904,1.2393934040549606,2.030891875493797,0.785750940696913 +905,1.2393912079189433,2.030897579847834,0.7857708108579554 +906,1.2393890186011631,2.030903258687437,0.7857905651462355 +907,1.2393868361102285,2.030908912129347,0.7858102042700611 +908,1.2393846604542333,2.030914540289707,0.7858297289335318 +909,1.2393824916407703,2.030920143284459,0.7858491398365115 +910,1.2393803296769423,2.030925721228587,0.7858684376747417 +911,1.2393781745693568,2.030931274237013,0.7858876231398143 +912,1.2393760263241242,2.030936802423768,0.7859066969191962 +913,1.2393738849468983,2.0309423059024905,0.785925659696237 +914,1.2393717504428616,2.0309477847865125,0.7859445121502383 +915,1.2393696228167157,2.030953239188321,0.7859632549564536 +916,1.2393675020727102,2.0309586692201154,0.7859818887860177 +917,1.239365388214651,2.030964074993565,0.7860004143061504 +918,1.239363281245893,2.030969456619842,0.7860188321800474 +919,1.2393611811693337,2.0309748142096167,0.78603714306691 +920,1.2393590879874588,2.0309801478729788,0.7860553476220556 +921,1.2393570017023117,2.0309854577196247,0.7860734464967992 +922,1.2393549223155234,2.0309907438587262,0.7860914403385932 +923,1.2393528498282944,2.030996006398867,0.7861093297909943 +924,1.239350784241421,2.031001245448325,0.7861271154936722 +925,1.2393487255552902,2.0310064611148007,0.7861447980825259 +926,1.2393466737698877,2.0310116535055642,0.7861623781895685 +927,1.239344628884804,2.0310168227273335,0.7861798564430381 +928,1.239342590899248,2.031021968886279,0.7861972334673896 +929,1.2393405598120326,2.031027092088227,0.7862145098832989 +930,1.2393385356215978,2.0310321924385653,0.7862316863077444 +931,1.2393365183260054,2.031037270042025,0.7862487633539582 +932,1.2393345079229507,2.031042325003003,0.7862657416314837 +933,1.2393325044097698,2.0310473574253276,0.7862826217461905 +934,1.2393305077834373,2.031052367412468,0.7862994043002655 +935,1.2393285180405749,2.0310573550674396,0.7863160898923219 +936,1.2393265351774583,2.0310623204925893,0.7863326791172554 +937,1.2393245591900033,2.0310672637900615,0.7863491725664717 +938,1.2393225900738212,2.0310721850612783,0.7863655708277153 +939,1.2393206278241629,2.0310770844074306,0.786381874485238 +940,1.2393186724359557,2.0310819619291927,0.7863980841197372 +941,1.239316723903812,2.031086817726692,0.7864142003083422 +942,1.2393147822220154,2.031091651899783,0.7864302236247465 +943,1.2393128473845465,2.031096464547526,0.786446154639127 +944,1.239310919385067,2.0311012557690677,0.7864619939182454 +945,1.2393089982169403,2.0311060256625817,0.7864777420253839 +946,1.2393070838732203,2.031110774326028,0.786493399520389 +947,1.2393051763466747,2.03111550185688,0.7865089669597489 +948,1.2393032756297842,2.031120208352298,0.7865244448965573 +949,1.2393013817147247,2.031124893908838,0.7865398338805074 +950,1.2392994945934097,2.0311295586226374,0.7865551344580043 +951,1.2392976142574572,2.0311342025895494,0.786570347172085 +952,1.2392957406982301,2.031138825904793,0.7865854725625003 +953,1.2392938739068047,2.031143428663286,0.7866005111656954 +954,1.2392920138740062,2.031148010959504,0.7866154635148553 +955,1.2392901605903979,2.0311525728874003,0.7866303301399166 +956,1.239288314046266,2.0311571145406146,0.786645111567574 +957,1.239286474231672,2.0311616360122944,0.7866598083213163 +958,1.23928464113641,2.0311661373950716,0.7866744209214088 +959,1.2392828147500368,2.0311706187813967,0.7866889498849545 +960,1.239280995061869,2.031175080263037,0.7867033957259267 +961,1.2392791820609912,2.0311795219316333,0.7867177589550881 +962,1.2392773757362452,2.031183943878143,0.7867320400801159 +963,1.2392755760762502,2.0311883461931566,0.7867462396055864 +964,1.2392737830693972,2.031192728966964,0.7867603580329713 +965,1.2392719967038537,2.0311970922894096,0.7867743958606693 +966,1.2392702169675898,2.031201436249852,0.7867883535840006 +967,1.2392684438483266,2.031205760937388,0.7868022316953054 +968,1.239266677333602,2.0312100664404977,0.7868160306838707 +969,1.2392649174107397,2.031214352847518,0.7868297510359507 +970,1.239263164066875,2.031218620246128,0.78684339323487 +971,1.2392614172889158,2.031222868723696,0.7868569577609138 +972,1.2392596770635893,2.0312270983672516,0.7868704450915155 +973,1.2392579433774271,2.0312313092633003,0.7868838557010617 +974,1.239256216216789,2.031235501498175,0.7868971900611139 +975,1.2392544955678193,2.0312396751576256,0.7869104486402434 +976,1.2392527814165055,2.03124383032691,0.7869236319042191 +977,1.2392510737486522,2.031247967091296,0.7869367403158868 +978,1.239249372549876,2.031252085535151,0.7869497743352476 +979,1.239247677805627,2.0312561857428837,0.7869627344195059 +980,1.2392459895011967,2.031260267798375,0.786975621022989 +981,1.2392443076216992,2.0312643317849344,0.7869884345972668 +982,1.2392426321520988,2.0312683777857554,0.787001175591083 +983,1.2392409630771755,2.031272405883572,0.7870138444504596 +984,1.2392393003815816,2.0312764161606056,0.7870264416186382 +985,1.2392376440498045,2.0312804086988843,0.7870389675361017 +986,1.2392359940661806,2.031284383579877,0.7870514226406106 +987,1.239234350414899,2.0312883408849713,0.7870638073672636 +988,1.2392327130800078,2.031292280694894,0.7870761221484461 +989,1.239231082045401,2.0312962030900255,0.7870883674138407 +990,1.2392294572948614,2.0313001081504383,0.78710054359049 +991,1.239227838812014,2.0313039959558754,0.7871126511027968 +992,1.2392262265803573,2.03130786658568,0.7871246903725095 +993,1.239224620583265,2.0313117201188944,0.7871366618188019 +994,1.2392230208039727,2.0313155566340497,0.7871485658582246 +995,1.2392214272256066,2.031319376209543,0.7871604029047357 +996,1.2392198398311525,2.0313231789231514,0.7871721733697215 +997,1.2392182586035028,2.0313269648524197,0.7871838776620772 +998,1.2392166835254081,2.0313307340745936,0.7871955161880642 +999,1.2392151145795272,2.0313344866663456,0.7872070893514954 +1000,1.2392135517483829,2.031338222704277,0.787218597553614 +1001,1.2392119950144218,2.031341942264488,0.7872300411932125 +1002,1.239210444359955,2.0313456454227765,0.787241420666609 +1003,1.2392088997672153,2.031349332254522,0.7872527363676258 +1004,1.2392073612183145,2.0313530028347713,0.7872639886876192 +1005,1.239205828695277,2.031356657238234,0.7872751780155963 +1006,1.2392043021800276,2.031360295539311,0.7872863047380216 +1007,1.2392027816543958,2.031363917812177,0.7872973692390426 +1008,1.239201267100131,2.031367524130307,0.7873083719003796 +1009,1.239199758498878,2.031371114567199,0.7873193131013855 +1010,1.2391982558322079,2.031374689195792,0.7873301932190305 +1011,1.2391967590815995,2.0313782480887927,0.7873410126279157 +1012,1.239195268228458,2.0313817913185246,0.7873517717003452 +1013,1.2391937832541056,2.0313853189570534,0.7873624708063169 +1014,1.2391923041397832,2.0313888310760264,0.7873731103134755 +1015,1.2391908308666568,2.0313923277467305,0.7873836905871242 +1016,1.239189363415823,2.0313958090402355,0.7873942119904297 +1017,1.2391879017683085,2.0313992750271472,0.7874046748841331 +1018,1.2391864459050757,2.03140272577791,0.787415079626801 +1019,1.2391849958069956,2.0314061613624794,0.7874254265747488 +1020,1.2391835514549143,2.0314095818505993,0.787435716082033 +1021,1.239182112829579,2.0314129873116658,0.7874459485005522 +1022,1.239180679911695,2.031416377814718,0.7874561241799443 +1023,1.2391792526819139,2.031419753428491,0.7874662434676899 +1024,1.2391778311208166,2.031423114221443,0.7874763067090861 +1025,1.2391764152089297,2.0314264602616863,0.7874863142472659 +1026,1.2391750049267407,2.0314297916169752,0.7874962664232342 +1027,1.2391736002546758,2.0314331083548454,0.7875061635757727 +1028,1.2391722011731152,2.031436410542421,0.7875160060416682 +1029,1.2391708076623906,2.0314396982465355,0.7875257941555138 +1030,1.2391694197027874,2.0314429715337408,0.7875355282497885 +1031,1.2391680372745515,2.0314462304702916,0.7875452086549588 +1032,1.23916666035789,2.031449475122084,0.7875548356993394 +1033,1.2391652889329539,2.0314527055547695,0.7875644097092228 +1034,1.2391639229798856,2.031455921833584,0.7875739310088463 +1035,1.2391625624787561,2.031459124023689,0.7875833999204206 +1036,1.2391612074096354,2.0314623121896234,0.7875928167641075 +1037,1.2391598577525234,2.0314654863958292,0.7876021818580725 +1038,1.2391585134874203,2.0314686467065433,0.7876114955184678 +1039,1.2391571745942813,2.031471793185465,0.7876207580595066 +1040,1.2391558410530497,2.031474925896203,0.7876299697933465 +1041,1.2391545128436152,2.031478044902005,0.7876391310302139 +1042,1.2391531899458637,2.031481150265624,0.7876482420784353 +1043,1.2391518723396484,2.0314842420498698,0.7876573032443067 +1044,1.2391505600048098,2.0314873203169492,0.7876663148322315 +1045,1.2391492529211596,2.0314903851290036,0.7876752771447733 +1046,1.239147951068489,2.031493436547767,0.7876841904824413 +1047,1.2391466544265752,2.0314964746346456,0.7876930551439714 +1048,1.2391453629751847,2.0314994994509648,0.7877018714261461 +1049,1.2391440766940698,2.031502511057473,0.787710639623912 +1050,1.239142795562942,2.0315055095149215,0.7877193600303593 +1051,1.2391415195615505,2.031508494883725,0.7877280329367075 +1052,1.2391402486695928,2.031511467223821,0.7877366586323412 +1053,1.2391389828667732,2.031514426594945,0.7877452374048365 +1054,1.2391377221327968,2.031517373056625,0.7877537695399696 +1055,1.2391364664473399,2.031520306668164,0.7877622553216334 +1056,1.2391352157900948,2.031523227488378,0.7877706950320179 +1057,1.2391339701407431,2.0315261355761294,0.7877790889514774 +1058,1.2391327294789536,2.0315290309896854,0.7877874373586183 +1059,1.2391314937844133,2.031531913787183,0.7877957405303002 +1060,1.2391302630367957,2.0315347840264715,0.7878039987415848 +1061,1.2391290372157835,2.031537641765157,0.7878122122658229 +1062,1.2391278163010484,2.031540487060641,0.7878203813746464 +1063,1.2391266002722854,2.0315433199698614,0.7878285063379695 +1064,1.239125389109179,2.031546140549655,0.787836587423965 +1065,1.2391241827914252,2.031548948856541,0.7878446248991645 +1066,1.2391229812987323,2.031551744946724,0.7878526190283369 +1067,1.2391217846108014,2.031554528876268,0.7878605700746706 +1068,1.2391205927073612,2.0315573007008862,0.787868478299596 +1069,1.2391194055681352,2.031560060476034,0.7878763439629621 +1070,1.239118223172876,2.031562808257037,0.7878841673229461 +1071,1.2391170455013312,2.0315655440986893,0.7878919486360272 +1072,1.2391158725332727,2.0315682680557354,0.7878996881571942 +1073,1.2391147042484856,2.031570980182595,0.7879073861396717 +1074,1.2391135406267715,2.0315736805335147,0.7879150428351918 +1075,1.2391123816479346,2.0315763691624324,0.7879226584938414 +1076,1.2391112272918223,2.0315790461229666,0.7879302333641193 +1077,1.2391100775382808,2.0315817114687107,0.7879377676929659 +1078,1.2391089323671811,2.0315843652526713,0.7879452617257495 +1079,1.2391077917584217,2.0315870075279516,0.7879527157062804 +1080,1.2391066556919128,2.031589638347076,0.7879601298768294 +1081,1.2391055241475861,2.031592257762573,0.7879675044781053 +1082,1.2391043971054139,2.031594865826674,0.787974839749351 +1083,1.2391032745453716,2.031597462591268,0.7879821359282064 +1084,1.2391021564474662,2.031600048108072,0.7879893932508386 +1085,1.2391010427917426,2.0316026224285615,0.7879966119519665 +1086,1.2390999335582527,2.031605185604062,0.7880037922647435 +1087,1.239098828727089,2.031607737685418,0.7880109344208893 +1088,1.2390977282783708,2.031610278723457,0.7880180386506234 +1089,1.2390966321922474,2.0316128087687155,0.7880251051826916 +1090,1.239095540448897,2.0316153278714086,0.7880321342444544 +1091,1.239094453028523,2.0316178360815877,0.7880391260617573 +1092,1.2390933699113582,2.031620333449168,0.7880460808590375 +1093,1.2390922910776925,2.0316228200236024,0.7880529988593223 +1094,1.2390912165078198,2.031625295854262,0.7880598802841885 +1095,1.2390901461820767,2.0316277609903106,0.7880667253538091 +1096,1.2390890800808427,2.0316302154805936,0.7880735342869809 +1097,1.2390880181845245,2.0316326593737695,0.7880803073011037 +1098,1.239086960473566,2.031635092718328,0.7880870446121512 +1099,1.2390859069284457,2.0316375155623674,0.7880937464348146 +1100,1.2390848575296889,2.0316399279539072,0.7881004129823315 +1101,1.239083812257841,2.031642329940734,0.7881070444666023 +1102,1.2390827710935104,2.0316447215704194,0.7881136410982228 +1103,1.2390817340173226,2.0316471028901635,0.7881202030864028 +1104,1.2390807010099585,2.031649473947102,0.7881267306390514 +1105,1.239079672052122,2.031651834788108,0.788133223962711 +1106,1.239078647124576,2.031654185459688,0.7881396832626617 +1107,1.2390776262081216,2.031656526008429,0.788146108742843 +1108,1.2390766092835914,2.0316588564805835,0.7881525006058938 +1109,1.239075596331862,2.031661176921974,0.7881588590532005 +1110,1.2390745873338762,2.0316634873784447,0.7881651842848229 +1111,1.239073582270594,2.03166578789563,0.7881714764995716 +1112,1.2390725811230299,2.0316680785188344,0.7881777358949975 +1113,1.2390715838722441,2.031670359293147,0.7881839626673519 +1114,1.2390705904993427,2.0316726302635293,0.7881901570116912 +1115,1.239069600985471,2.0316748914747196,0.7881963191217868 +1116,1.239068615311836,2.0316771429712843,0.7882024491902069 +1117,1.2390676334596762,2.0316793847974326,0.7882085474082743 +1118,1.239066655410279,2.0316816169972243,0.7882146139660711 +1119,1.2390656811449963,2.0316838396147454,0.7882206490525523 +1120,1.23906471064521,2.0316860526934173,0.7882266528553401 +1121,1.2390637438923577,2.031688256276825,0.788232625560976 +1122,1.239062780867931,2.03169045040827,0.7882385673547664 +1123,1.2390618215534581,2.031692635130806,0.7882444784208317 +1124,1.2390608659305327,2.0316948104872505,0.7882503589421241 +1125,1.2390599139807938,2.03169697652038,0.788256209100428 +1126,1.239058965685928,2.031699133272598,0.7882620290763733 +1127,1.2390580210276725,2.0317012807862307,0.7882678190494541 +1128,1.2390570799878247,2.0317034191032306,0.7882735791979771 +1129,1.239056142548225,2.031705548265511,0.7882793096991667 +1130,1.2390552086907738,2.0317076683148243,0.7882850107290742 +1131,1.2390542783974205,2.031709779292566,0.7882906824626226 +1132,1.239053351650166,2.031711881240099,0.7882963250737018 +1133,1.2390524284310724,2.031713974198491,0.7883019387349746 +1134,1.2390515087222442,2.0317160582087643,0.7883075236180701 +1135,1.239050592505853,2.0317181333113474,0.7883130798935364 +1136,1.2390496797641208,2.0317201995470557,0.7883186077308318 +1137,1.2390487704793152,2.031722256956002,0.7883241072982535 +1138,1.2390478646337753,2.0317243055784178,0.7883295787631159 +1139,1.2390469622098854,2.0317263454542434,0.7883350222916465 +1140,1.2390460631900846,2.031728376623299,0.7883404380489635 +1141,1.2390451675568788,2.0317303991251356,0.7883458261992347 +1142,1.2390442752928184,2.0317324129991894,0.7883511869054656 +1143,1.2390433863805137,2.0317344182845343,0.7883565203297103 +1144,1.2390425008026362,2.031736415020302,0.7883618266328964 +1145,1.2390416185419184,2.031738403245368,0.7883671059750578 +1146,1.2390407395811358,2.0317403829983696,0.7883723585150909 +1147,1.2390398639031368,2.0317423543177497,0.7883775844109082 +1148,1.2390389914908206,2.031744317241858,0.7883827838194583 +1149,1.239038122327141,2.0317462718087937,0.7883879568966509 +1150,1.239037256395121,2.031748218056604,0.7883931037973962 +1151,1.2390363936778355,2.031750156023011,0.788398224675647 +1152,1.2390355341584198,2.0317520857455613,0.7884033196843446 +1153,1.2390346778200654,2.031754007261578,0.7884083889754752 +1154,1.2390338246460297,2.03175592060834,0.7884134327000503 +1155,1.2390329746196194,2.0317578258230315,0.7884184510081041 +1156,1.239032127724215,2.0317597229424362,0.7884234440487424 +1157,1.2390312839432465,2.0317616120032698,0.7884284119700821 +1158,1.2390304432602115,2.031763493042191,0.7884333549193134 +1159,1.2390296056586487,2.0317653660955473,0.7884382730427365 +1160,1.2390287711221954,2.0317672311994306,0.7884431664856498 +1161,1.2390279396345059,2.0317690883900137,0.7884480353924167 +1162,1.2390271111793272,2.031770937703135,0.7884528799065894 +1163,1.23902628574045,2.0317727791744646,0.7884577001706748 +1164,1.239025463301734,2.0317746128394853,0.7884624963263454 +1165,1.2390246438471004,2.031776438733712,0.7884672685143553 +1166,1.2390238273605254,2.0317782568922786,0.7884720168745526 +1167,1.2390230138260552,2.0317800673502475,0.7884767415458785 +1168,1.2390222032277844,2.0317818701424346,0.7884814426664893 +1169,1.2390213955498888,2.0317836653036565,0.788486120373501 +1170,1.2390205907765874,2.031785452868315,0.7884907748032852 +1171,1.239019788892177,2.031787232870883,0.7884954060912978 +1172,1.2390189898809978,2.0317890053455785,0.7885000143720764 +1173,1.2390181937274685,2.031790770326488,0.7885045997794315 +1174,1.2390174004160663,2.0317925278474953,0.7885091624462032 +1175,1.2390166099313304,2.031794277942314,0.7885137025044285 +1176,1.2390158222578516,2.031796020644543,0.7885182200853447 +1177,1.239015037380301,2.031797755987747,0.7885227153192454 +1178,1.2390142552833983,2.0317994840050577,0.7885271883357297 +1179,1.2390134759519302,2.0318012047295664,0.7885316392634596 +1180,1.239012699370756,2.031802918194374,0.7885360682303282 +1181,1.23901192552478,2.0318046244322896,0.7885404753634391 +1182,1.2390111543989768,2.031806323475926,0.7885448607890145 +1183,1.239010385978395,2.031808015357831,0.788549224632537 +1184,1.239009620248123,2.031809700110296,0.7885535670186816 +1185,1.2390088571933346,2.0318113777655125,0.7885578880713053 +1186,1.239008096799252,2.0318130483555947,0.7885621879134723 +1187,1.2390073390511687,2.031814711912433,0.7885664666675184 +1188,1.2390065839344353,2.0318163684677817,0.7885707244549294 +1189,1.2390058314344716,2.031818018053245,0.7885749613964628 +1190,1.239005081536757,2.0318196607002954,0.7885791776121099 +1191,1.2390043342268244,2.0318212964403353,0.788583373221107 +1192,1.2390035894902889,2.0318229253043363,0.7885875483418515 +1193,1.2390028473128147,2.0318245473234753,0.7885917030920777 +1194,1.2390021076801352,2.031826162528573,0.788595837588786 +1195,1.239001370578047,2.0318277709504065,0.7885999519481427 +1196,1.2390006359924013,2.031829372619577,0.788604046285632 +1197,1.2389999039091224,2.0318309675664072,0.7886081207160295 +1198,1.2389991743141966,2.0318325558213455,0.7886121753533227 +1199,1.23899844719367,2.0318341374145366,0.7886162103107822 +1200,1.2389977225336466,2.0318357123758783,0.7886202257010189 +1201,1.238997000320304,2.0318372807353984,0.788624221635864 +1202,1.2389962805398782,2.031838842522865,0.7886281982264753 +1203,1.238995563178669,2.0318403977677155,0.7886321555832889 +1204,1.238994848223027,2.031841946499474,0.7886360938160427 +1205,1.2389941356593912,2.031843488747492,0.7886400130337767 +1206,1.2389934254742454,2.0318450245409894,0.7886439133448544 +1207,1.2389927176541353,2.0318465539090287,0.7886477948569001 +1208,1.2389920121856692,2.031848076880494,0.788651657676957 +1209,1.2389913090555338,2.0318495934842153,0.7886555019112779 +1210,1.238990608250463,2.031851103748843,0.7886593276655145 +1211,1.238989909757253,2.0318526077028083,0.788663135044632 +1212,1.2389892135627654,2.0318541053745873,0.7886669241529137 +1213,1.2389885196539363,2.0318555967923744,0.7886706950939844 +1214,1.238987828017746,2.031857081984332,0.7886744479708171 +1215,1.2389871386412483,2.031858560978524,0.788678182885758 +1216,1.238986451511547,2.0318600338026807,0.7886818999404961 +1217,1.238985766615828,2.0318615004846317,0.7886855992360164 +1218,1.2389850839413277,2.0318629610518384,0.7886892808727295 +1219,1.2389844034753352,2.03186441553197,0.7886929449504245 +1220,1.238983725205221,2.031865863952231,0.7886965915681804 +1221,1.2389830491184002,2.031867306339948,0.7887002208245435 +1222,1.2389823752023617,2.03186874272217,0.7887038328173797 +1223,1.2389817034446466,2.0318701731257995,0.7887074276439228 +1224,1.2389810338328724,2.0318715975777404,0.7887110054008329 +1225,1.2389803663546968,2.0318730161046994,0.7887145661841366 +1226,1.2389797009978585,2.0318744287333006,0.7887181100892591 +1227,1.2389790377501517,2.031875835490008,0.7887216372110225 +1228,1.2389783765994191,2.0318772364011046,0.788725147643651 +1229,1.2389777175335834,2.0318786314928707,0.7887286414807836 +1230,1.2389770605406203,2.031880020791405,0.7887321188154608 +1231,1.2389764056085533,2.0318814043225752,0.7887355797401148 +1232,1.2389757527254974,2.03188278211237,0.7887390243465979 +1233,1.2389751018795954,2.031884154186516,0.7887424527262435 +1234,1.2389744530590812,2.0318855205706114,0.7887458649697205 +1235,1.2389738062522213,2.0318868812901525,0.7887492611671757 +1236,1.2389731614473567,2.031888236370478,0.788752641408197 +1237,1.238972518632883,2.0318895858369994,0.788756005781793 +1238,1.2389718777972714,2.0318909297146943,0.788759354376392 +1239,1.2389712389290268,2.0318922680286713,0.7887626872798906 +1240,1.2389706020167468,2.0318936008039077,0.7887660045796168 +1241,1.2389699670490515,2.031894928065131,0.7887693063623863 +1242,1.2389693340146488,2.0318962498369646,0.7887725927143986 +1243,1.2389687029022953,2.03189756614407,0.7887758637213684 +1244,1.2389680737008082,2.031898877010858,0.7887791194684445 +1245,1.2389674463990665,2.0319001824617096,0.7887823600402504 +1246,1.2389668209860007,2.0319014825209147,0.7887855855209036 +1247,1.2389661974506108,2.031902777212434,0.7887887959939263 +1248,1.2389655757819453,2.0319040665603247,0.788791991542374 +1249,1.2389649559691185,2.031905350588565,0.7887951722487607 +1250,1.2389643380013,2.0319066293208317,0.7887983381950799 +1251,1.2389637218677219,2.03190790278086,0.7888014894628331 +1252,1.2389631075576684,2.0319091709921584,0.7888046261329669 +1253,1.2389624950604818,2.031910433978229,0.7888077482859228 +1254,1.238961884365569,2.031911691762355,0.7888108560016869 +1255,1.2389612754623927,2.0319129443679094,0.7888139493597236 +1256,1.2389606683404637,2.031914191817886,0.7888170284389839 +1257,1.238960062989366,2.0319154341354295,0.7888200933179141 +1258,1.2389594593987305,2.031916671343305,0.7888231440745014 +1259,1.2389588575582446,2.0319179034644215,0.7888261807862396 +1260,1.238958257457663,2.0319191305214126,0.7888292035301027 +1261,1.2389576590867835,2.0319203525369534,0.7888322123826325 +1262,1.2389570624354636,2.031921569533471,0.7888352074198384 +1263,1.2389564674936286,2.0319227815334657,0.7888381887172895 +1264,1.2389558742512456,2.0319239885590545,0.7888411563500938 +1265,1.238955282698359,2.031925190632613,0.7888441103928432 +1266,1.2389546928250332,2.0319263877760565,0.7888470509197278 +1267,1.2389541046214276,2.031927580011452,0.7888499780044171 +1268,1.2389535180777353,2.031928767360665,0.7888528917201297 +1269,1.2389529331841995,2.0319299498454586,0.7888557921396904 +1270,1.2389523499311434,2.031931127487497,0.7888586793353558 +1271,1.238951768308926,2.0319323003084206,0.7888615533790372 +1272,1.2389511883079671,2.0319334683295867,0.788864414342145 +1273,1.2389506099187313,2.0319346315725233,0.7888672622956332 +1274,1.238950033131756,2.0319357900584434,0.788870097310052 +1275,1.2389494579376261,2.031936943808439,0.7888729194555136 +1276,1.238948884326972,2.031938092843726,0.7888757288016636 +1277,1.2389483122904852,2.031939237185165,0.7888785254177353 +1278,1.2389477418189185,2.031940376853791,0.7888813093724796 +1279,1.238947172903063,2.031941511870361,0.7888840807343156 +1280,1.238946605533782,2.0319426422554474,0.7888868395711667 +1281,1.238946039701973,2.0319437680297687,0.7888895859505379 +1282,1.2389454753985933,2.031944889213701,0.7888923199395534 +1283,1.2389449126146679,2.0319460058277934,0.788895041604874 +1284,1.2389443513412544,2.0319471178923334,0.7888977510127912 +1285,1.2389437915694717,2.0319482254275143,0.7889004482291164 +1286,1.2389432332904877,2.0319493284535164,0.7889031333193741 +1287,1.2389426764955327,2.0319504269903232,0.7889058063485425 +1288,1.2389421211758809,2.0319515210578634,0.788908467381321 +1289,1.2389415673228612,2.031952610675916,0.788911116481894 +1290,1.2389410149278461,2.0319536958644444,0.7889137537141236 +1291,1.2389404639822723,2.03195477664308,0.7889163791414788 +1292,1.2389399144776234,2.0319558530313335,0.7889189928269896 +1293,1.2389393664054311,2.031956925048606,0.7889215948333305 +1294,1.238938819757278,2.0319579927144082,0.7889241852227906 +1295,1.2389382745248108,2.0319590560480867,0.7889268033872147 +1296,1.2389377306997023,2.0319601150688436,0.7889294206091239 +1297,1.2389371882736968,2.0319611697958355,0.7889320260614188 +1298,1.2389366472385825,2.03196222024796,0.7889346198070069 +1299,1.2389361075861973,2.0319632664443232,0.7889372019084839 +1300,1.2389355693084287,2.031964308403764,0.7889397724279638 +1301,1.2389350323972115,2.031965346145063,0.7889423314272124 +1302,1.2389344968445344,2.031966379686878,0.7889448789676528 +1303,1.2389339626424305,2.031967409047859,0.7889474151102625 +1304,1.238933429782996,2.03196843424652,0.788949939915669 +1305,1.2389328982583572,2.031969455301234,0.7889524534441701 +1306,1.2389323680606903,2.0319704722305083,0.7889549557556282 +1307,1.2389318391822444,2.031971485052554,0.7889574469095829 +1308,1.2389313116152962,2.0319724937855512,0.7889599269651885 +1309,1.238930785352163,2.031973498447581,0.7889623959812683 +1310,1.2389302603852337,2.0319744990566626,0.7889648540162105 +1311,1.2389297367069243,2.0319754956307707,0.7889673011281417 +1312,1.2389292143097148,2.031976488187729,0.7889697373747476 +1313,1.2389286931861212,2.03197747674524,0.7889721628134053 +1314,1.2389281733287143,2.0319784613211764,0.788974577501149 +1315,1.2389276547301045,2.0319794419331494,0.7889769814946204 +1316,1.2389271373829556,2.0319804185984935,0.7889793748501656 +1317,1.238926621279974,2.031981391334799,0.7889817576237604 +1318,1.2389261064139125,2.0319823601594775,0.7889841298710394 +1319,1.238925592777576,2.031983325089681,0.788986491647295 +1320,1.2389250803638117,2.03198428614273,0.7889888430074897 +1321,1.238924569165502,2.031985243335725,0.7889911840062369 +1322,1.2389240591755997,2.0319861966857204,0.7889935146978432 +1323,1.2389235503870841,2.031987146209741,0.788995835136259 +1324,1.2389230427929838,2.0319880919246183,0.7889981453751119 +1325,1.2389225363863703,2.031989033847133,0.7890004454677145 +1326,1.238922031160362,2.0319899719941286,0.7890027354670565 +1327,1.2389215271081329,2.031990906382223,0.7890050154257677 +1328,1.2389210242228812,2.03199183702799,0.789007285396207 +1329,1.2389205224978737,2.0319927639480726,0.7890095454303787 +1330,1.238920021926396,2.0319936871588116,0.7890117955800187 +1331,1.238919522501791,2.031994606676645,0.7890140358964712 +1332,1.2389190242174477,2.0319955225177555,0.7890162664308641 +1333,1.2389185270667864,2.0319964346984145,0.7890184872339344 +1334,1.2389180310432852,2.0319973432348015,0.7890206983561516 +1335,1.2389175361404658,2.0319982481428576,0.7890228998476787 +1336,1.238917042351878,2.03199914943863,0.7890250917583496 +1337,1.2389165496711256,2.032000047138134,0.7890272741377358 +1338,1.238916058091851,2.0320009412572073,0.7890294470350626 +1339,1.238915567607745,2.0320018318115243,0.7890316104992784 +1340,1.2389150782125298,2.0320027188168988,0.7890337645790972 +1341,1.2389145898999765,2.032003602288928,0.7890359093228193 +1342,1.2389141026638972,2.032004482243167,0.7890380447785714 +1343,1.2389136164981587,2.0320053586950197,0.7890401709940885 +1344,1.2389131313966317,2.0320062316599805,0.7890422880168853 +1345,1.2389126473532721,2.03200710115344,0.7890443958941414 +1346,1.2389121643620502,2.032007967190754,0.7890464946728251 +1347,1.2389116824169866,2.0320088297869785,0.7890485843995595 +1348,1.2389112015121395,2.032009688957281,0.7890506651207103 +1349,1.2389107216416133,2.0320105447167514,0.7890527368823437 +1350,1.2389102427995402,2.0320113970804186,0.7890547997302834 +1351,1.2389097649801026,2.032012246063158,0.7890568537100391 +1352,1.2389092881775194,2.0320130916799477,0.7890588988668628 +1353,1.238908812386054,2.032013933945461,0.7890609352457841 +1354,1.2389083375999976,2.0320147728746485,0.7890629628914877 +1355,1.238907863813703,2.0320156084819576,0.7890649818484259 +1356,1.2389073910215298,2.0320164407820744,0.7890669921607912 +1357,1.2389069192179079,2.0320172697894883,0.789068993872506 +1358,1.2389064483972876,2.0320180955187177,0.7890709870272048 +1359,1.2389059785541618,2.032018917984175,0.7890729716682903 +1360,1.2389055096830648,2.0320197372000592,0.7890749478389006 +1361,1.2389050417785634,2.0320205531808226,0.7890769155819216 +1362,1.2389045748352696,2.0320213659405666,0.7890788749399703 +1363,1.2389041088478279,2.03202217549337,0.7890808259553953 +1364,1.238903643810921,2.0320229818534448,0.7890827686703453 +1365,1.2389031797192718,2.032023785034778,0.7890847031266519 +1366,1.238902716567634,2.032024585051248,0.7890866293659696 +1367,1.2389022543508061,2.0320253819168497,0.7890885474296451 +1368,1.238901793063621,2.0320261756453335,0.7890904573587972 +1369,1.2389013327009497,2.032026966250441,0.7890923591943185 +1370,1.2389008732576876,2.0320277537460263,0.7890942529768428 +1371,1.2389004147287883,2.0320285381455108,0.7890961387467909 +1372,1.2388999571092185,2.032029319462597,0.7890980165442527 +1373,1.2388995003939969,2.0320300977107295,0.7890998864092204 +1374,1.2388990445781745,2.032030872903456,0.7891017483813179 +1375,1.2388985896568312,2.0320316450540217,0.7891036025000381 +1376,1.238898135625089,2.0320324141759314,0.7891054488045762 +1377,1.2388976824781086,2.032033180282237,0.7891072873338908 +1378,1.2388972302110726,2.0320339433863897,0.7891091181267855 +1379,1.2388967788192036,2.032034703501395,0.7891109412217447 +1380,1.2388963282977703,2.0320354606403335,0.7891127566570832 +1381,1.2388958786420632,2.032036214816352,0.7891145644708686 +1382,1.2388954298474082,2.0320369660422943,0.7891163647009479 +1383,1.2388949819091664,2.0320377143311714,0.7891181573849356 +1384,1.2388945348227334,2.0320384596957735,0.7891199425602632 +1385,1.2388940885835433,2.0320392021490004,0.789121720264069 +1386,1.2388936431870583,2.032039941703405,0.7891234905333648 +1387,1.2388931986287777,2.0320406783717235,0.7891252534048855 +1388,1.238892754904222,2.032041412166663,0.789127008915136 +1389,1.238892312008963,2.0320421431008184,0.7891287571004658 +1390,1.2388918699385907,2.032042871186632,0.7891304979969831 +1391,1.2388914286887291,2.0320435964365418,0.7891322316405758 +1392,1.2388909882550527,2.032044318863036,0.789133958066912 +1393,1.2388905486332409,2.0320450384783215,0.7891356773114856 +1394,1.2388901098190248,2.0320457552947766,0.7891373894095703 +1395,1.23888967180816,2.03204646932454,0.7891390943962187 +1396,1.2388892345964373,2.0320471805799545,0.7891407923063103 +1397,1.2388887981796661,2.032047889073028,0.7891424831744697 +1398,1.2388883625537108,2.032048594815825,0.7891441670351735 +1399,1.238887927714446,2.0320492978203113,0.789145843922675 +1400,1.2388874936577885,2.0320499980985476,0.7891475138710108 +1401,1.2388870603796769,2.0320506956623823,0.7891491769140659 +1402,1.238886627876096,2.032051390523649,0.7891508330854803 +1403,1.23888619614304,2.032052082694175,0.7891524824187286 +1404,1.2388857651765501,2.0320527721856707,0.7891541249470724 +1405,1.238885334972697,2.0320534590098402,0.7891557607035821 +1406,1.238884905527569,2.0320541431783568,0.7891573897211686 +1407,1.2388844768372915,2.032054824702828,0.7891590120325181 +1408,1.2388840488980235,2.0320555035947603,0.7891606276701582 +1409,1.2388836217059478,2.0320561798655676,0.7891622366663611 +1410,1.2388831952572803,2.0320568535267385,0.7891638390533274 +1411,1.2388827695482587,2.03205752458962,0.7891654348629518 +1412,1.2388823445751627,2.0320581930656516,0.7891670241270193 +1413,1.2388819203342858,2.0320588589659816,0.7891686068770983 +1414,1.2388814968219626,2.032059522301846,0.7891701831446177 +1415,1.238881074034548,2.0320601830844294,0.7891717529607647 +1416,1.2388806519684241,2.032060841324967,0.7891733163565959 +1417,1.2388802306200095,2.032061497034295,0.7891748733629853 +1418,1.2388798099857492,2.0320621502236342,0.7891764240106076 +1419,1.2388793900621027,2.0320628009039066,0.7891779683299464 +1420,1.2388789708455819,2.032063449086091,0.7891795063513766 +1421,1.2388785523327006,2.0320640947809707,0.7891810381050252 +1422,1.238878134520015,2.0320647379994807,0.7891825636209115 +1423,1.2388777174040984,2.032065378752218,0.7891840829288117 +1424,1.2388773009815628,2.0320660170500946,0.7891855960584049 +1425,1.23887688524904,2.032066652903776,0.7891871030391692 +1426,1.2388764702031925,2.032067286323792,0.7891886039004273 +1427,1.2388760558406973,2.032067917320845,0.7891900986712871 +1428,1.238875642158275,2.032068545905337,0.7891915873807149 +1429,1.238875229152662,2.0320691720879593,0.7891930700575783 +1430,1.238874816820619,2.032069795878924,0.7891945467304878 +1431,1.2388744051589378,2.032070417288749,0.7891960174279404 +1432,1.2388739941644356,2.03207103632787,0.7891974821782552 +1433,1.2388735838339562,2.0320716530064264,0.789198941009591 +1434,1.2388731741643628,2.032072267334754,0.789200393949969 +1435,1.2388727651525433,2.032072879323103,0.7892018410272169 +1436,1.2388723567954214,2.0320734889817085,0.7892032822690339 +1437,1.2388719490899347,2.032074096320523,0.7892047177029708 +1438,1.2388715420330523,2.032074701349663,0.7892061473563649 +1439,1.2388711356217603,2.032075304079278,0.7892075712564646 +1440,1.238870729853083,2.0320759045192625,0.7892089894303407 +1441,1.2388703247240522,2.0320765026795407,0.7892104019049062 +1442,1.2388699202317366,2.032077098570057,0.7892118087069205 +1443,1.238869516373216,2.03207769220061,0.7892132098629998 +1444,1.2388691131456062,2.032078283581073,0.7892146053996144 +1445,1.2388687105460519,2.03207887272123,0.7892159953430797 +1446,1.2388683085716994,2.0320794596307548,0.7892173797195383 +1447,1.2388679072197337,2.0320800443192986,0.7892187585550776 +1448,1.238867506487359,2.0320806267965246,0.7892201318755366 +1449,1.2388671063718064,2.0320812070721477,0.789221499706638 +1450,1.2388667068703265,2.0320817851555697,0.7892228620739793 +1451,1.2388663079801905,2.0320823610563346,0.7892242190030091 +1452,1.2388659096986996,2.032082934783856,0.7892255705190463 +1453,1.2388655120231722,2.03208350634757,0.7892269166472168 +1454,1.2388651149509424,2.0320840757569067,0.7892282574125649 +1455,1.2388647184793813,2.032084643021259,0.7892295928399885 +1456,1.2388643226058702,2.03208520814977,0.7892309229542177 +1457,1.2388639273278172,2.0320857711518663,0.7892322477798558 +1458,1.2388635326426511,2.0320863320366462,0.7892335673413715 +1459,1.2388631385478275,2.0320868908134035,0.7892348816631164 +1460,1.2388627450408107,2.032087447491103,0.7892361907692943 +1461,1.2388623521190982,2.0320880020789485,0.7892374946839847 +1462,1.2388619597802042,2.0320885545859304,0.7892387934310728 +1463,1.2388615680216661,2.0320891050211003,0.7892400870343997 +1464,1.2388611768410347,2.032089653393449,0.7892413755176204 +1465,1.2388607862358925,2.032090199711968,0.7892426589042857 +1466,1.2388603962038371,2.032090743985385,0.7892439372178085 +1467,1.2388600067424829,2.0320912862227143,0.7892452104814731 +1468,1.2388596178494713,2.0320918264326444,0.789246478718418 +1469,1.2388592295224647,2.032092364623953,0.7892477419516933 +1470,1.2388588417591355,2.032092900805317,0.7892490002041529 +1471,1.2388584545571806,2.0320934349856365,0.7892502534986184 +1472,1.2388580679143315,2.0320939671733163,0.789251501857717 +1473,1.2388576818283132,2.0320944973772646,0.7892527453039744 +1474,1.238857296296885,2.0320950256058117,0.7892539838597892 +1475,1.2388569113178347,2.0320955518677506,0.7892552175474793 +1476,1.2388565268889482,2.032096076171375,0.7892564463891547 +1477,1.238856143008043,2.0320965985252504,0.789257670406887 +1478,1.238855759672958,2.0320971189377004,0.7892588896225751 +1479,1.2388553768815407,2.032097637417245,0.7892601040580396 +1480,1.2388549946316672,2.032098153972088,0.789261313734938 +1481,1.2388546129212263,2.032098668610629,0.7892625186748502 +1482,1.2388542317481255,2.0320991813412568,0.7892637188992007 +1483,1.238853851110299,2.0320996921720433,0.7892649144293228 +1484,1.2388534710056818,2.032100201111221,0.789266105286428 +1485,1.2388530914322466,2.0321007081670497,0.7892672914916478 +1486,1.238852712387976,2.032101213347699,0.7892684730659222 +1487,1.2388523338708601,2.032101716661076,0.7892696500301624 +1488,1.2388519558789277,2.0321022181154746,0.7892708224050763 +1489,1.2388515784102003,2.0321027177188165,0.7892719902113798 +1490,1.2388512014627426,2.032103215479024,0.7892731534695457 +1491,1.238850825034621,2.032103711404041,0.7892743122000454 +1492,1.2388504491239192,2.032104205501883,0.7892754664231609 +1493,1.2388500737287407,2.032104697780458,0.789276616159102 +1494,1.2388496988472117,2.032105188247498,0.7892777614279811 +1495,1.2388493244774617,2.0321056769107972,0.789278902249767 +1496,1.2388489506176519,2.0321061637783053,0.7892800386443712 +1497,1.2388485772659559,2.032106648857747,0.7892811706315412 +1498,1.2388482044205535,2.032107132156684,0.7892822982309409 +1499,1.2388478320796497,2.0321076136829497,0.7892834214621748 +1500,1.2388474602414679,2.032108093444114,0.7892845403446725 +1501,1.238847088904248,2.0321085714478078,0.7892856548978125 +1502,1.2388467180662308,2.032109047701573,0.7892867651408492 +1503,1.2388463477256961,2.0321095222129713,0.7892878710929067 +1504,1.238845977880921,2.032109994989559,0.7892889727730673 +1505,1.2388456085302089,2.032110466038751,0.7892900702002492 +1506,1.2388452396718654,2.0321109353679847,0.7892911633933231 +1507,1.2388448713042324,2.032111402984728,0.7892922523710493 +1508,1.238844503425656,2.0321118688964455,0.789293337152045 +1509,1.238844136034484,2.032112333110282,0.789294417754878 +1510,1.2388437691291072,2.0321127956336387,0.7892954941980018 +1511,1.2388434027079085,2.0321132564737447,0.7892965664997631 +1512,1.2388430367692955,2.032113715637915,0.7892976346784404 +1513,1.2388426713116913,2.0321141731333716,0.7892986987521732 +1514,1.2388423063335312,2.032114628967301,0.7892997587390148 +1515,1.2388419418332572,2.0321150831467394,0.789300814656998 +1516,1.2388415778093447,2.0321155356789253,0.7893018665239357 +1517,1.238841214260265,2.032115986570958,0.7893029143576249 +1518,1.2388408511845164,2.032116435829864,0.7893039581757731 +1519,1.238840488580596,2.032116883462691,0.7893049979959778 +1520,1.2388401264470374,2.03211732947649,0.7893060338357576 +1521,1.2388397647823626,2.0321177738780802,0.7893070657124907 +1522,1.23883940358513,2.0321182166745055,0.7893080936435196 +1523,1.238839042853898,2.0321186578727417,0.789309117646075 +1524,1.2388386825872346,2.0321190974793835,0.7893101377373103 +1525,1.238838322783746,2.03211953550151,0.7893111539342775 +1526,1.2388379634420228,2.032119971945922,0.7893121662539301 +1527,1.2388376045606817,2.032120406819344,0.7893131747131488 +1528,1.2388372461383537,2.032120840128567,0.7893141793287176 +1529,1.238836888173678,2.0321212718802473,0.7893151801173505 +1530,1.2388365306653126,2.032121702081196,0.7893161770956811 +1531,1.2388361736119256,2.0321221307380006,0.7893171702802021 +1532,1.238835817012191,2.0321225578572664,0.7893181596873874 +1533,1.2388354608648149,2.0321229834456807,0.7893191453335565 +1534,1.2388351051684856,2.0321234075097534,0.7893201272350443 +1535,1.2388347499219368,2.0321238300560553,0.7893211054079878 +1536,1.2388343951238898,2.032124251091126,0.7893220798685252 +1537,1.2388340407730911,2.0321246706215113,0.7893230506326641 +1538,1.2388336868682865,2.0321250886535376,0.7893240177163758 +1539,1.2388333334082566,2.0321255051937275,0.7893249811355046 +1540,1.2388329803917746,2.0321259202484105,0.7893259409058161 +1541,1.2388326278176265,2.032126333824142,0.7893268970430225 +1542,1.2388322756846213,2.032126745927117,0.7893278495627647 +1543,1.2388319239915697,2.0321271565637113,0.7893287984805472 +1544,1.2388315727373034,2.0321275657402476,0.7893297438118455 +1545,1.2388312219206503,2.032127973462929,0.7893306855720488 +1546,1.2388308715404541,2.0321283797379204,0.7893316237764368 +1547,1.23883052159559,2.0321287845715523,0.7893325584402479 +1548,1.2388301720849189,2.032129187970036,0.7893334895786365 +1549,1.23882982300733,2.032129589939545,0.7893344172066822 +1550,1.238829474361708,2.032129990486136,0.7893353413393406 +1551,1.2388291261469615,2.032130389615967,0.7893362619915614 +1552,1.2388287783620018,2.0321307873350243,0.7893371791781932 +1553,1.238828431005761,2.032131183649459,0.789338092913973 +1554,1.2388280840771717,2.032131578565132,0.789339003213634 +1555,1.238827737575179,2.0321319720882274,0.7893399100917625 +1556,1.2388273914987404,2.0321323642246356,0.7893408135629136 +1557,1.2388270458468245,2.0321327549802897,0.7893417136415553 +1558,1.2388267006184124,2.0321331443610573,0.789342610342076 +1559,1.2388263558124823,2.0321335323730345,0.7893435036788188 +1560,1.2388260114280434,2.032133919021986,0.7893443936660554 +1561,1.2388256674640985,2.032134304313653,0.7893452803179428 +1562,1.2388253239196703,2.0321346882539966,0.7893461636485836 +1563,1.2388249807937766,2.032135070848636,0.7893470436720811 +1564,1.2388246380854744,2.0321354521035535,0.7893479204023315 +1565,1.238824295793784,2.032135832024263,0.7893487938532686 +1566,1.2388239539177874,2.0321362106166525,0.7893496640387248 +1567,1.238823612456537,2.0321365878862974,0.789350530972484 +1568,1.2388232714091174,2.0321369638389095,0.7893513946681938 +1569,1.238822930774608,2.03213733848023,0.789352255139507 +1570,1.2388225905521109,2.0321377118157886,0.7893531123999951 +1571,1.2388222507407178,2.0321380838511094,0.7893539664631445 +1572,1.2388219113395558,2.0321384545918937,0.7893548173423547 +1573,1.238821572347737,2.0321388240435323,0.7893556650510363 +1574,1.2388212337643998,2.032139192211659,0.789356509602429 +1575,1.238820895588676,2.0321395591017453,0.7893573510097884 +1576,1.2388205578197244,2.032139924719319,0.7893581892862931 +1577,1.2388202204567003,2.0321402890697597,0.7893590244449813 +1578,1.2388198834987612,2.0321406521584584,0.7893598564989476 +1579,1.238819546945091,2.0321410139908154,0.7893606854611314 +1580,1.2388192107948652,2.0321413745722663,0.7893615113444481 +1581,1.2388188750472895,2.032141733908108,0.7893623341617266 +1582,1.2388185397015499,2.0321420920036046,0.7893631539257359 +1583,1.2388182047568597,2.0321424488642577,0.789363970649219 +1584,1.2388178702124395,2.0321428044951877,0.7893647843448075 +1585,1.2388175360675067,2.0321431589017576,0.7893655950250973 +1586,1.238817202321301,2.032143512089141,0.7893664027026288 +1587,1.2388168689730648,2.032143864062573,0.7893672073898564 +1588,1.2388165360220378,2.0321442148272757,0.7893680090992136 +1589,1.2388162034674808,2.032144564388355,0.7893688078430219 +1590,1.2388158713086577,2.032144912750967,0.7893696036335697 +1591,1.2388155395448446,2.032145259920302,0.7893703964831106 +1592,1.2388152081753174,2.0321456059013627,0.789371186403789 +1593,1.2388148771993628,2.032145950699284,0.789371973407725 +1594,1.238814546616275,2.0321462943190642,0.7893727575069621 +1595,1.2388142164253613,2.032146636765868,0.7893735387135118 +1596,1.2388138866259313,2.0321469780445094,0.789374317039281 +1597,1.2388135572172851,2.0321473181601806,0.7893750924961707 +1598,1.2388132281987707,2.032147657117742,0.7893758650959876 +1599,1.2388128995697054,2.0321479949222305,0.7893766348504878 +1600,1.2388125713294265,2.0321483315784725,0.7893774017714208 +1601,1.2388122434772906,2.0321486670913695,0.7893781658703859 +1602,1.2388119160126332,2.032149001465832,0.7893789271589813 +1603,1.238811588934824,2.032149334706823,0.789379685648792 +1604,1.23881126224323,2.0321496668190524,0.7893804413512507 +1605,1.2388109359372168,2.032149997807439,0.7893811942778449 +1606,1.2388106100161647,2.032150327676623,0.7893819444398884 +1607,1.2388102844794657,2.0321506564314906,0.7893826918487256 +1608,1.2388099593265078,2.0321509840768406,0.7893834365156198 +1609,1.23880963455669,2.032151310617287,0.7893841784517827 +1610,1.2388093101694146,2.032151636057698,0.7893849176683719 +1611,1.238808986164097,2.032151960402701,0.7893856541764821 +1612,1.2388086625401582,2.032152283656941,0.7893863879872044 +1613,1.2388083392970137,2.032152605825051,0.7893871191115026 +1614,1.2388080164340987,2.0321529269117122,0.7893878475603511 +1615,1.2388076939508503,2.0321532469215486,0.7893885733446278 +1616,1.238807371846708,2.0321535658591277,0.7893892964751906 +1617,1.2388070501211244,2.0321538837289395,0.7893900169627918 +1618,1.2388067287735498,2.0321542005357305,0.7893907348182355 +1619,1.2388064078034495,2.0321545162838963,0.7893914500521644 +1620,1.238806087210284,2.03215483097805,0.7893921626752508 +1621,1.2388057669935224,2.0321551446225796,0.7893928726980858 +1622,1.2388054471526522,2.032155457222066,0.7893935801311975 +1623,1.2388051276871475,2.0321557687808838,0.7893942849850755 +1624,1.2388048085965018,2.032156079303507,0.7893949872701806 +1625,1.2388044898802064,2.0321563887943057,0.7893956869968913 +1626,1.2388041715377656,2.0321566972578093,0.7893963841755698 +1627,1.2388038535686732,2.0321570046983264,0.7893970788164953 +1628,1.2388035359724556,2.032157311120155,0.7893977709299563 +1629,1.2388032187486173,2.0321576165276007,0.7893984605261007 +1630,1.2388029018966824,2.0321579209251284,0.7893991476151279 +1631,1.238802585416173,2.032158224316991,0.7893998322071146 +1632,1.2388022693066307,2.03215852670741,0.7894005143121205 +1633,1.2388019535675794,2.032158828100781,0.7894011939401707 +1634,1.2388016381985738,2.032159128501192,0.7894018711012369 +1635,1.2388013231991455,2.032159427912941,0.7894025458052338 +1636,1.2388010085688563,2.032159726340372,0.789403218062022 +1637,1.2388006943072525,2.032160023787516,0.7894038878814271 +1638,1.238800380413905,2.03216032025859,0.789404555273298 +1639,1.2388000668883747,2.0321606157576935,0.7894052202472909 +1640,1.238799753730233,2.0321609102890985,0.7894058828131341 +1641,1.2387994409390557,2.0321612038568504,0.7894065429804733 +1642,1.2387991285144202,2.0321614964650463,0.7894072007589215 +1643,1.2387988164559085,2.0321617881177905,0.7894078561580098 +1644,1.238798504763116,2.0321620788191415,0.7894085091873159 +1645,1.2387981934356327,2.0321623685731574,0.7894091598562506 +1646,1.2387978824730552,2.032162657383894,0.7894098081742599 +1647,1.238797571874983,2.0321629452553385,0.7894104541507467 +1648,1.2387972616410223,2.032163232191387,0.7894110977950431 +1649,1.2387969517707869,2.0321635181962048,0.7894117391164476 +1650,1.238796642263894,2.032163803273647,0.7894123781242097 +1651,1.2387963331199532,2.0321640874276388,0.789413014827574 +1652,1.2387960243385967,2.0321643706622767,0.7894136492356778 +1653,1.2387957159194503,2.0321646529813484,0.7894142813576857 +1654,1.2387954078621353,2.0321649343887604,0.7894149112026816 +1655,1.2387951001662973,2.0321652148884146,0.7894155387797159 +1656,1.2387947928315686,2.0321654944840826,0.7894161640977642 +1657,1.2387944858575994,2.032165773179656,0.789416787165842 +1658,1.2387941792440218,2.0321660509789683,0.7894174079928691 +1659,1.2387938729905053,2.0321663278858235,0.7894180265876805 +1660,1.2387935670966916,2.032166603904065,0.7894186429591812 +1661,1.2387932615622372,2.0321668790375718,0.7894192571161655 +1662,1.2387929563868134,2.0321671532898478,0.7894198690673777 +1663,1.2387926515700771,2.0321674266648215,0.7894204788215822 +1664,1.238792347111696,2.032167699166211,0.7894210863874356 +1665,1.2387920430113497,2.0321679707977105,0.7894216917736077 +1666,1.2387917392687053,2.0321682415629065,0.789422294988691 +1667,1.2387914358834542,2.032168511465572,0.7894228960412663 +1668,1.238791132855265,2.0321687805094073,0.7894234949398874 +1669,1.2387908301838328,2.0321690486980275,0.7894240916929975 +1670,1.238790527868841,2.0321693160351333,0.7894246863090999 +1671,1.238790225909987,2.0321695825242605,0.7894252787966043 +1672,1.2387899243069607,2.0321698481690706,0.7894258691639064 +1673,1.2387896230594695,2.032170112973026,0.7894264574193222 +1674,1.2387893221672066,2.032170376939784,0.7894270435711717 +1675,1.2387890216298807,2.0321706400729562,0.7894276276277258 +1676,1.2387887214472013,2.032170902376066,0.7894282095972218 +1677,1.2387884216188798,2.032171163852567,0.7894287894878427 +1678,1.2387881221446264,2.0321714245059823,0.789429367307755 +1679,1.2387878230241607,2.032171684339871,0.7894299430651027 +1680,1.2387875242572033,2.0321719433576764,0.7894305167679717 +1681,1.2387872258434793,2.032172201562847,0.7894310884243726 +1682,1.2387869277827113,2.0321724589588883,0.7894316580423991 +1683,1.2387866300746304,2.032172715549166,0.7894322256299718 +1684,1.2387863327189665,2.0321729713372,0.7894327911950395 +1685,1.2387860357154479,2.0321732263263446,0.7894333547455455 +1686,1.2387857390638273,2.0321734805200053,0.7894339162893477 +1687,1.2387854427638263,2.032173733921526,0.7894344758343075 +1688,1.238785146815201,2.0321739865342963,0.7894350333882044 +1689,1.2387848512176882,2.0321742383616495,0.7894355889588578 +1690,1.238784555971034,2.0321744894068874,0.7894361425539775 +1691,1.238784261074998,2.032174739673373,0.7894366941812616 +1692,1.2387839665293225,2.0321749891644316,0.7894372438483845 +1693,1.2387836723337646,2.032175237883206,0.7894377915629875 +1694,1.2387833784880868,2.0321754858331764,0.7894383373327191 +1695,1.238783084992045,2.0321757330174606,0.7894388811650714 +1696,1.2387827918453957,2.0321759794393395,0.7894394230676546 +1697,1.238782499047912,2.0321762251020776,0.7894399630479185 +1698,1.2387822065993557,2.032176470008977,0.7894405011133747 +1699,1.238781914499495,2.032176714163146,0.7894410372714707 +1700,1.2387816227480977,2.0321769575677573,0.7894415715295994 +1701,1.238781331344947,2.032177200225999,0.7894421038951318 +1702,1.2387810402898123,2.0321774421410828,0.7894426343754232 +1703,1.2387807495824694,2.032177683316197,0.789443162977786 +1704,1.238780459222698,2.0321779237543818,0.789443689709508 +1705,1.2387801692102842,2.032178163458847,0.7894442145778516 +1706,1.238779879545006,2.0321784024326557,0.7894447375899867 +1707,1.238779590226653,2.032178640678883,0.7894452587531556 +1708,1.238779301255009,2.0321788782006003,0.7894457780745042 +1709,1.2387790126298632,2.03217911500096,0.7894462955611302 +1710,1.2387787243510144,2.0321793510829935,0.789446811220156 +1711,1.2387784364182528,2.0321795864496663,0.7894473250586332 +1712,1.238778148831365,2.032179821104129,0.7894478370836046 +1713,1.2387778615901563,2.032180055049361,0.7894483473020861 +1714,1.238777574694424,2.0321802882883,0.7894488557210376 +1715,1.2387772881439671,2.0321805208240895,0.7894493623473929 +1716,1.2387770019385866,2.032180752659613,0.7894498671880898 +1717,1.2387767160780854,2.0321809837977955,0.7894503702500103 +1718,1.2387764305622824,2.032181214241606,0.7894508715400013 +1719,1.2387761453909616,2.032181443994,0.7894513710649087 +1720,1.2387758605639498,2.0321816730579614,0.7894518688315024 +1721,1.2387755760810528,2.0321819014363247,0.7894523648465857 +1722,1.2387752919420763,2.0321821291320905,0.7894528591168599 +1723,1.23877500814684,2.032182356148059,0.7894533516490742 +1724,1.2387747246951608,2.032182582487155,0.7894538424498656 +1725,1.2387744415868516,2.0321828081523954,0.7894543315259548 +1726,1.2387741588217258,2.032183033146348,0.7894548188839248 +1727,1.2387738763996075,2.0321832574719414,0.7894553045303823 +1728,1.2387735943203189,2.0321834811320763,0.7894557884719284 +1729,1.2387733125836822,2.03218370412958,0.7894562707150532 +1730,1.2387730311895135,2.032183926467202,0.7894567512662791 +1731,1.2387727501376458,2.032184148147754,0.7894572301321314 +1732,1.238772469427905,2.032184369174009,0.7894577073190749 +1733,1.2387721890601096,2.032184589548748,0.7894581828334905 +1734,1.2387719090340972,2.032184809274826,0.7894586566818516 +1735,1.2387716293496958,2.0321850283547747,0.7894591288704781 +1736,1.238771350006731,2.0321852467914563,0.7894595994057554 +1737,1.2387710710050437,2.0321854645875983,0.7894600682940052 +1738,1.2387707923444602,2.032185681745885,0.789460535541519 +1739,1.2387705140248155,2.032185898269037,0.7894610011545734 +1740,1.238770236045954,2.032186114159698,0.7894614651394275 +1741,1.2387699584076914,2.0321863294207154,0.7894619275023115 +1742,1.2387696811098858,2.0321865440544826,0.7894623882493764 +1743,1.2387694041523765,2.032186758063862,0.7894628473868276 +1744,1.2387691275349886,2.0321869714513534,0.7894633049208061 +1745,1.2387688512575703,2.0321871842197177,0.7894637608574354 +1746,1.238768575319962,2.0321873963714734,0.7894642152027973 +1747,1.2387682997220122,2.0321876079092864,0.7894646679629529 +1748,1.2387680244635595,2.0321878188357383,0.7894651191439518 +1749,1.238767749544445,2.032188029153468,0.7894655687518248 +1750,1.2387674749645199,2.0321882388648937,0.7894660167925502 +1751,1.2387672007236263,2.032188447972758,0.7894664632720791 +1752,1.2387669268216155,2.032188656479573,0.7894669081964005 +1753,1.2387666532583341,2.0321888643877672,0.7894673515714006 +1754,1.2387663800336295,2.0321890716999125,0.7894677934029753 +1755,1.2387661071473544,2.0321892784186066,0.7894682336969875 +1756,1.2387658345993537,2.0321894845462802,0.7894686724593075 +1757,1.23876556238948,2.032189690085501,0.7894691096957446 +1758,1.2387652905175905,2.03218989503865,0.7894695454120874 +1759,1.238765018983526,2.032190099408346,0.789469979614091 +1760,1.2387647477871535,2.0321903031969804,0.789470412307556 +1761,1.2387644769283175,2.03219050640697,0.7894708434981733 +1762,1.23876420640688,2.032190709040824,0.7894712731916584 +1763,1.2387639362226857,2.032190911101024,0.7894717013936843 +1764,1.238763666375603,2.0321911125898797,0.7894721281099139 +1765,1.238763396865478,2.032191313509789,0.7894725533459673 +1766,1.238763127692163,2.032191513863186,0.7894729771074643 +1767,1.238762858855535,2.0321917136525722,0.7894733993999903 +1768,1.2387625903554382,2.032191912880273,0.7894738202290968 +1769,1.2387623221917305,2.0321921115486106,0.7894742396003482 +1770,1.2387620543642763,2.032192309659991,0.7894746575192603 +1771,1.2387617868729297,2.032192507216731,0.789475073991301 +1772,1.2387615197175559,2.0321927042211994,0.7894754890220037 +1773,1.2387612528980099,2.0321929006757236,0.7894759026167377 +1774,1.2387609864141573,2.032193096582646,0.789476314781007 +1775,1.2387607202658601,2.0321932919442096,0.7894767255201677 +1776,1.2387604544529767,2.032193486762811,0.7894771348396382 +1777,1.2387601889753699,2.0321936810406656,0.7894775427447672 +1778,1.2387599238329003,2.0321938747800803,0.7894779492409092 +1779,1.2387596590254337,2.032194067983367,0.7894783543333448 +1780,1.2387593945528343,2.0321942606527847,0.7894787580274271 +1781,1.2387591304149614,2.032194452790522,0.7894791603283945 +1782,1.2387588666116802,2.032194644398898,0.7894795612415249 +1783,1.2387586031428588,2.032194835480031,0.7894799607720357 +1784,1.2387583400083595,2.032195026036329,0.7894803589251853 +1785,1.2387580772080404,2.0321952160698395,0.7894807557060988 +1786,1.2387578147417757,2.0321954055828773,0.789481151119993 +1787,1.2387575526094243,2.032195594577518,0.7894815451720386 +1788,1.2387572908108562,2.0321957830561157,0.7894819378672981 +1789,1.2387570293459318,2.0321959710207653,0.7894823292109304 +1790,1.2387567682145209,2.0321961584735235,0.7894827192080126 +1791,1.2387565074164926,2.0321963454166276,0.789483107863631 +1792,1.2387562469517044,2.0321965318522577,0.789483495182778 +1793,1.2387559868200233,2.0321967177825533,0.7894838811705313 +1794,1.2387557270213272,2.032196903209661,0.7894842658319011 +1795,1.2387554675554686,2.0321970881356877,0.7894846491718311 +1796,1.2387552084223212,2.0321972725628097,0.7894850311953606 +1797,1.2387549496217516,2.032197456492962,0.7894854119073846 +1798,1.238754691153624,2.032197639928415,0.7894857913128395 +1799,1.2387544330178102,2.032197822871119,0.7894861694166382 +1800,1.238754175214167,2.032198005323306,0.7894865462236815 +1801,1.2387539177425715,2.0321981872868076,0.7894869217388483 +1802,1.2387536606028973,2.0321983687639142,0.7894872959669502 +1803,1.238753403794989,2.0321985497565596,0.7894876689128353 +1804,1.2387531473187252,2.0321987302668356,0.7894880405813394 +1805,1.2387528911739794,2.032198910296707,0.7894884109772142 +1806,1.2387526353606175,2.0321990898483,0.7894887801052649 +1807,1.2387523798784972,2.032199268923547,0.7894891479702579 +1808,1.2387521247274884,2.0321994475244614,0.7894895145768815 +1809,1.2387518699074638,2.0321996256530808,0.7894898799298923 +1810,1.2387516154182823,2.0321998033113813,0.7894902440339845 +1811,1.2387513612598204,2.032199980501313,0.7894906068938041 +1812,1.238751107431937,2.0322001572249255,0.7894909685140755 +1813,1.2387508539345042,2.032200333484054,0.7894913288993792 +1814,1.2387506007673783,2.0322005092808273,0.7894916880543876 +1815,1.238750347930441,2.0322006846170177,0.7894920459836908 +1816,1.238750095423547,2.0322008594947105,0.7894924026918335 +1817,1.2387498432465638,2.032201033915773,0.7894927581834481 +1818,1.2387495913993647,2.032201207882171,0.7894931124630921 +1819,1.2387493398818108,2.0322013813956574,0.7894934655352449 +1820,1.2387490886937669,2.0322015544583008,0.7894938174044607 +1821,1.2387488378350948,2.0322017270719637,0.7894941680752394 +1822,1.2387485873056676,2.032201899238464,0.7894945175520429 +1823,1.2387483371053474,2.0322020709597965,0.7894948658393376 +1824,1.2387480872339993,2.0322022422378003,0.7894952129415789 +1825,1.2387478376914884,2.032202413074272,0.789495558863202 +1826,1.238747588477676,2.0322025834711743,0.78949590360861 +1827,1.2387473395924313,2.032202753430294,0.7894962471821706 +1828,1.2387470910356195,2.032202922953527,0.7894965895883079 +1829,1.2387468428070951,2.032203092042579,0.7894969308313688 +1830,1.23874659490673,2.032203260699459,0.7894972709156941 +1831,1.2387463473343852,2.0322034289258433,0.7894976098455703 +1832,1.2387461000899251,2.0322035967235395,0.7894979476253817 +1833,1.23874585317321,2.032203764094449,0.7894982842593501 +1834,1.2387456065840983,2.0322039310402613,0.7894986197518001 +1835,1.2387453603224643,2.032204097562863,0.7894989541069506 +1836,1.2387451143881596,2.0322042636640782,0.7894992873290609 +1837,1.2387448687810534,2.03220442934555,0.7894996194223605 +1838,1.2387446235010016,2.0322045946090013,0.7894999503910934 +1839,1.2387443785478616,2.0322047594563895,0.7895002802393806 +1840,1.238744133921499,2.032204923889324,0.7895006089714529 +1841,1.2387438896217735,2.0322050879096167,0.7895009365914752 +1842,1.2387436456485517,2.0322052515188633,0.7895012631035535 +1843,1.238743402001681,2.0322054147189044,0.7895015885118247 +1844,1.2387431586810238,2.0322055775113976,0.7895019128204017 +1845,1.2387429156864458,2.0322057398982105,0.7895022360334101 +1846,1.2387426730177968,2.0322059018809018,0.7895025581549026 +1847,1.2387424306749413,2.0322060634611723,0.7895028791889496 +1848,1.2387421886577332,2.0322062246407757,0.7895031991396241 +1849,1.2387419469660308,2.032206385421335,0.7895035180109142 +1850,1.2387417055996952,2.0322065458045837,0.7895038358068533 +1851,1.238741464558568,2.032206705792165,0.7895041525314711 +1852,1.2387412238425215,2.0322068653857785,0.7895044681887241 +1853,1.2387409834514111,2.0322070245870716,0.7895047827826086 +1854,1.238740743385081,2.0322071833975666,0.7895050963170414 +1855,1.2387405036433858,2.03220734181901,0.7895054087960295 +1856,1.2387402642261913,2.0322074998530404,0.7895057202234279 +1857,1.238740025133345,2.032207657501215,0.7895060306031972 +1858,1.238739786364702,2.0322078147652847,0.7895063399392002 +1859,1.2387395479201102,2.032207971646736,0.7895066482353236 +1860,1.2387393097994215,2.032208128147268,0.789506955495445 +1861,1.2387390720024964,2.032208284268427,0.7895072617234303 +1862,1.2387388345291774,2.0322084400118117,0.7895075669230992 +1863,1.2387385973793241,2.0322085953789837,0.7895078710982585 +1864,1.2387383605527797,2.0322087503715847,0.7895081742527275 +1865,1.238738124049397,2.0322089049911507,0.7895084763902885 +1866,1.2387378878690278,2.0322090592392543,0.7895087775147371 +1867,1.2387376520115132,2.0322092131173624,0.789509077629851 +1868,1.2387374164767104,2.032209366627196,0.7895093767393366 +1869,1.2387371812644608,2.032209519770061,0.7895096748469664 +1870,1.238736946374622,2.03220967254763,0.7895099719564141 +1871,1.2387367118070272,2.0322098249616407,0.7895102680714328 +1872,1.238736477561531,2.0322099770133404,0.7895105631956844 +1873,1.238736243637978,2.0322101287043544,0.7895108573328795 +1874,1.2387360100362141,2.0322102800361344,0.7895111504866363 +1875,1.2387357767560818,2.032210431010314,0.7895114426606348 +1876,1.2387355437974283,2.032210581628319,0.7895117338585421 +1877,1.2387353111600934,2.032210731891702,0.7895120240839105 +1878,1.2387350788439215,2.03221088180187,0.7895123133404219 +1879,1.2387348468487565,2.0322110313602235,0.789512601631626 +1880,1.2387346151744485,2.0322111805683187,0.7895128889610915 +1881,1.2387343838208185,2.03221132942766,0.7895131753324302 +1882,1.2387341527877245,2.0322114779396965,0.7895134607491545 +1883,1.2387339220749995,2.0322116261058407,0.7895137452148387 +1884,1.2387336916824854,2.0322117739276124,0.7895140287329804 +1885,1.2387334616100187,2.0322119214063643,0.7895143113071005 +1886,1.2387332318574418,2.032212068543623,0.7895145929407278 +1887,1.2387330024245913,2.0322122153407918,0.7895148736373188 +1888,1.2387327733113067,2.032212361799192,0.7895151534003787 +1889,1.238732544517422,2.032212507920384,0.7895154322332797 +1890,1.2387323160427723,2.032212653705692,0.7895157101395942 +1891,1.2387320878871928,2.032212799156558,0.789515987122658 +1892,1.2387318600505195,2.032212944274413,0.7895162631859682 +1893,1.23873163253259,2.0322130890606194,0.7895165383328805 +1894,1.238731405333236,2.0322132335165017,0.7895168125668055 +1895,1.2387311784522872,2.0322133776435534,0.7895170858911205 +1896,1.2387309518895822,2.0322135214429746,0.7895173583092132 +1897,1.2387307256449498,2.032213664916344,0.7895176298244093 +1898,1.238730499718214,2.0322138080649377,0.7895179004401075 +1899,1.238730274109221,2.0322139508901262,0.7895181701595752 +1900,1.2387300488177908,2.0322140933931565,0.7895184389861652 +1901,1.2387298238437525,2.0322142355756125,0.7895187069231827 +1902,1.238729599186934,2.032214377438685,0.789518973973924 +1903,1.238729374847169,2.032214518983731,0.7895192401416997 +1904,1.2387291508242804,2.0322146602120386,0.7895195054297434 +1905,1.2387289271181012,2.0322148011250043,0.7895197698413052 +1906,1.2387287037284498,2.0322149417238973,0.7895200333796479 +1907,1.238728480655152,2.032215082009999,0.7895202960480123 +1908,1.2387282578980394,2.0322152219847145,0.7895205578495874 +1909,1.2387280354569297,2.032215361649292,0.7895208187876293 +1910,1.2387278133316493,2.032215501005063,0.7895210788653275 +1911,1.2387275915220266,2.0322156400532303,0.7895213380858241 +1912,1.2387273700278734,2.032215778795131,0.7895215964523327 +1913,1.2387271488490201,2.032215917231981,0.7895218539680019 +1914,1.2387269279852824,2.0322160553651756,0.7895221106359569 +1915,1.2387267074364832,2.0322161931959277,0.7895223664593811 +1916,1.23872648720244,2.032216330725457,0.789522621441376 +1917,1.2387262672829726,2.0322164679551156,0.789522875585045 +1918,1.2387260476778976,2.032216604886075,0.7895231288934954 +1919,1.2387258283870406,2.032216741519669,0.7895233813698381 +1920,1.2387256094102042,2.032216877857059,0.7895236330171682 +1921,1.2387253907472247,2.0322170138994378,0.7895238838384825 +1922,1.238725172397903,2.0322171496481296,0.7895241338369007 +1923,1.2387249543620567,2.032217285104325,0.7895243830154478 +1924,1.2387247366395016,2.032217420269246,0.7895246313771364 +1925,1.238724519230047,2.032217555144106,0.789524878925012 +1926,1.238724302133515,2.0322176897301474,0.789525125662074 +1927,1.2387240853497083,2.0322178240285145,0.789525371591331 +1928,1.2387238688784494,2.032217958040496,0.7895256167157865 +1929,1.2387236527195387,2.0322180917672172,0.7895258610384025 +1930,1.2387234368727937,2.03221822520982,0.7895261045621271 +1931,1.2387232213380213,2.0322183583696254,0.7895263472899356 +1932,1.2387230061150267,2.032218491247766,0.7895265892247608 +1933,1.2387227912036236,2.03221862384542,0.7895268303695837 +1934,1.2387225766036165,2.0322187561635743,0.7895270707272425 +1935,1.2387223623148185,2.0322188882036025,0.789527310300735 +1936,1.2387221483370265,2.0322190199666426,0.7895275490928907 +1937,1.2387219346700549,2.0322191514537216,0.7895277871066229 +1938,1.2387217213137,2.032219282666166,0.7895280243448373 +1939,1.2387215082677732,2.032219413605084,0.789528260810369 +1940,1.238721295532072,2.0322195442714355,0.7895284965060911 +1941,1.2387210831064077,2.032219674666523,0.7895287314348559 +1942,1.2387208709905757,2.0322198047915117,0.7895289655994733 +1943,1.238720659184375,2.0322199346473813,0.7895291990027884 +1944,1.2387204476876184,2.0322200642353754,0.7895294316476211 +1945,1.238720236500091,2.0322201935564697,0.7895296635367851 +1946,1.238720025621603,2.0322203226119693,0.7895298946730273 +1947,1.2387198150519472,2.0322204514027815,0.7895301250591903 +1948,1.2387196047909266,2.032220579930101,0.7895303546980502 +1949,1.2387193948383355,2.032220708195,0.7895305835922852 +1950,1.2387191851939687,2.0322208361986376,0.789530811744753 +1951,1.2387189758576294,2.032220963942059,0.7895310391581158 +1952,1.2387187668291033,2.0322210914263326,0.7895312658351644 +1953,1.23871855810819,2.0322212186525586,0.7895314917786063 +1954,1.238718349694688,2.0322213456218305,0.7895317169911376 +1955,1.2387181415883841,2.0322214723352547,0.7895319414754609 +1956,1.2387179337890746,2.0322215987938064,0.7895321652343209 +1957,1.2387177262965454,2.0322217249984593,0.7895323882703417 +1958,1.2387175191105975,2.032221850950415,0.7895326105862 +1959,1.2387173122310116,2.032221976650645,0.7895328321845846 +1960,1.2387171056575887,2.032222102100256,0.7895330530681381 +1961,1.238716899390106,2.0322222273002293,0.7895332732395041 +1962,1.2387166934283609,2.032222352251691,0.7895334927013085 +1963,1.2387164877721355,2.032222476955611,0.7895337114561997 +1964,1.238716282421222,2.032222601413086,0.7895339298760955 +1965,1.238716077375403,2.032222725625107,0.7895341499964523 +1966,1.238715872634467,2.032222849592574,0.7895343694086872 +1967,1.2387156681981943,2.0322229733165726,0.7895345881154755 +1968,1.2387154640663751,2.032223096798113,0.7895348061193862 +1969,1.2387152602387939,2.032223220038195,0.7895350234230414 +1970,1.2387150567152287,2.032223343037957,0.7895352400290112 +1971,1.2387148534954657,2.0322234657982254,0.7895354559399517 +1972,1.238714650579285,2.032223588320127,0.7895356711583694 +1973,1.238714447966467,2.032223710604557,0.7895358856868946 +1974,1.2387142456567994,2.032223832652531,0.7895360995280615 +1975,1.238714043650052,2.032223954464948,0.7895363126843853 +1976,1.2387138419460055,2.0322240760428936,0.7895365251584492 +1977,1.2387136405444434,2.032224197387258,0.7895367369527685 +1978,1.238713439445143,2.0322243184990643,0.7895369480698491 +1979,1.238713238647877,2.032224439379285,0.7895371585122368 +1980,1.2387130381524256,2.0322245600287987,0.7895373682823925 +1981,1.238712837958565,2.0322246804487554,0.7895375773828389 +1982,1.2387126380660614,2.032224800639945,0.7895377858160759 +1983,1.2387124384747077,2.0322249206033476,0.7895379935845276 +1984,1.2387122391842569,2.032225040339917,0.7895382006907242 +1985,1.2387120401944964,2.0322251598505536,0.7895384071370598 +1986,1.238711841505194,2.0322252791362585,0.7895386129260186 +1987,1.23871164311612,2.0322253981978866,0.7895388180600522 +1988,1.2387114450270562,2.032225517036416,0.7895390225415297 +1989,1.2387112472377606,2.0322256356527513,0.7895392263729354 +1990,1.2387110497480034,2.0322257540477615,0.7895394295566432 +1991,1.2387108525575588,2.0322258722224302,0.7895396320950473 +1992,1.2387106556661953,2.0322259901776767,0.7895398339905955 +1993,1.2387104590736835,2.03222610791436,0.7895400352456293 +1994,1.2387102627797761,2.032226225433381,0.7895402358625174 +1995,1.238710066784263,2.032226342735684,0.7895404358436523 +1996,1.238709871086894,2.0322264598222586,0.789540635191387 +1997,1.238709675687436,2.032226576693705,0.7895408339080691 +1998,1.238709480585654,2.0322266933512805,0.7895410319960536 +1999,1.2387092857813224,2.0322268097956555,0.7895412294576262 diff --git a/Fig6/RD_0.tif b/Fig6/RD_0.tif new file mode 100644 index 0000000..fa61c28 Binary files /dev/null and b/Fig6/RD_0.tif differ diff --git a/Fig6/RD_0_crop.tif b/Fig6/RD_0_crop.tif new file mode 100644 index 0000000..023ed3c Binary files /dev/null and b/Fig6/RD_0_crop.tif differ diff --git a/Fig6/RD_120.tif b/Fig6/RD_120.tif new file mode 100644 index 0000000..4c2fee0 Binary files /dev/null and b/Fig6/RD_120.tif differ diff --git a/Fig6/RD_120_crop.tif b/Fig6/RD_120_crop.tif new file mode 100644 index 0000000..8aece29 Binary files /dev/null and b/Fig6/RD_120_crop.tif differ diff --git a/Fig6/RD_160.tif b/Fig6/RD_160.tif new file mode 100644 index 0000000..44dc9f4 Binary files /dev/null and b/Fig6/RD_160.tif differ diff --git a/Fig6/RD_160_crop.tif b/Fig6/RD_160_crop.tif new file mode 100644 index 0000000..10d3379 Binary files /dev/null and b/Fig6/RD_160_crop.tif differ diff --git a/Fig6/RD_20.tif b/Fig6/RD_20.tif new file mode 100644 index 0000000..70f5d2c Binary files /dev/null and b/Fig6/RD_20.tif differ diff --git a/Fig6/RD_20_crop.tif b/Fig6/RD_20_crop.tif new file mode 100644 index 0000000..c40085e Binary files /dev/null and b/Fig6/RD_20_crop.tif differ diff --git a/Fig6/RD_40.tif b/Fig6/RD_40.tif new file mode 100644 index 0000000..a2df3c5 Binary files /dev/null and b/Fig6/RD_40.tif differ diff --git a/Fig6/RD_40_crop.tif b/Fig6/RD_40_crop.tif new file mode 100644 index 0000000..561696b Binary files /dev/null and b/Fig6/RD_40_crop.tif differ diff --git a/Fig6/RD_80.tif b/Fig6/RD_80.tif new file mode 100644 index 0000000..12c4b5a Binary files /dev/null and b/Fig6/RD_80.tif differ diff --git a/Fig6/RD_80_crop.tif b/Fig6/RD_80_crop.tif new file mode 100644 index 0000000..058a9e4 Binary files /dev/null and b/Fig6/RD_80_crop.tif differ diff --git a/Fig6/crop.m b/Fig6/crop.m new file mode 100644 index 0000000..645ec88 --- /dev/null +++ b/Fig6/crop.m @@ -0,0 +1,11 @@ +files = {'RD_0.tif','RD_20.tif','RD_40.tif','RD_80.tif','RD_120.tif','RD_160.tif'} +names = {'RD_0_crop.tif','RD_20_crop.tif','RD_40_crop.tif','RD_80_crop.tif','RD_120_crop.tif','RD_160_crop.tif'} + +for i=1:length(files) + f = files{i}; + g = names{i}; + I = imread(f); + rect = [150,500,1300,1050]; + J = imcrop(I(:,:,1:3),rect); + imwrite(J,g); +end diff --git a/Fig6/dataFig6b.mat b/Fig6/dataFig6b.mat new file mode 100644 index 0000000..eea3a31 Binary files /dev/null and b/Fig6/dataFig6b.mat differ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..c3f5b52 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + + Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + +0. Definitions. + +"This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based +on the Program. + +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +1. Source Code. + +The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +The Corresponding Source for a work in source code form is that +same work. + +2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + +a) The work must carry prominent notices stating that you modified +it, and giving a relevant date. + +b) The work must carry prominent notices stating that it is +released under this License and any conditions added under section +7. This requirement modifies the requirement in section 4 to +"keep intact all notices". + +c) You must license the entire work, as a whole, under this +License to anyone who comes into possession of a copy. This +License will therefore apply, along with any applicable section 7 +additional terms, to the whole of the work, and all its parts, +regardless of how they are packaged. This License gives no +permission to license the work in any other way, but it does not +invalidate such permission if you have separately received it. + +d) If the work has interactive user interfaces, each must display +Appropriate Legal Notices; however, if the Program has interactive +interfaces that do not display Appropriate Legal Notices, your +work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + +a) Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by the +Corresponding Source fixed on a durable physical medium +customarily used for software interchange. + +b) Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by a +written offer, valid for at least three years and valid for as +long as you offer spare parts or customer support for that product +model, to give anyone who possesses the object code either (1) a +copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical +medium customarily used for software interchange, for a price no +more than your reasonable cost of physically performing this +conveying of source, or (2) access to copy the +Corresponding Source from a network server at no charge. + +c) Convey individual copies of the object code with a copy of the +written offer to provide the Corresponding Source. This +alternative is allowed only occasionally and noncommercially, and +only if you received the object code with such an offer, in accord +with subsection 6b. + +d) Convey the object code by offering access from a designated +place (gratis or for a charge), and offer equivalent access to the +Corresponding Source in the same way through the same place at no +further charge. You need not require recipients to copy the +Corresponding Source along with the object code. If the place to +copy the object code is a network server, the Corresponding Source +may be on a different server (operated by you or a third party) +that supports equivalent copying facilities, provided you maintain +clear directions next to the object code saying where to find the +Corresponding Source. Regardless of what server hosts the +Corresponding Source, you remain obligated to ensure that it is +available for as long as needed to satisfy these requirements. + +e) Convey the object code using peer-to-peer transmission, provided +you inform other peers where the object code and Corresponding +Source of the work are being offered to the general public at no +charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the +terms of sections 15 and 16 of this License; or + +b) Requiring preservation of specified reasonable legal notices or +author attributions in that material or in the Appropriate Legal +Notices displayed by works containing it; or + +c) Prohibiting misrepresentation of the origin of that material, or +requiring that modified versions of such material be marked in +reasonable ways as different from the original version; or + +d) Limiting the use for publicity purposes of names of licensors or +authors of the material; or + +e) Declining to grant rights under trademark law for use of some +trade names, trademarks, or service marks; or + +f) Requiring indemnification of licensors and authors of that +material by anyone who conveys the material (or modified versions of +it) with contractual assumptions of liability to the recipient, for +any liability that these contractual assumptions directly impose on +those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + +Copyright (C) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) +This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it +under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1d77647 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +#Source Code + +This repository contains code used to generate figures for our paper on mechanosensing as an adaptation for neutrophil polarity. + +Written by Cole Zmurchok, https://zmurchok.github.io. + +## Contents + +Each file generates a part of a figure: + +- bettercolors.m is a Matlab script that changes the default Matlab colors. +- Figure2a_driver.m generates the LPA bifurcation diagram in Figure 2A. It requires the file Fig2_Functions.m (that has the ODE system) and the software Matcont +- Fig2b-e.py is a Python file used to solve the reaction-diffusion PDE to produce the remaining panels in Figure 2. Scipy, Matplotlib and Numpy are needed. This code was based off of the tutorial at https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol +- Fig3a.m generates Figure 3A, and requires the file Fig2_Functions.m +- Fig3b.py generates Figure 3B by solving the RD-PDE as before. +- Fig4b.py and Fig4c.py by solving the moving-boundary RD-PDE. +- The directory Fig5/ contains several files: + - 'X_data.mat' is a Matlab data file containing data from Python simulations of the reaction-diffusion PDE system for different stimulus levels X. + - Each data file is produced by the Python script pdeSimulation.py + - The File RT_2.m generates the bifurcation diagram shown in Figure 5a using Matcont and the function file funcs.m, and saves it as RT_2.fig. + - Fig5a.m and Fig5b.m generate panels A and B respectively. Fig4a requires the file RT_2.fig. You will need to update the path to RT_2.fig in the Fig5a.m file. + - is_polarized.m is a function used to determine if a spatial distribution of Rac is polarized or not at a single time step. +- The directory Fig6/ contains data from the 2D simulations. + - Fig6data.csv is the simulation data (time, area, mass, max - min Rac activity), and dataFig6b.mat is a Matlab version of this csv file that contains column vectors of each of these quantities. + - crop.m crops the simulation output images to be a consistent size to make the subpanels of Figure 6A. + - Fig6b.m generates the plots used in Figure 6B from the data in dataFig6b.mat. +- SIFig1.py solves the RD PDE as in Figure 4B with successively increasing numbers of grid points. + +## License + +GNU GPL v3 (see License.txt) diff --git a/SIFig1.py b/SIFig1.py new file mode 100644 index 0000000..a932ff8 --- /dev/null +++ b/SIFig1.py @@ -0,0 +1,349 @@ +import matplotlib +# matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +import numpy as np +from scipy.integrate import odeint +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm +import scipy.io + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +def f(u, v, b, gamma, n, RT, delta): + return (b+gamma*u**n/(1+u**n))*v - delta*u + +def g(u, v, b, gamma, n, RT, delta): + return -f(u,v,b, gamma, n, RT, delta) + +def F(R): + sharp = 10 + switch = 1 + magnitude = 0.001 + return magnitude/(1+np.exp(-2*sharp*(R-switch))) + +def xmdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (spring*(xp-xm-1) - F(u[0]))/viscosity + +def xpdot(u,v,xm,xp,t): + viscosity = 1 + spring = 0.001 + return (-spring*(xp-xm-1) + F(u[-1]))/viscosity + +def rdPDE(y, t, b, gamma, n, RT, delta, Du, Dv, dx): + """ + The ODEs are derived using the method of lines. + https://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#mol + """ + # The vectors u and v are interleaved in y. We define + # views of u and v by slicing y. + #the ode for L is stored at the end of y + u = y[0:-2:2] + v = y[1:-2:2] + xm = y[-2] + xp = y[-1] + + l = xp-xm + + if (t>50): + b = 4 + + delta = 3 + 1*(l-1) + + # dydt is the return value of this function. + dydt = np.empty_like(y) + + dudt = dydt[0:-2:2] + dvdt = dydt[1:-2:2] + dxmdt = dydt[-2] + dxpdt = dydt[-1] + + dudt[0] = f(u[0], v[0], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[0] + 2.0*u[1]) / dx**2 - u[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[1:-1] = f(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * np.diff(u,2) / dx**2 - u[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dudt[-1] = f(u[-1], v[-1], b, gamma, n, RT, delta) + ( Du / l**2 ) * (-2.0*u[-1] + 2.0*u[-2]) / dx**2 - u[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dvdt[0] = g(u[0], v[0], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[0] + 2.0*v[1]) / dx**2 - v[0] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[1:-1] = g(u[1:-1], v[1:-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * np.diff(v,2) / dx**2 - v[1:-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + dvdt[-1] = g(u[-1], v[-1], b, gamma, n, RT, delta) + ( Dv / l**2 ) * (-2.0*v[-1] + 2.0*v[-2]) / dx**2 - v[-1] * (xpdot(u,v,xm,xp,t) - xmdot(u,v,xm,xp,t)) / l + + dxmdt = xmdot(u,v,xm,xp,t) + dxpdt = xpdot(u,v,xm,xp,t) + + dydt[0:-2:2] = dudt + dydt[1:-2:2] = dvdt + dydt[-2] = dxmdt + dydt[-1] = dxpdt + + return dydt + +# %% +# %%time +L = 1 +N = 100 +x = np.linspace(0, L, N) +dx = 1/N +T = 5000 +M = 2500 +t = np.linspace(0, T, M) + +b, gamma, n, RT, delta = 0.1, 5, 6, 2, 3 +Du = 0.01 +Dv = 10 + +#polarized ic +# width = 0.1 +# height = 2 +# u0 = np.zeros(N) +# u0[x > 1-width] = height +# v0 = (RT-width*height)*np.ones(np.size(x)) + +#b = 0.1 steadystate +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) + +# u0ic = RT +# u0 = u0ic*np.ones(np.size(x)) +# v0 = (RT-u0ic)*np.ones(np.size(x)) + + +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 + + +sol = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) + +# %% + +u = sol[:,0:-2:2] +v = sol[:,1:-2:2] +xm = sol[:,-2] +xp = sol[:,-1] +l = xp - xm + +# scipy.io.savemat('data.mat',dict(t=t,l=l,u=u)) + +# %% +fig = plt.figure("fig1",figsize=(5.2,2.6)) +ax1 = plt.subplot(121) +pmesh = plt.pcolormesh(x,t,u,cmap=cm.inferno) +cbar = fig.colorbar(pmesh,ax=ax1) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$\bar x$') +ax1.set_ylabel(r'$t$') +ax1.set_title(r'$R(\bar x,t)$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + +ax2 = plt.subplot(122) +pmesh =plt.pcolormesh(x,t,v,cmap=cm.inferno) +ax2.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +cbar = fig.colorbar(pmesh,ax=ax2) +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax2.set_xlabel(r'$\bar x$') +ax2.set_ylabel(r'$t$') +ax2.set_title(r'$R_i(\bar x,t)$') +ax2.spines["left"].set_linewidth(1.5) +ax2.spines["top"].set_linewidth(1.5) +ax2.spines["right"].set_linewidth(1.5) +ax2.spines["bottom"].set_linewidth(1.5) + +plt.tight_layout() +plt.savefig('test3_fixed.tiff',dpi=600) +plt.show() + +# %% +Xgrid, Tgrid = np.meshgrid(x,t) +Xgrid = np.empty_like(Xgrid) +for i in range(len(t)): + Xgrid[i,:] = x*l[i]+xm[i] +# %% + +fig = plt.figure("fig1",figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +pmesh = plt.pcolormesh(Xgrid,Tgrid,u,cmap=cm.inferno,vmin=0,vmax=2) +cbar = fig.colorbar(pmesh,ax=ax1) +xmline = plt.plot(xm,t,linewidth=1.5,color='k') +xpline = plt.plot(xp,t,linewidth=1.5,color='k') +# plt.axhline(y=20,linestyle='--',linewidth=2,color='w') +cbar.outline.set_linewidth(1.5) +cbar.ax.tick_params(width=1.5) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +# ax1.set_xlabel(r'$x$') +# ax1.set_ylabel(r'$t$') +# ax1.set_title(r'$R(x,t)$') +ax1.set_facecolor((0.7,0.7,0.7)) +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) + + +plt.tight_layout() +plt.savefig('test3.tiff',dpi=600) +plt.show() +#%% +fig = plt.figure(figsize=(2.6,2.6)) +ax1 = plt.subplot(111) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +plt.plot(t,l) +ax1.set_xlabel(r'$t$') +ax1.set_ylabel(r'$l$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +plt.tight_layout() +plt.savefig('test3_length.tiff',dpi=600) +plt.show() +# %% +# check mass conservation +print(np.sum(dx*l[0]*(u[0,:] + v[0,:]))) +print(np.sum(dx*l[-1]*(u[-1,:] + v[-1,:]))) +mass = [] +for i in range(len(t)): + mass.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + +#%% + +N = 200 +x = np.linspace(0, L, N) +dx = 1/N +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 +sol2 = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) +u = sol2[:,0:-2:2] +v = sol2[:,1:-2:2] +xm = sol2[:,-2] +xp = sol2[:,-1] +l = xp - xm +mass2 = [] +for i in range(len(t)): + mass2.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + + +N = 400 +x = np.linspace(0, L, N) +dx = 1/N +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 +sol3 = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) +u = sol3[:,0:-2:2] +v = sol3[:,1:-2:2] +xm = sol3[:,-2] +xp = sol3[:,-1] +l = xp - xm +mass3 = [] +for i in range(len(t)): + mass3.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + + +N = 800 +x = np.linspace(0, L, N) +dx = 1/N +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 +sol4 = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) +u = sol4[:,0:-2:2] +v = sol4[:,1:-2:2] +xm = sol4[:,-2] +xp = sol4[:,-1] +l = xp - xm +mass4 = [] +for i in range(len(t)): + mass4.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + + +N = 1600 +x = np.linspace(0, L, N) +dx = 1/N +u0ic = 0.05645 +u0 = u0ic*np.ones(np.size(x)) +v0 = (RT-u0ic)*np.ones(np.size(x)) +y0 = np.zeros(2*N+2) +xm0 = 0 +xp0 = 1 +y0[0:-2:2] = u0 +y0[1:-2:2] = v0 +y0[-2] = xm0 +y0[-1] = xp0 +sol5 = odeint(rdPDE, y0, t, args=(b, gamma, n, RT, delta, Du, Dv, dx)) +u = sol5[:,0:-2:2] +v = sol5[:,1:-2:2] +xm = sol5[:,-2] +xp = sol5[:,-1] +l = xp - xm +mass5 = [] +for i in range(len(t)): + mass5.append(np.sum(dx*l[i]*(u[i,:] + v[i,:]))) + + + +#%% +from mpltools import annotation + +N = [100,200,400,800,1600] + +def error(mass): + return np.max(np.abs(np.array(mass)-RT)) + +errors = [error(mass),error(mass2),error(mass3),error(mass4),error(mass5)] + +fig = plt.figure("fig3",figsize=(3,3)) +ax1 = plt.subplot(111) +plt.loglog(N,errors,'o-') +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10 , width=1.5) +ax1.set_xlabel(r'$N$') +ax1.set_ylabel(r'$|| e ||_\infty$') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +# ax1.set_xlim(0,T) +ax1.grid(linewidth=1.5) +annotation.slope_marker((350, 0.0007), (-1,1)) +# plt.legend(location='center right') +plt.tight_layout() +plt.savefig('test3_mass_error.tiff',dpi=1200) +# plt.savefig('test3_mass_error.eps') +plt.show() diff --git a/SIFig2.csv b/SIFig2.csv new file mode 100644 index 0000000..8655a32 --- /dev/null +++ b/SIFig2.csv @@ -0,0 +1,2001 @@ +timestep,Area,Mass,Rac_Max_Min +0,1.0,2.0,0.0 +1,1.0,1.9999999999999998,0.004310419745847338 +2,1.000000000033004,1.9999999941966025,0.007949412804129224 +3,1.0000000002914375,1.9999999915508038,0.011205049960766433 +4,1.0000000018863553,1.9999999894562421,0.01410750194989252 +5,1.0000000098836352,1.9999999879119785,0.01677168156542652 +6,1.0000000434829313,1.9999999870128164,0.019345382026248026 +7,1.0000001655173332,1.99999998710239,0.021998964991898795 +8,1.0000005607133098,1.9999999889691158,0.024915683582380277 +9,1.0000017357844606,1.9999999943112488,0.028284442312696556 +10,1.000005030711178,2.000000006819406,0.03229149468628245 +11,1.0000139457154387,2.000000034637236,0.037102364604507776 +12,1.0000376176982173,2.0000000961661004,0.04282279100563424 +13,1.0000996316498934,2.0000002346457113,0.049440434109953135 +14,1.0002568839655581,2.0000005584546456,0.056792321159013115 +15,1.0006195294491307,2.0000013611329024,0.06465419663617988 +16,1.0013108550982028,2.0000034004859844,0.07254623643338576 +17,1.0023493581285758,2.0000080002762832,0.08003636422619054 +18,1.0036351795307867,2.000016172203256,0.08662140843946697 +19,1.0050543806725993,2.0000278344393654,0.09199693352107396 +20,1.0065350662581025,2.000042314629139,0.0961066143538789 +21,1.0080416979154003,2.0000589791301326,0.09905814976745808 +22,1.0095581060623566,2.0000773971101466,0.10099511678102813 +23,1.0110769508337023,2.000097300435503,0.10210231218804333 +24,1.0125947837847924,2.000118521707173,0.10255043864247804 +25,1.014109903585219,2.0001409515593123,0.10248519202177775 +26,1.0156214258261491,2.0001645138082726,0.10202597035133665 +27,1.017128867181791,2.0001891516345456,0.10126852521338625 +28,1.0186319514133293,2.0002148199186296,0.10028876462325265 +29,1.020130514541078,2.0002414809233118,0.09914650171236383 +30,1.021624456278234,2.000269101802551,0.0978887156471786 +31,1.0231137140223934,2.0002976531203283,0.09655223338357022 +32,1.0245982483339504,2.000327107939666,0.09516587553313371 +33,1.0260780345097347,2.0003574412391982,0.09375215106008228 +34,1.0275530575177854,2.000388629525486,0.09232858843537373 +35,1.0290233088526617,2.0004206505625373,0.09090878003032299 +36,1.0304887845245674,2.000453483176137,0.08950320249489407 +37,1.031949483738192,2.0004871071065575,0.08811986270537275 +38,1.0334054080027124,2.000521502894155,0.08676480784284712 +39,1.034856560518223,2.000556651788176,0.08544252938887809 +40,1.0363029457434363,2.0005925356723937,0.08415628401629416 +41,1.0377445690848595,2.0006291370032514,0.08290834912904099 +42,1.0391814366689474,2.0006664387584063,0.08170022681510813 +43,1.0406135551719558,2.000704424392425,0.0806952316544316 +44,1.0420409316906958,2.000743077799784,0.07976528929448357 +45,1.043463573642628,2.0007823832819285,0.0788681240355742 +46,1.0448814886874493,2.000822325519844,0.0780037464526091 +47,1.0462946846645496,2.0008628895495475,0.07717194558110863 +48,1.0477031695424128,2.0009040607408064,0.07637233987181724 +49,1.0491069513771172,2.0009458247785763,0.07560441814136798 +50,1.050506038277799,2.000988167646517,0.07486757245318909 +51,1.051900438377612,2.001031075612339,0.07416112448077516 +52,1.053290159808925,2.0010745352148476,0.07348434660297687 +53,1.0546752106819488,2.001118533252347,0.07283647873917354 +54,1.0560555990661176,2.0011630567721914,0.07221674173766268 +55,1.0574313329736262,2.00120809306146,0.07162434797525896 +56,1.0588024203447959,2.0012536296382617,0.07105850970130412 +57,1.0601688690348767,2.001299654243734,0.0705184455572272 +58,1.0615306868020433,2.0013461548351135,0.07000338562223662 +59,1.0628878812964142,2.0013931195787142,0.06951257526909393 +60,1.0642404600498132,2.0014405368441817,0.0690452780609252 +61,1.0655884304662468,2.001488395198047,0.06860077787614771 +62,1.0669317998129038,2.0015366833990926,0.06817838041411028 +63,1.0682705752115962,2.001585390392419,0.0677774142050136 +64,1.0696047636305666,2.001634505305047,0.0673972312244906 +65,1.0709343718766087,2.0016840174410904,0.0670372071946852 +66,1.0722594065873619,2.0017339162772814,0.06669674163798955 +67,1.0735798742238274,2.0017841914586008,0.06637525773703823 +68,1.0748957810630517,2.0018348327946325,0.06607220204472775 +69,1.0762071331907967,2.0018858302548157,0.06578704407966174 +70,1.077513936494415,2.0019371739653318,0.06551927583480555 +71,1.0788161966556402,2.001988854204595,0.06526841122348803 +72,1.0801139191435183,2.0020408614004546,0.06503398548001993 +73,1.081407109207174,2.0020931861259514,0.06481807392533345 +74,1.0826957718687167,2.0021458190959938,0.06461914262680035 +75,1.0839799119159896,2.002198751164041,0.06443532650143147 +76,1.0852595338953384,2.0022519733185917,0.06426624378305812 +77,1.0865346421042388,2.002305476680218,0.0641115304753419 +78,1.0878052405839413,2.0023592524980107,0.06397083973236439 +79,1.0890713331119404,2.0024132921465343,0.0638438412496718 +80,1.090332923194414,2.0024675871225095,0.06373022066905532 +81,1.091590014058552,2.002522129042173,0.06362967899871741 +82,1.0928426086447274,2.0025769096378134,0.06354193205052105 +83,1.0940907095986412,2.002631920754934,0.06346670989520753 +84,1.0953343192632778,2.0026871543492644,0.06340375633648754 +85,1.0965734396707896,2.002742602483889,0.06335282840397105 +86,1.0978080725342159,2.0027982573264542,0.06331369586550184 +87,1.0990382192391301,2.0028541111460827,0.06328614075841354 +88,1.1002638808351057,2.0029101563107825,0.06326995694006343 +89,1.1014850580270807,2.0029663852845943,0.06326494965666951 +90,1.1027017511666013,2.0030227906248306,0.06327093513061932 +91,1.1039139602428945,2.0030793649793273,0.0632877401655314 +92,1.1051216848738603,2.0031361010838973,0.06331520176865935 +93,1.1063249242968989,2.003192991759466,0.06335316679000713 +94,1.1075236773596036,2.003250029909627,0.06340149157765129 +95,1.10871794251034,2.00330720851807,0.06346004164885888 +96,1.1099077177887067,2.0033645206458472,0.06352869137604822 +97,1.1110930008158202,2.0034219594289238,0.06360732368759914 +98,1.1122737887845309,2.0034795180755616,0.06369582978217503 +99,1.1134500784494856,2.0035371898640393,0.06379410885692849 +100,1.1146218661170713,2.0035949681400007,0.06390206784811259 +101,1.1157891476352548,2.003652846314114,0.06401962118437399 +102,1.116951918383301,2.0037108178596,0.06414669055152133 +103,1.1181101732613896,2.003768876309894,0.06428320466888438 +104,1.119263906680103,2.0038270152562543,0.06442909907639915 +105,1.1204131125498906,2.003885228345488,0.06458431593183644 +106,1.1215577842703313,2.0039435092774935,0.06474880381838943 +107,1.1226979147194152,2.004001851803352,0.06492251756129352 +108,1.1238334962426881,2.0040602497224183,0.06510541805379089 +109,1.1249645206423542,2.0041186968807865,0.06529747209161285 +110,1.1260909791662994,2.0041771871685734,0.06549865221592643 +111,1.1272128624970772,2.0042357145181744,0.06570893656397025 +112,1.1283301607408731,2.0042942729017685,0.06592830872752264 +113,1.129442863416384,2.004352856329387,0.06615675761845963 +114,1.1305509594437486,2.004411458846686,0.06639427734125225 +115,1.1316544371334256,2.0044700745330704,0.0666408670722698 +116,1.1327532841751038,2.0045286974996297,0.06689653094516301 +117,1.1338474876266225,2.004587321886894,0.06716127794260052 +118,1.1349370339029488,2.0046459418633464,0.06743512179362665 +119,1.1360219087651915,2.0047045516230098,0.06771808087670039 +120,1.137102097309713,2.0047631453840156,0.06801017812803223 +121,1.1381775839573016,2.0048217173863954,0.06831144095497255 +122,1.1392483524424826,2.004880261890452,0.06862190115454792 +123,1.1403143858029656,2.0049387731750103,0.06894159483637563 +124,1.141375666369208,2.0049972455355194,0.06927056235032891 +125,1.1424321757542262,2.005055673282705,0.0696088482185322 +126,1.1434838948435235,2.005114050740651,0.0699565010714771 +127,1.1445308037853392,2.00517237224524,0.07031357358818013 +128,1.145572881981072,2.005230632142922,0.07068012244027932 +129,1.1466101080760662,2.005288824788763,0.07105620823976344 +130,1.1476424599506423,2.0053469445456162,0.07144189549051916 +131,1.1486699147115282,2.005404985782127,0.07183725254321005 +132,1.1496924486836544,2.00546294287202,0.07224235155362346 +133,1.1507100374023418,2.005520810192634,0.07265726844441178 +134,1.1517226556059819,2.005578582123745,0.07308208286987572 +135,1.1527302772292012,2.005636253046557,0.07351687818413111 +136,1.1537328753964848,2.0056938173426935,0.07396174141216538 +137,1.1547304224164825,2.0057512693932367,0.07441676322391944 +138,1.1557228897768377,2.0058086035778504,0.07488203791153314 +139,1.1567102481397025,2.0058658142743133,0.07535766336926675 +140,1.1576924673379465,2.0059228958576005,0.07584374107656577 +141,1.158669516372141,2.0059798426995057,0.0763403760837793 +142,1.1596413634082798,2.006036649167954,0.07684878562662889 +143,1.1606079757763874,2.006093309626968,0.07737102185188416 +144,1.1615693199700348,2.0061498184363726,0.07790413699095833 +145,1.1625253616467375,2.0062061699513745,0.07844824945634055 +146,1.163476065629452,2.006262358523077,0.07900348116035816 +147,1.1644213959090128,2.0063183784982668,0.07956995751742624 +148,1.165361315647779,2.0063742242198486,0.0801478074492068 +149,1.1662957871843849,2.006429890027258,0.08073716339276493 +150,1.167224772039765,2.0064853702569208,0.0813381613118056 +151,1.1681482309243911,2.006540659243073,0.08195094071109232 +152,1.1690661237469195,2.006595751318646,0.08257564465419498 +153,1.1699784096242092,2.0066506408161064,0.08321241978437621 +154,1.1708850468927796,2.0067053220690263,0.08386141634904254 +155,1.1717859931218284,2.00675978941308,0.08452278822771997 +156,1.1726812051277624,2.006814037187652,0.08519669296366295 +157,1.1735706389904266,2.006868059737769,0.08588329179920762 +158,1.1744542500709818,2.006921851415926,0.08658274971503532 +159,1.1753319930315305,2.0069754065843664,0.08729523547348772 +160,1.1762038218565547,2.007028719616836,0.08802092166611208 +161,1.177069689876217,2.0070817849018585,0.08875998476536817 +162,1.1779295497915194,2.007134596844998,0.08951260518110904 +163,1.1787833537014805,2.0071871498720655,0.09027896732136176 +164,1.1796310531322445,2.0072394384319727,0.09105925965817163 +165,1.180472599068281,2.0072914570006026,0.09185367479837137 +166,1.1813079419856467,2.007343200084153,0.09266240955942995 +167,1.1821370318873443,2.00739466222285,0.09348566505071032 +168,1.1829598183408614,2.0074458379954634,0.09432364676015381 +169,1.1837762505178433,2.0074967220234794,0.09517656464666069 +170,1.1845862772360212,2.0075473089754357,0.09604463323840129 +171,1.1853898470032689,2.0075975935721644,0.09692807173698714 +172,1.18618690806392,2.0076475705915318,0.09782710412788798 +173,1.1869774084473617,2.0076972348739957,0.09874195929729668 +174,1.1877612960187238,2.0077465813280435,0.09967287115533874 +175,1.1885385185319117,2.0077956049360526,0.10062007876601387 +176,1.1893090236847257,2.0078443007603206,0.1015838264839346 +177,1.190072759176223,2.007892663949462,0.1025643640979721 +178,1.1908296727661807,2.007940689744928,0.10356194698195575 +179,1.1915797123366392,2.007988373487427,0.10457683625249259 +180,1.1923228259555374,2.008035710624651,0.10560929893410265 +181,1.1930589619422758,2.008082696717789,0.10665960813163333 +182,1.193788068935258,2.008129327449571,0.10772804321005758 +183,1.1945100959612116,2.0081755986315013,0.10881613989006977 +184,1.1952249925063467,2.008221506211967,0.1099367920207579 +185,1.1959327085890814,2.008267046284135,0.11108483435447769 +186,1.1966331948344429,2.008312215094549,0.11225267801605465 +187,1.197326402549824,2.008357009051337,0.11344064792001851 +188,1.1980122838021396,2.008401424732544,0.11464907664580881 +189,1.1986907914961535,2.008445458895685,0.11587830467165072 +190,1.1993618794539231,2.00848910848593,0.11712868061581116 +191,1.2000255024951165,2.0085323706453067,0.11840056148517486 +192,1.2006816165182026,2.0085752427220602,0.11969431293079413 +193,1.2013301785821686,2.008617722279863,0.12101030951033942 +194,1.2019711469888261,2.0086598071069246,0.12234893495707144 +195,1.2026044813653591,2.0087014952255626,0.12371058245507704 +196,1.2032301427470309,2.0087427849018753,0.12509565492037056 +197,1.2038480936598845,2.0087836746547496,0.12650456528741993 +198,1.2044582982032497,2.0088241632656683,0.1279377368007344 +199,1.2050607221318659,2.008864249788286,0.12939560331080147 +200,1.2056553329374988,2.008903933557746,0.13087860957389363 +201,1.2062420999298014,2.0089432142002313,0.1323872115549447 +202,1.2068209943163555,2.0089820916424457,0.1339564322983009 +203,1.2073919892815825,2.0090205661207428,0.13556087819277818 +204,1.2079550600645304,2.0090586381903592,0.13719314485137413 +205,1.2085101840352177,2.009096308734954,0.13885374415904317 +206,1.2090573407694567,2.009133578975126,0.14054320058584024 +207,1.2095965121220147,2.0091704504775634,0.14226205148752258 +208,1.2101276822979379,2.00920692516365,0.14401084740137393 +209,1.2106508379218615,2.009243005317946,0.14579015233537285 +210,1.21116596810529,2.009278693596716,0.14760054404903888 +211,1.2116730645115703,2.009313993035901,0.14944261432331984 +212,1.2121721214185734,2.009348907058859,0.15131696921766158 +213,1.2126631357788533,2.009383439484677,0.15322422931111845 +214,1.2131461072772942,2.0094175945347397,0.15516502992505765 +215,1.2136210383860064,2.009451376840626,0.15714002132378668 +216,1.2140879344165159,2.0094847914506366,0.15914986889013993 +217,1.2145468035690492,2.0095178438361305,0.1611952532715517 +218,1.214997656978886,2.0095505398983886,0.163276870493125 +219,1.2154405087596059,2.0095828859741807,0.16539543203238438 +220,1.2158753760433338,2.0096148888417042,0.1675516648513511 +221,1.2163022790176519,2.009646555725497,0.1697463113799157 +222,1.2167212409592658,2.0096778943017086,0.17198012944506813 +223,1.2171322882642983,2.0097089127027448,0.17425389213916875 +224,1.2175354504751013,2.0097396195212767,0.17656838762061022 +225,1.2179307603034846,2.0097700238143927,0.1789244188390926 +226,1.2183182536502855,2.0098001351067873,0.1813228031775631 +227,1.2186979696211802,2.009829963393986,0.18377513546835744 +228,1.2190699505385467,2.0098595191449835,0.186275565994943 +229,1.2194342419493784,2.0098888133045083,0.18882134800612171 +230,1.2197908926290066,2.009917857294626,0.1914133611821488 +231,1.2201399545805105,2.009946663016576,0.1940524960726523 +232,1.2204814830297166,2.0099752428508584,0.19673965297884677 +233,1.220815536415571,2.010003609658525,0.19947574067279816 +234,1.221142176375688,2.0100317767803606,0.20226468186490631 +235,1.2214614677270241,2.010059758036695,0.20512058012707834 +236,1.2217734784413268,2.010087567726051,0.20802858360258314 +237,1.2220782796152678,2.010115220623691,0.210989625253438 +238,1.222375945435113,2.01014273197911,0.21400463667375658 +239,1.222666553135588,2.010170117513254,0.21707454544864335 +240,1.222950182952963,2.010197393415109,0.2202002722428511 +241,1.2232269180720126,2.01022457633766,0.22338272760470246 +242,1.223496844566806,2.0102516833930126,0.22662280847117688 +243,1.2237600513351223,2.010278732147037,0.22992139436086534 +244,1.2240166300264275,2.010305740613278,0.23327934324298027 +245,1.2242666749633497,2.0103327272458946,0.23669748707159477 +246,1.2245102830564842,2.0103597109320908,0.24017732631301225 +247,1.2247475537126549,2.010386710983798,0.24372636632753908 +248,1.2249785887366014,2.010413747128158,0.24733805271632192 +249,1.2252034922261927,2.0104408394976914,0.25101305729655166 +250,1.2254223704612348,2.0104680086188393,0.2547519980737549 +251,1.2256353317861535,2.0104952754004715,0.2585554326887861 +252,1.2258424864867714,2.0105226611206244,0.2624238515370705 +253,1.2260439466613566,2.010550187412587,0.266357670578821 +254,1.2262398260865301,2.0105778762501605,0.27035722386536853 +255,1.2264302400782034,2.010605749931093,0.2744227558132333 +256,1.2266153053481834,2.010633831060371,0.27855441326528074 +257,1.2267951398568686,2.010662142531454,0.28275223738623223 +258,1.2269698626626684,2.0106907075068117,0.28701615544761727 +259,1.2271395937686762,2.01071954939699,0.2913459725664438 +260,1.2273044539672504,2.0107486918381343,0.29574136347017543 +261,1.2274645646832596,2.0107781586685336,0.30020186436967944 +262,1.2276200478164936,2.0108079739033187,0.3047268650302568 +263,1.2277710255840526,2.01083816170831,0.3093156011390704 +264,1.227917620363398,2.010868746371108,0.313980407329046 +265,1.2280599545366284,2.0108997522719183,0.3187094187076611 +266,1.228198150336725,2.01093120385196,0.32349898922599696 +267,1.2283323296963744,2.010963125580325,0.3283476419985317 +268,1.2284626140999002,2.010995541919102,0.3332554995906736 +269,1.2285891244388538,2.0110284772865805,0.3382277239240544 +270,1.2287119808717908,2.011061956019226,0.343253511993611 +271,1.228831302688609,2.0110960023309516,0.3483424207662077 +272,1.2289472081798087,2.011130640271763,0.35348044519983923 +273,1.2290598145110654,2.0111658936832786,0.3586647662873592 +274,1.2291692376032477,2.0112017861535305,0.3638925365797757 +275,1.2292755920181464,2.011238340969755,0.3691607266676826 +276,1.2293789908500268,2.0112755810693566,0.3744661320295519 +277,1.22947954562306,2.0113135289893163,0.3798053815129523 +278,1.2295773661946936,2.0113522068151526,0.3851749474313908 +279,1.2296725606649095,2.0113916361267545,0.3905711572310586 +280,1.2297652352914072,2.0114318379449547,0.39599020665452 +281,1.229855494410467,2.0114728326759668,0.401428174300139 +282,1.229943440363603,2.011514640055492,0.4068810374495816 +283,1.230029173429736,2.0115572790923784,0.4123446890101343 +284,1.2301127917627857,2.0116007680117174,0.4178149553965911 +285,1.230194391334664,2.011645124198205,0.4232876151577706 +286,1.2302740658833375,2.0116903641397803,0.42875841813777826 +287,1.2303519068660729,2.0117365033712504,0.43422310495113925 +288,1.2304280034175332,2.0117835564195565,0.43967742654480657 +289,1.2305024423127735,2.0118315367495065,0.4451171636193373 +290,1.2305753079349835,2.0118804567114696,0.45053814568504824 +291,1.2306466822478443,2.0119303274904676,0.4559362695383552 +292,1.2307166447725633,2.0119811590576835,0.46130751695621286 +293,1.230785272569369,2.012032960124227,0.466647971424377 +294,1.2308526402234847,2.0120857380971944,0.4719538337356918 +295,1.23091881983559,2.0121394990398542,0.4772214363181563 +296,1.2309838810165583,2.012194247634311,0.48244725617775286 +297,1.2310478908866016,2.01224998714787,0.48762792636793106 +298,1.231110914078644,2.0123067194035853,0.49276024592372625 +299,1.2311730127458824,2.0123644447549176,0.4978411882263225 +300,1.231234246573562,2.0124231620645743,0.5028679077879237 +301,1.2312946727947045,2.0124828686883416,0.5078377454720556 +302,1.2313543462099037,2.0125435604633832,0.5127482321853853 +303,1.231413319210899,2.012605231702029,0.5175970910969999 +304,1.2314716418079423,2.0126678751900333,0.5223822384578627 +305,1.231529361660712,2.01273148219103,0.527101783106707 +306,1.2315865241127018,2.0127960424552707,0.5317540247602349 +307,1.2316431722289034,2.012861544234909,0.5363374511931591 +308,1.231699346836523,2.0129279743037034,0.5408507344193794 +309,1.2317550865686566,2.012995317982854,0.5452927259887604 +310,1.231810427910617,2.0130635591715427,0.5496624515142912 +311,1.2318654052487892,2.013132680383294,0.5539591045432778 +312,1.231920050921666,2.0132026627870503,0.5581820398832457 +313,1.2319743952729965,2.013273486253082,0.5623307664886631 +314,1.2320284667066494,2.0133451294039677,0.5664049400085376 +315,1.2320822917430838,2.0134175696693695,0.5704043550890776 +316,1.2321358950771155,2.0134907833456817,0.5743289375176797 +317,1.2321892996367765,2.013564745658833,0.5781787362872725 +318,1.232242526643067,2.0136394308306396,0.5819539156519719 +319,1.2322955956702681,2.0137148121487236,0.5856547472372216 +320,1.232348524706755,2.0137908620384763,0.5892816022597597 +321,1.2324013302159451,2.0138675521377527,0.5928349439055253 +322,1.2324540271972866,2.013944853373204,0.5963153199054624 +323,1.2325066292470772,2.014022736038119,0.5997276882936906 +324,1.2325591486188778,2.014101169871511,0.6030696560173583 +325,1.2326115962834028,2.014180124137328,0.6063405528759952 +326,1.232663981987753,2.0142595677048507,0.609541196739225 +327,1.232716314313782,2.0143394691276795,0.6126724570265263 +328,1.2327686007354959,2.014419796723216,0.6157352489732858 +329,1.232820847675425,2.0145005186503013,0.6187305282165741 +330,1.23287306055973,2.014581602986565,0.6216592857009904 +331,1.2329252438721148,2.0146630178031977,0.6245225429019386 +332,1.2329774012063055,2.0147447312387112,0.6273213473615011 +333,1.2330295353171776,2.0148267115696443,0.630056768529296 +334,1.2330816481703626,2.014908927279234,0.6327298939001851 +335,1.2331337409903362,2.0149913471234893,0.6353418254382385 +336,1.2331858143069483,2.0150739401939814,0.6378936762760707 +337,1.2332378680003904,2.0151566759778134,0.6403865676773473 +338,1.2332899013445673,2.0152395244138894,0.6428216262501549 +339,1.233341913048839,2.0153224559464413,0.6451999813982761 +340,1.2333939012982131,2.015405441574448,0.6475227629970703 +341,1.2334458637918966,2.015488452897313,0.6497910992812211 +342,1.2334977977803265,2.0155714621576664,0.6520218377763699 +343,1.233549700100647,2.0156544422793203,0.6542011843297278 +344,1.2336015672106158,2.0157373669025125,0.6563290698736052 +345,1.2336533952210882,2.0158202104147276,0.6584065999718074 +346,1.2337051799270107,2.0159029479782498,0.660434871149334 +347,1.233756916837013,2.015985555553773,0.6624149697544106 +348,1.233808601201631,2.0160680099204087,0.6643479709499004 +349,1.2338602280401845,2.0161502886926055,0.6662349378241018 +350,1.2339117921663907,2.016232370333357,0.6680769206106454 +351,1.2339632882127263,2.0163142341640046,0.6698749560089665 +352,1.234014710653589,2.0163958603715693,0.6716300665960445 +353,1.2340660538273382,2.0164772300123026,0.6733432603219497 +354,1.2341173119571778,2.0165583250129266,0.6750155300811821 +355,1.2341684791710346,2.0166391281691762,0.6766478533528743 +356,1.2342195495203796,2.016719623141337,0.6782480450607291 +357,1.2342705169980726,2.016799794448364,0.6798110452542084 +358,1.2343213755552933,2.016879627458816,0.6813367198114746 +359,1.2343721191174994,2.0169591083807514,0.682825985168103 +360,1.2344227415996167,2.017038224248663,0.6842797415033496 +361,1.2344732369202744,2.0171169629101553,0.6856988726577185 +362,1.234523599015316,2.0171953130101064,0.6870842460846336 +363,1.234573821850504,2.017273263973635,0.6884367128324909 +364,1.2346238994334437,2.0173508059880167,0.6897571075538093 +365,1.2346738258247962,2.0174279299837963,0.6910462485389978 +366,1.2347235951487932,2.0175046276144886,0.6923049377715129 +367,1.2347732016030295,2.0175808912361815,0.6935339610025258 +368,1.234822639467592,2.017656713885659,0.6947340878428597 +369,1.2348719031135578,2.0177320892589106,0.6959060718701998 +370,1.2349209870108293,2.017807011688498,0.6970506507501522 +371,1.2349698857353368,2.017881476121102,0.6981685463694113 +372,1.2350185939756837,2.017955478094644,0.6992604649799055 +373,1.2350671065391374,2.0180290137155024,0.7003270973526129 +374,1.2351154183570794,2.018102079635302,0.7013691189401748 +375,1.235163524489884,2.0181746730282817,0.7023871900471179 +376,1.2352114201312494,2.01824679156863,0.7033819560071072 +377,1.235259100611997,2.0183184334077358,0.7043540473665484 +378,1.2353065614033365,2.0183895971518004,0.7053040800733988 +379,1.2353537981196723,2.0184602818403943,0.7062326556712829 +380,1.2354008065208746,2.018530486924232,0.7071403614978065 +381,1.2354475825141018,2.018600212244537,0.7080277708869862 +382,1.2354941221552331,2.0186694580116926,0.7088954433749729 +383,1.2355404216497536,2.0187382247853045,0.7097439249091657 +384,1.235586477353347,2.0188065134545465,0.710573748059723 +385,1.2356322857720126,2.018874325218327,0.7113854322336521 +386,1.235677843561877,2.0189416615672338,0.7121794838908668 +387,1.2357231475286097,2.0190085242647937,0.7129563967620008 +388,1.2357681946265404,2.019074915330188,0.7137166520675898 +389,1.2358129819574555,2.019140837021167,0.7144607187384417 +390,1.23585750676911,2.019206291817671,0.7151890536368365 +391,1.2359017664534997,2.019271282405867,0.715902101778439 +392,1.2359457585448532,2.0193358116630615,0.7166002965543642 +393,1.2359894807174263,2.019399882642952,0.7172840599535577 +394,1.2360329307831062,2.0194634985617093,0.7179538027849578 +395,1.2360761066888069,2.0195266627843584,0.7186099248992318 +396,1.2361190065137464,2.0195893788118418,0.7192528154100861 +397,1.2361616284665162,2.0196516502687514,0.7198828529146118 +398,1.2362039708821289,2.019713480891741,0.720500405712814 +399,1.2362460322188653,2.0197748745179847,0.7211058320257884 +400,1.2362878110550846,2.019835835074851,0.7216994802125961 +401,1.2363293060859895,2.0198963665694945,0.7222816889855668 +402,1.2363705161202483,2.019956473079223,0.7228527876238547 +403,1.236411440076705,2.02001615874237,0.7234130961851117 +404,1.2364520769809435,2.020075427749725,0.7239629257150595 +405,1.2364924259619203,2.0201342843361436,0.72450257845504 +406,1.236532486248563,2.0201927327730846,0.7250323480468839 +407,1.2365722571663924,2.0202507773610803,0.7255525197358315 +408,1.23661173813416,2.020308422422793,0.7260633705703708 +409,1.2366509286605192,2.0203656722965957,0.7265651695998189 +410,1.2366898283407413,2.020422531330797,0.7270581780688685 +411,1.2367284368534872,2.0204790038773113,0.7275426496094035 +412,1.2367667539575915,2.0205350942869367,0.7280208681716459 +413,1.2368047794889705,2.0205908069039276,0.7285001175221126 +414,1.2368425133575578,2.0206461460614458,0.7289711292191974 +415,1.23687995554431,2.0207011160773694,0.7294341430373917 +416,1.2369171060983015,2.0207557212499716,0.7298893915755148 +417,1.2369539651338932,2.020809965854422,0.7303371004430868 +418,1.2369905328279756,2.0208638541391237,0.7307774884431104 +419,1.237026809417323,2.0209173903227025,0.7312107677515066 +420,1.2370627951959625,2.0209705785909664,0.7316371440933063 +421,1.2370984905127347,2.021023423093995,0.7320568169150118 +422,1.2371338957688496,2.02107592794404,0.7324699795539729 +423,1.2371690114155598,2.02112809721292,0.7328768194039125 +424,1.2372038379519399,2.021179934930288,0.7332775180771663 +425,1.2372383759227192,2.0212314450814572,0.7336722515634916 +426,1.2372726259162197,2.021282631606049,0.7340611903853971 +427,1.237306588562382,2.0213334983962743,0.7344444997499999 +428,1.2373402645308427,2.0213840492955275,0.7348223396977056 +429,1.237373654529131,2.021434288097608,0.7351948652472671 +430,1.237406759300924,2.0214842185453215,0.7355622265376972 +431,1.237439579624365,2.0215338443297637,0.7359245689668266 +432,1.237472116310494,2.021583169089619,0.7362820333266785 +433,1.2375043702017077,2.021632196410419,0.7366347559354858 +434,1.2375363421703125,2.0216809298241722,0.7369828687667387 +435,1.2375680331171544,2.021729372808808,0.7373264995749715 +436,1.2375994439702795,2.0217775287880015,0.7376657720185613 +437,1.2376305756836843,2.0218254011311223,0.7380008057795112 +438,1.2376614292361217,2.021872993152811,0.7383317166801154 +439,1.2376920056299425,2.0219203081131147,0.7386586167969998 +440,1.2377223058900189,2.021967349217746,0.7389816145719859 +441,1.2377523310627068,2.0220141196178276,0.7393008149204082 +442,1.2377820822148387,2.0220606224105606,0.7396163193364405 +443,1.2378115604328224,2.0221068606388357,0.7399282259959125 +444,1.2378407668216767,2.0221528372922153,0.7402366298563524 +445,1.237869702504239,2.02219855530686,0.740541622754472 +446,1.2378983686203122,2.0222440175662304,0.7408432935011346 +447,1.2379267663258702,2.022289226901441,0.7411417279738077 +448,1.237954896792369,2.0223341860917468,0.7414370092065031 +449,1.23798276120598,2.02237889786513,0.741729217477518 +450,1.2380103607669168,2.0224233648988617,0.7420184303946096 +451,1.2380376966888211,2.022467589820019,0.7423047229780563 +452,1.238064770198096,2.022511575206288,0.7425881677413941 +453,1.238091582533329,2.022555323586484,0.7428688347700116 +454,1.2381181349447443,2.0225988374414046,0.7431467917976428 +455,1.2381444286935976,2.0226421192042556,0.7434221042805463 +456,1.238170465051703,2.0226851712617284,0.7436948354700258 +457,1.2381962453009137,2.02272799595427,0.7439650464826587 +458,1.2382217707326193,2.022770595577416,0.7442327963686184 +459,1.2382470426473071,2.0228129723819293,0.744498142178156 +460,1.2382720623540946,2.022855128574993,0.7447611390262691 +461,1.2382968311703066,2.0228970663208026,0.7450218401553692 +462,1.2383213504210657,2.0229387877414577,0.7452802969964105 +463,1.2383456214388635,2.022980294917646,0.7455365592280363 +464,1.238369645563219,2.0230215898894053,0.7457906748342773 +465,1.2383934241402592,2.023062674656875,0.7460426901603725 +466,1.2384169585223934,2.02310355118125,0.7462926499671947 +467,1.238440250067943,2.023144221385306,0.7465405974838685 +468,1.2384633001408016,2.02318468715443,0.7467865744590543 +469,1.238486110110135,2.0232249503373594,0.7470306212106681 +470,1.238508681350028,2.0232650127466227,0.7472727766740338 +471,1.2385310152391962,2.02330487615981,0.74751307844881 +472,1.2385531131606815,2.0233445423198653,0.7477515628442887 +473,1.2385749765015597,2.023384012936113,0.747988264923552 +474,1.2385966066526615,2.023423289684932,0.748223218546215 +475,1.2386180050082978,2.02346237421054,0.7484564564097963 +476,1.238639172965983,2.0235012681256053,0.7486880100899796 +477,1.238660111926167,2.0235399730119727,0.7489179100795619 +478,1.238680823292001,2.023578490421355,0.7491461858261929 +479,1.2387013084690592,2.0236168218762645,0.7493728657690272 +480,1.2387215688651214,2.0236549688704506,0.7495983521765592 +481,1.238741605889907,2.0236929328695554,0.7498226067196585 +482,1.2387614209548672,2.023730715311975,0.7500453372295173 +483,1.2387810154729286,2.023768317609292,0.7502665685169045 +484,1.2388003908582887,2.023805741147178,0.7504863245511844 +485,1.2388195485261708,2.0238429872856565,0.750704628490444 +486,1.2388384898926414,2.0238800573601923,0.7509215027107143 +487,1.2388572163743556,2.023916952681892,0.7511369688342193 +488,1.2388757293883792,2.023953674538322,0.7513510477567157 +489,1.238894030351976,2.0239902241941015,0.7515637596739506 +490,1.238912120682397,2.024026602891216,0.7517751241072879 +491,1.238930001796667,2.0240628118499084,0.7519851599284056 +492,1.2389476751114405,2.02409885226898,0.752193885383282 +493,1.2389651420427528,2.024134725326489,0.7524013181153183 +494,1.2389824040058521,2.0241704321803353,0.7526074751877219 +495,1.2389994624150285,2.0242059739683462,0.7528123731051362 +496,1.2390163186834047,2.0242413518094344,0.7530160278344922 +497,1.2390329742227648,2.024276566803561,0.75321845482527 +498,1.2390494304434008,2.0243116200323454,0.7534196690289797 +499,1.2390656887538887,2.0243465125597706,0.7536196849179445 +500,1.2390817505609664,2.024381245432267,0.7538185165035128 +501,1.239097617269333,2.0244158196795916,0.754016177353699 +502,1.239113290281508,2.024450236314829,0.7542126806100168 +503,1.2391287709976562,2.0244844963350315,0.7544080390039362 +504,1.239144060815416,2.0245186007216467,0.75460226487262 +505,1.2391591611297776,2.024552550440874,0.7547953701741045 +506,1.2391740733328847,2.0245863464440297,0.754987366502165 +507,1.2391887988139587,2.024619989667992,0.7551782651002759 +508,1.2392033389590413,2.0246534810357395,0.7553680768754029 +509,1.2392176951509672,2.0246868214562705,0.7555568124111369 +510,1.239231868769146,2.024720011825378,0.755744481980438 +511,1.2392458611894628,2.0247530530258375,0.7559310955577616 +512,1.23925967378413,2.0247859459276047,0.7561166628310211 +513,1.2392733079215636,2.024818691388377,0.7563011932127252 +514,1.239286764966258,2.0248512902538978,0.7564846958511322 +515,1.2393000462786528,2.024883743357931,0.7566673266468747 +516,1.239313153215031,2.0249160515230407,0.7568490818985357 +517,1.2393260871273801,2.024948215560716,0.7570298312701779 +518,1.239338849363314,2.024980236271434,0.7572095830870225 +519,1.2393514412659143,2.0250121144450564,0.7573883454538097 +520,1.239363864173676,2.0250438508613557,0.7575661262638127 +521,1.2393761194203736,2.0250754462899407,0.7577429332072204 +522,1.2393882083349699,2.0251069014907244,0.7579187737795483 +523,1.239400132241528,2.0251382172139785,0.7580936552894411 +524,1.2394118924591069,2.025169394200793,0.7582675848663191 +525,1.2394234903016865,2.025200433183065,0.7584405694676889 +526,1.239434927078079,2.0252313348840905,0.7586126158861748 +527,1.2394462040918364,2.025262100018392,0.7587837307563079 +528,1.2394573226411958,2.025292729292119,0.758953920560941 +529,1.239468284018981,2.025323223403333,0.7591231916375739 +530,1.2394790895125538,2.02535358304208,0.759291550184236 +531,1.2394897404037226,2.0253838088905227,0.7594590022653959 +532,1.2395002379687037,2.0254139016234767,0.7596255538172861 +533,1.239510583478039,2.0254438619082586,0.7597912106533464 +534,1.2395207781965476,2.0254736904048767,0.7599559784692795 +535,1.239530823383274,2.025503387766314,0.7601198628478448 +536,1.2395407202914264,2.02553295463875,0.7602828692636591 +537,1.2395504701683455,2.025562391661753,0.7604450030876029 +538,1.2395600742554396,2.0255916994682805,0.7606062695911361 +539,1.2395695337881523,2.0256208786849603,0.7607666739504875 +540,1.2395788499959197,2.0256499299319675,0.7609262212504918 +541,1.2395880241021395,2.0256788538236763,0.7610849164885117 +542,1.239597057324123,2.0257076509685263,0.7612427645779457 +543,1.2396059508730828,2.0257363219688775,0.7613997703518105 +544,1.2396147059540823,2.025764867421754,0.7615559385659864 +545,1.2396233237660255,2.025793287918582,0.7617112739024917 +546,1.239631805501612,2.0258215840453127,0.761865780972445 +547,1.2396401523473624,2.0258497563826094,0.7620194643190846 +548,1.239648365483533,2.02587780550614,0.7621723284204942 +549,1.239656446084139,2.025905731986422,0.7623243776923001 +550,1.23966439531694,2.0259335363891426,0.76247561649027 +551,1.2396722143433982,2.0259612192749565,0.7626260491126441 +552,1.2396799043186986,2.0259887812002773,0.7627756798026596 +553,1.239687466391727,2.0260162227167684,0.7629245127506545 +554,1.2396949017050465,2.0260435443712295,0.7630725520962227 +555,1.239702211394909,2.026070746706507,0.7632198019302987 +556,1.2397093965912445,2.026097830261041,0.7633662662970638 +557,1.2397164584176714,2.0261247955690753,0.7635119491959023 +558,1.2397233979914626,2.0261516431606847,0.7636568545830055 +559,1.23973021642357,2.026178373561938,0.7638009863733216 +560,1.239736914818607,2.0262049872952055,0.7639443484419433 +561,1.2397434942748808,2.0262314848787164,0.7640869446257385 +562,1.2397499558843594,2.02625786682707,0.7642287787249806 +563,1.2397563007327037,2.026284133651252,0.7643698545044977 +564,1.239762529899237,2.026310285858536,0.7645101756951731 +565,1.239768644456989,2.0263363239527474,0.7646497459952256 +566,1.2397746454726974,2.0263622484341317,0.7647885690713822 +567,1.2397805340067756,2.0263880597997037,0.7649266485600916 +568,1.239786311113376,2.026413758542999,0.765063988068519 +569,1.2397919778403519,2.0264393451544724,0.7652005911758064 +570,1.2397975352293042,2.0264648201211894,0.7653364614338919 +571,1.2398029843155585,2.0264901839273954,0.7654716023685586 +572,1.2398083261282027,2.026515437053914,0.7656060174803117 +573,1.2398135616900845,2.026540579978793,0.7657397102452641 +574,1.2398186920178258,2.026565613176966,0.7658726841159759 +575,1.2398237181218326,2.0265905371206987,0.7660049425222034 +576,1.2398286410063075,2.0266153522792507,0.766136488871688 +577,1.239833461669272,2.0266400591191904,0.7662673265508091 +578,1.239838181102563,2.026664658104293,0.7663974589253214 +579,1.239842800291863,2.026689149695542,0.7665268893409432 +580,1.2398473202167033,2.026713534351582,0.7666556211240192 +581,1.2398517418504773,2.0267378125282103,0.7667836575820834 +582,1.2398560661604603,2.0267619846787697,0.7669110664263569 +583,1.2398602941078218,2.0267860512540885,0.7670380760326475 +584,1.239864426647636,2.0268100127024486,0.7671643981410193 +585,1.2398684647289122,2.0268338694698347,0.7672900360075671 +586,1.2398724092945848,2.026857622000005,0.7674149928714821 +587,1.239876261281545,2.0268812707340036,0.7675392719556732 +588,1.2398800216206542,2.0269048161107754,0.7676628764670116 +589,1.2398836912367526,2.0269282585669783,0.7677858095968322 +590,1.2398872710486866,2.026951598537073,0.7679080745212654 +591,1.2398907619693114,2.026974836453431,0.7680296744016524 +592,1.2398941649055069,2.0269979727459506,0.7681506123847397 +593,1.2398974807582073,2.027021007842657,0.7682708916031602 +594,1.239900710422409,2.027043942169368,0.7683905151756398 +595,1.239903854787169,2.027066776149794,0.7685094862072862 +596,1.239906914735646,2.027089510205869,0.7686278077898945 +597,1.239909891145116,2.0271121447572042,0.7687454830022094 +598,1.2399127848869553,2.027134680221567,0.7688625149100933 +599,1.2399155968267093,2.027157117014741,0.7689789065668233 +600,1.2399183278240535,2.027179455550661,0.7690946610132887 +601,1.2399209787328378,2.027201696241233,0.7692097812782185 +602,1.239923550401118,2.027223839496522,0.7693242703783151 +603,1.2399260436711308,2.027245885724863,0.7694381313184553 +604,1.2399284593793414,2.027267835332532,0.7695513670919578 +605,1.239930798356466,2.0272896887241374,0.769663980680575 +606,1.239933061427442,2.027311446302519,0.7697759750547564 +607,1.2399352494115037,2.0273331084686625,0.7698873531738066 +608,1.2399373631221537,2.0273546756217917,0.7699981179859777 +609,1.2399394033671942,2.0273761481596235,0.7701082724285591 +610,1.2399413709487646,2.0273975264777953,0.7702178194281182 +611,1.239943266663319,2.0274188109706595,0.7703267619004744 +612,1.2399450913016759,2.027440002030508,0.7704351027509356 +613,1.2399468456490046,2.027461100048179,0.7705428448742904 +614,1.2399485304848858,2.02748210541282,0.7706499911549813 +615,1.2399501465832765,2.0275030185120904,0.770756544467102 +616,1.2399516947125688,2.0275238397318684,0.7708625076746012 +617,1.2399531756355884,2.0275445694564938,0.7709678836312984 +618,1.2399545901096067,2.027565208068786,0.7710726751809416 +619,1.2399559388863801,2.0275857559499415,0.7711768851572727 +620,1.2399572227121416,2.0276062134794746,0.7712805163841683 +621,1.2399584423276382,2.0276265810356295,0.7713835716756021 +622,1.2399595984681366,2.0276468589949213,0.7714860538357367 +623,1.2399606918634472,2.0276670477324283,0.7715879656590475 +624,1.2399617232379425,2.027687147621811,0.7716893099302361 +625,1.239962693310576,2.027707159035103,0.771790089424395 +626,1.2399636027948897,2.027727082342889,0.7718903069070084 +627,1.2399644523990483,2.027746917914289,0.7719899651339797 +628,1.2399652428258443,2.0277666661170404,0.7720890668516749 +629,1.2399659747727325,2.027786327317467,0.772187614796983 +630,1.2399666489318317,2.0278059018803147,0.7722856116973198 +631,1.2399672659899494,2.027825390169031,0.7723830602706814 +632,1.2399678266286158,2.0278447925454888,0.7724799632256459 +633,1.2399683315240724,2.0278641093702663,0.7725763232614138 +634,1.2399687813473277,2.0278833410025796,0.7726721430678235 +635,1.2399691767641428,2.027902487800208,0.7727674253254151 +636,1.2399695184350767,2.0279215501195247,0.772862172705406 +637,1.239969807015503,2.027940528315546,0.7729563878697052 +638,1.2399700431555971,2.0279594227419935,0.7730500734709598 +639,1.2399702275004185,2.0279782337510768,0.7731432321525873 +640,1.239970360689869,2.027996961694009,0.7732358665487081 +641,1.2399704433587562,2.02801560692012,0.7733279792842767 +642,1.2399704761367913,2.028034169777897,0.7734195729750027 +643,1.2399704596486127,2.0280526506142267,0.7735106502273935 +644,1.2399703945138167,2.0280710497747063,0.773601213638784 +645,1.2399702813469773,2.0280893676037577,0.7736912657973021 +646,1.2399701207576599,2.0281076044443376,0.7737808092819417 +647,1.2399699133504374,2.02812576063816,0.7738698466624825 +648,1.239969659724932,2.02814383652571,0.773958380499592 +649,1.2399693604758277,2.0281618324460333,0.7740464133447765 +650,1.2399690161928825,2.0281797487370894,0.774133947740381 +651,1.2399686274609587,2.028197585735308,0.7742209862196489 +652,1.2399681948600527,2.0282153437761266,0.7743075313066684 +653,1.2399677189652976,2.0282330231936094,0.7743935855163957 +654,1.2399672003470048,2.0282506243204925,0.7744791513547034 +655,1.2399666395706808,2.0282681474882476,0.7745642313182962 +656,1.239966037197038,2.028285593027151,0.7746488278947831 +657,1.2399653937820452,2.0283029612662413,0.7747329435626903 +658,1.2399647098769164,2.028320252533374,0.7748165807913818 +659,1.239963986028162,2.0283374671550924,0.774899742041171 +660,1.239963222777588,2.0283546054565775,0.7749824297632458 +661,1.2399624206623499,2.0283716677619394,0.7750646463996512 +662,1.2399615802149433,2.0283886543941088,0.7751463943834289 +663,1.239960701963252,2.0284055656747695,0.7752276761383957 +664,1.2399597864305443,2.028422401924294,0.7753084940794229 +665,1.2399588341355439,2.0284391634618504,0.7753888506121709 +666,1.2399578455923967,2.0284558506055905,0.7754687481332813 +667,1.2399568213107321,2.0284724636722675,0.7755481890302603 +668,1.239955761795685,2.0284890029774263,0.7756271756815656 +669,1.239954667547902,2.0285054688355326,0.7757057104565195 +670,1.2399535390635756,2.0285218615598923,0.7757837957154097 +671,1.2399523768344702,2.0285381814625585,0.7758614338094368 +672,1.2399511813479496,2.028554428854335,0.7759386270807237 +673,1.23994995308699,2.0285706040449654,0.7760153778622908 +674,1.2399486925302106,2.0285867073427912,0.7760916884781135 +675,1.2399474001518986,2.028602739055307,0.776167561243065 +676,1.2399460764220387,2.0286186994887507,0.776242998462989 +677,1.239944721806321,2.028634588948039,0.7763180024346147 +678,1.2399433367661938,2.028650407737134,0.7763925754456883 +679,1.2399419217588468,2.028666156158674,0.7764667197747797 +680,1.2399404772372924,2.0286818345141913,0.7765404376915007 +681,1.239939003650325,2.0286974431041367,0.7766137314563774 +682,1.239937501442601,2.0287129822277343,0.7766866033208729 +683,1.2399359710546456,2.0287284521830546,0.7767590555273961 +684,1.2399344129228467,2.0287438532671835,0.7768310903093345 +685,1.2399328274795365,2.0287591857757867,0.7769027098910316 +686,1.2399312151529718,2.028774450003762,0.7769739164877973 +687,1.23992957636738,2.028789646244592,0.7770447123059085 +688,1.2399279115429722,2.0288047747907947,0.777115099542613 +689,1.23992622109597,2.02881983593358,0.7771850803861625 +690,1.2399245054386596,2.0288348299632233,0.7772546570157417 +691,1.2399227649793532,2.028849757168923,0.7773238316015783 +692,1.2399210001224825,2.028864617838635,0.7773926063048908 +693,1.239919211268587,2.0288794122592058,0.7774609832778938 +694,1.2399173988143348,2.0288941407163295,0.777528964663783 +695,1.2399155631525707,2.0289088034947236,0.7775965525968019 +696,1.2399137046723137,2.0289234008780017,0.7776637492022332 +697,1.2399118237588145,2.0289379331486956,0.7777305565963613 +698,1.2399099207935462,2.028952400588053,0.7777969768865112 +699,1.239907996154257,2.028966803476436,0.7778630121710606 +700,1.2399060502149744,2.0289811420930954,0.7779286645394475 +701,1.2399040833460555,2.0289954167160618,0.777993936072184 +702,1.2399020959141658,2.0290096276224467,0.7780588288408219 +703,1.2399000882823674,2.029023775088141,0.7781233449080055 +704,1.239898060810085,2.0290378593882097,0.7781874863274876 +705,1.2398960138531603,2.029051880796332,0.7782512551441056 +706,1.2398939477638775,2.0290658395853196,0.7783146533938377 +707,1.2398918628909847,2.029079736026722,0.7783776831037248 +708,1.239889759579699,2.029093570391381,0.7784403462919967 +709,1.2398876381717694,2.0291073429487985,0.7785026449679807 +710,1.2398854990054553,2.0291210539673865,0.7785645811322087 +711,1.2398833424155953,2.0291347037147216,0.7786261567762996 +712,1.2398811687335989,2.0291482924571245,0.7786873738831485 +713,1.239878978287486,2.029161820460118,0.7787482344267426 +714,1.2398767714019117,2.0291752879879246,0.7788087403723549 +715,1.2398745483981823,2.029188695303918,0.7788688936764419 +716,1.2398723095942847,2.029202042670264,0.778928696286668 +717,1.2398700553049065,2.0292153303482254,0.7789881501419282 +718,1.2398677858414593,2.0292285585979477,0.779047257172435 +719,1.2398655015121258,2.029241727678591,0.7791060192996035 +720,1.2398632026218364,2.029254837848314,0.7791644384361812 +721,1.2398608894723362,2.0292678893642178,0.7792225164861704 +722,1.239858562362188,2.0292808824823947,0.7792802553449204 +723,1.2398562215868039,2.029293817457937,0.7793376568990731 +724,1.2398538674384543,2.029306694544846,0.7793947230266577 +725,1.239851500206313,2.0293195139962985,0.7794514555970141 +726,1.2398491201764734,2.0293322760643155,0.7795078564708956 +727,1.2398467276319485,2.029344980999936,0.7795639275004224 +728,1.2398443228527285,2.0293576290532864,0.7796196705291334 +729,1.2398419061157853,2.029370220473284,0.779675087391989 +730,1.2398394776951018,2.0293827555080615,0.7797301799154042 +731,1.2398370378616823,2.0293952344046957,0.779784949917205 +732,1.2398345868835918,2.029407657409264,0.7798393992067673 +733,1.2398321250259658,2.0294200247668592,0.7798935295848899 +734,1.2398296525510448,2.029432336721575,0.7799473428438991 +735,1.2398271697181875,2.0294445935165117,0.7800008407677139 +736,1.2398246767838954,2.029456795393923,0.7800540251316932 +737,1.239822174001831,2.029468942594913,0.7801068977028748 +738,1.2398196616228545,2.029481035359818,0.7801594602398065 +739,1.2398171398950313,2.0294930739278714,0.7802117144926656 +740,1.2398146090636535,2.029505058537447,0.7802636622032956 +741,1.2398120693712722,2.029516989425696,0.7803153051051026 +742,1.2398095210577134,2.029528866829094,0.7803666449232208 +743,1.2398069643601006,2.0295406909830502,0.7804176833745008 +744,1.2398043995128734,2.029552462121905,0.78046842216738 +745,1.2398018267478155,2.029564180479401,0.7805188630021318 +746,1.23979924629407,2.0295758462880436,0.7805690075707612 +747,1.2397966583781537,2.0295874597794414,0.7806188575569787 +748,1.2397940632240032,2.029599021184306,0.7806684146363522 +749,1.2397914610529697,2.0296105307324064,0.7807176804762579 +750,1.2397888520838516,2.0296219886525,0.7807666567358821 +751,1.2397862365329186,2.0296333951725827,0.7808153450662505 +752,1.23978361461392,2.0296447505196418,0.7808637471103115 +753,1.2397809865381204,2.029656054919746,0.780911864502895 +754,1.2397783525143076,2.0296673085979613,0.7809597933567597 +755,1.2397757127488156,2.0296785117784313,0.7810076182959144 +756,1.2397730674455625,2.0296896646844833,0.7810551617003657 +757,1.2397704168060333,2.0297007675386625,0.7811024251830684 +758,1.2397677610293405,2.029711820562252,0.7811494103489596 +759,1.2397651003122154,2.029722823975969,0.7811961187949917 +760,1.239762434849046,2.0297337779993825,0.7812425521100687 +761,1.239759764831879,2.02974468285129,0.781288711875158 +762,1.2397570904504576,2.0297555387496335,0.7813345996633212 +763,1.2397544118922408,2.029766345911328,0.7813802170396592 +764,1.23975172934239,2.029777104552384,0.7814255655613854 +765,1.2397490429838414,2.029787814888126,0.7814706467778426 +766,1.239746352997278,2.029798477132859,0.7815154622305795 +767,1.2397436595611655,2.029809091500009,0.7815600134532819 +768,1.2397409628517981,2.0298196582020926,0.7816043019718485 +769,1.23973826304326,2.029830177450756,0.7816483293044096 +770,1.2397355603075098,2.029840649456932,0.7816920969613796 +771,1.2397328548143345,2.029851074430502,0.7817356064454025 +772,1.2397301467314226,2.029861452580574,0.7817788592515044 +773,1.2397274362243493,2.02987178411525,0.781821856866965 +774,1.239724723456604,2.0298820692420305,0.7818646007714809 +775,1.2397220085896123,2.029892308167272,0.7819070924371178 +776,1.2397192917827626,2.0299025010967293,0.7819493333283655 +777,1.2397165731933855,2.0299126482349936,0.7819913249020878 +778,1.2397138529768297,2.029922749786146,0.7820330686076892 +779,1.239711131286427,2.0299328059532353,0.7820745658870478 +780,1.2397084082735392,2.029942816938545,0.7821158181744899 +781,1.2397056840875678,2.0299527829434414,0.7821568268969908 +782,1.239702958875982,2.0299627041685175,0.7821975934740006 +783,1.2397002327843032,2.02997258081345,0.7822381193176443 +784,1.2396975059561655,2.029982413077195,0.7822784058325793 +785,1.2396947785333032,2.029992201157778,0.7823184544161861 +786,1.2396920506555775,2.0300019452525055,0.7823582664584829 +787,1.2396893224609962,2.030011645557714,0.7823978433422006 +788,1.2396865940857205,2.030021302269052,0.7824371864428082 +789,1.239683865664094,2.0300309155813805,0.7824762971284976 +790,1.2396811373286531,2.030040485688532,0.7825151767602664 +791,1.2396784092101318,2.030050012783736,0.782553853302632 +792,1.239675681437512,2.0300594970593915,0.7825924129636443 +793,1.2396729541379932,2.030068938706932,0.7826307446752995 +794,1.2396702274370561,2.0300783379171548,0.7826688497771609 +795,1.2396675014584315,2.0300876948800783,0.7827067296015685 +796,1.239664776324162,2.030097009784697,0.7827443854737658 +797,1.2396620521545791,2.0301062828194163,0.7827818187119259 +798,1.2396593290683458,2.0301155141718477,0.7828190306271289 +799,1.2396566071824615,2.030124704028749,0.7828560225234659 +800,1.2396538866122657,2.030133852576067,0.7828927956979984 +801,1.2396511674714945,2.0301429599989875,0.7829293514407569 +802,1.2396484498722256,2.0301520264818955,0.7829656910349386 +803,1.239645733924971,2.030161052208461,0.7830018157567211 +804,1.239643019738636,2.0301700373616556,0.783037726875457 +805,1.2396403074205629,2.0301789821234952,0.7830734256535677 +806,1.2396375970765334,2.0301878866753427,0.783108913346701 +807,1.2396348888107842,2.0301967511977748,0.783144191203687 +808,1.2396321827260357,2.0302055758703927,0.7831792604665433 +809,1.239629478923478,2.0302143608724688,0.7832141223705424 +810,1.2396267775028176,2.0302231063822047,0.7832487781442569 +811,1.2396240785622648,2.030231812577057,0.7832832290095907 +812,1.239621382198576,2.03024047963389,0.783317476181701 +813,1.239618688507033,2.03024910772865,0.7833515759451767 +814,1.2396159975814836,2.030257697036591,0.7833855754060369 +815,1.2396133095143562,2.0302662477322726,0.7834193737374244 +816,1.2396106243966418,2.030274759989613,0.7834529721356827 +817,1.2396079423179585,2.0302832339814305,0.783486371790531 +818,1.2396052633665193,2.0302916698801647,0.7835195738851218 +819,1.239602587629172,2.030300067857328,0.7835525795961287 +820,1.2395999151914028,2.0303084280838615,0.783585390093651 +821,1.2395972461373412,2.0303167507297393,0.7836180065413937 +822,1.2395945805498045,2.0303250359644265,0.7836504300965533 +823,1.2395919185102713,2.030333283956646,0.7836826619099374 +824,1.2395892600989185,2.0303414948741905,0.7837147031260093 +825,1.239586605394634,2.03034966888455,0.7837465548827812 +826,1.2395839544750205,2.030357806154001,0.7837782183120445 +827,1.2395813074164095,2.0303659068484183,0.7838096945391975 +828,1.2395786642938762,2.0303739711330087,0.7838409846834189 +829,1.2395760251812569,2.030381999171962,0.7838720898576335 +830,1.2395733901511576,2.030389991129033,0.783903011168516 +831,1.2395707592749639,2.030397947167207,0.7839337497166332 +832,1.2395681326228492,2.030405867448712,0.7839643065963131 +833,1.239565510263809,2.0304137521352987,0.7839946828957753 +834,1.2395628922656334,2.0304216013876006,0.7840248796971631 +835,1.2395602786949615,2.0304294153660654,0.7840548980765152 +836,1.2395576696172728,2.030437194230182,0.7840847391038571 +837,1.2395550650968925,2.0304449381386536,0.7841144038431702 +838,1.2395524651970147,2.030452647249566,0.7841438933524337 +839,1.2395498699797134,2.0304603217204216,0.7841732086836859 +840,1.2395472795059441,2.030467961708067,0.7842023508830354 +841,1.2395446938355772,2.0304755673686166,0.7842313209906603 +842,1.2395421130273812,2.030483138857439,0.7842601200409034 +843,1.239539537139048,2.030490676329287,0.7842887490621905 +844,1.2395369662272155,2.030498179938241,0.7843172090771754 +845,1.2395344003474553,2.030505649837727,0.7843455011026926 +846,1.2395318395542996,2.0305130861805765,0.7843736261498299 +847,1.2395292839012446,2.0305204891187367,0.7844015852239089 +848,1.2395267334407702,2.030527858803819,0.7844293793245408 +849,1.239524188224348,2.0305351953864657,0.7844570094456715 +850,1.2395216483024392,2.0305424990169705,0.7844844765755672 +851,1.239519113724519,2.030549769844631,0.7845117816968374 +852,1.2395165845390845,2.0305570080184285,0.7845389257865767 +853,1.239514060793667,2.030564213686514,0.7845659098162266 +854,1.2395115425348402,2.030571386996367,0.7845927347516555 +855,1.2395090298082252,2.0305785280948245,0.78461940155328 +856,1.2395065226584918,2.0305856371282727,0.7846459111759768 +857,1.2395040211294193,2.0305927142422435,0.784672264569161 +858,1.239501525263832,2.0305997595818788,0.7846984626767882 +859,1.2394990351036632,2.030606773291411,0.7847245064374336 +860,1.2394965506899562,2.030613755514576,0.7847503967842582 +861,1.2394940720628425,2.0306207063944726,0.7847761346450567 +862,1.239491599261594,2.030627626073652,0.7848017209422967 +863,1.2394891323246113,2.0306345146938436,0.7848271565931227 +864,1.2394866712894317,2.0306413723963077,0.7848524425093732 +865,1.239484216192748,2.0306481993218193,0.7848775795977028 +866,1.2394817670704006,2.030654995610293,0.7849025687594537 +867,1.2394793239574207,2.030661761401094,0.7849274108908206 +868,1.2394768868879924,2.030668496833014,0.7849521068827742 +869,1.239474455895506,2.03067520204427,0.7849766576211339 +870,1.2394720310125422,2.0306818771723116,0.7850010639866146 +871,1.239469612270888,2.030688522354199,0.7850253268548345 +872,1.2394671997015447,2.030695137726357,0.7850494470962898 +873,1.239464793334731,2.0307017234244156,0.7850734255764447 +874,1.2394623931999054,2.03070827958369,0.7850972631557677 +875,1.2394599993257778,2.0307148063387026,0.7851209606896861 +876,1.239457611740279,2.030721303823285,0.7851445190286663 +877,1.2394552304706201,2.030727772170988,0.7851679390182027 +878,1.239452855543278,2.0307342115145803,0.7851912214989125 +879,1.2394504869839982,2.0307406219864097,0.7852143673064715 +880,1.2394481248178062,2.0307470037180355,0.785237377271696 +881,1.239445769069029,2.0307533568405036,0.7852602522205473 +882,1.239443419761297,2.0307596814843083,0.7852829929741727 +883,1.2394410769175361,2.030765977779276,0.7853056003488907 +884,1.2394387405599863,2.030772245854969,0.7853280751562712 +885,1.2394364107102316,2.0307784858400093,0.7853504182031039 +886,1.2394340873891725,2.0307846978625452,0.7853726302914866 +887,1.2394317706170472,2.030790882050281,0.785394712218781 +888,1.2394294604134588,2.0307970385302987,0.7854166647776853 +889,1.2394271567973554,2.0308031674290934,0.7854384887562622 +890,1.2394248597870428,2.0308092688725425,0.7854601849379037 +891,1.2394225694002063,2.0308153429861067,0.7854817541014119 +892,1.2394202856539065,2.03082138989463,0.7855031970209994 +893,1.239418008564601,2.0308274097223737,0.7855245144663701 +894,1.2394157381481146,2.030833402593125,0.785545707202614 +895,1.2394134744197047,2.0308393686299455,0.7855667759903582 +896,1.2394112173940182,2.0308453079555395,0.7855877215857474 +897,1.2394089670851147,2.030851220691986,0.7856085447404253 +898,1.2394067235064914,2.030857106960914,0.7856292462016442 +899,1.239404486671061,2.030862966883219,0.78564982671219 +900,1.2394022565911897,2.030868800579436,0.7856702870104908 +901,1.2394000332786608,2.030874608169475,0.7856906278305631 +902,1.2393978167447286,2.030880389772722,0.7857108499021341 +903,1.2393956070001073,2.0308861455080263,0.7857309539505517 +904,1.2393934040549606,2.030891875493797,0.785750940696913 +905,1.2393912079189433,2.030897579847834,0.7857708108579554 +906,1.2393890186011631,2.030903258687437,0.7857905651462355 +907,1.2393868361102285,2.030908912129347,0.7858102042700611 +908,1.2393846604542333,2.030914540289707,0.7858297289335318 +909,1.2393824916407703,2.030920143284459,0.7858491398365115 +910,1.2393803296769423,2.030925721228587,0.7858684376747417 +911,1.2393781745693568,2.030931274237013,0.7858876231398143 +912,1.2393760263241242,2.030936802423768,0.7859066969191962 +913,1.2393738849468983,2.0309423059024905,0.785925659696237 +914,1.2393717504428616,2.0309477847865125,0.7859445121502383 +915,1.2393696228167157,2.030953239188321,0.7859632549564536 +916,1.2393675020727102,2.0309586692201154,0.7859818887860177 +917,1.239365388214651,2.030964074993565,0.7860004143061504 +918,1.239363281245893,2.030969456619842,0.7860188321800474 +919,1.2393611811693337,2.0309748142096167,0.78603714306691 +920,1.2393590879874588,2.0309801478729788,0.7860553476220556 +921,1.2393570017023117,2.0309854577196247,0.7860734464967992 +922,1.2393549223155234,2.0309907438587262,0.7860914403385932 +923,1.2393528498282944,2.030996006398867,0.7861093297909943 +924,1.239350784241421,2.031001245448325,0.7861271154936722 +925,1.2393487255552902,2.0310064611148007,0.7861447980825259 +926,1.2393466737698877,2.0310116535055642,0.7861623781895685 +927,1.239344628884804,2.0310168227273335,0.7861798564430381 +928,1.239342590899248,2.031021968886279,0.7861972334673896 +929,1.2393405598120326,2.031027092088227,0.7862145098832989 +930,1.2393385356215978,2.0310321924385653,0.7862316863077444 +931,1.2393365183260054,2.031037270042025,0.7862487633539582 +932,1.2393345079229507,2.031042325003003,0.7862657416314837 +933,1.2393325044097698,2.0310473574253276,0.7862826217461905 +934,1.2393305077834373,2.031052367412468,0.7862994043002655 +935,1.2393285180405749,2.0310573550674396,0.7863160898923219 +936,1.2393265351774583,2.0310623204925893,0.7863326791172554 +937,1.2393245591900033,2.0310672637900615,0.7863491725664717 +938,1.2393225900738212,2.0310721850612783,0.7863655708277153 +939,1.2393206278241629,2.0310770844074306,0.786381874485238 +940,1.2393186724359557,2.0310819619291927,0.7863980841197372 +941,1.239316723903812,2.031086817726692,0.7864142003083422 +942,1.2393147822220154,2.031091651899783,0.7864302236247465 +943,1.2393128473845465,2.031096464547526,0.786446154639127 +944,1.239310919385067,2.0311012557690677,0.7864619939182454 +945,1.2393089982169403,2.0311060256625817,0.7864777420253839 +946,1.2393070838732203,2.031110774326028,0.786493399520389 +947,1.2393051763466747,2.03111550185688,0.7865089669597489 +948,1.2393032756297842,2.031120208352298,0.7865244448965573 +949,1.2393013817147247,2.031124893908838,0.7865398338805074 +950,1.2392994945934097,2.0311295586226374,0.7865551344580043 +951,1.2392976142574572,2.0311342025895494,0.786570347172085 +952,1.2392957406982301,2.031138825904793,0.7865854725625003 +953,1.2392938739068047,2.031143428663286,0.7866005111656954 +954,1.2392920138740062,2.031148010959504,0.7866154635148553 +955,1.2392901605903979,2.0311525728874003,0.7866303301399166 +956,1.239288314046266,2.0311571145406146,0.786645111567574 +957,1.239286474231672,2.0311616360122944,0.7866598083213163 +958,1.23928464113641,2.0311661373950716,0.7866744209214088 +959,1.2392828147500368,2.0311706187813967,0.7866889498849545 +960,1.239280995061869,2.031175080263037,0.7867033957259267 +961,1.2392791820609912,2.0311795219316333,0.7867177589550881 +962,1.2392773757362452,2.031183943878143,0.7867320400801159 +963,1.2392755760762502,2.0311883461931566,0.7867462396055864 +964,1.2392737830693972,2.031192728966964,0.7867603580329713 +965,1.2392719967038537,2.0311970922894096,0.7867743958606693 +966,1.2392702169675898,2.031201436249852,0.7867883535840006 +967,1.2392684438483266,2.031205760937388,0.7868022316953054 +968,1.239266677333602,2.0312100664404977,0.7868160306838707 +969,1.2392649174107397,2.031214352847518,0.7868297510359507 +970,1.239263164066875,2.031218620246128,0.78684339323487 +971,1.2392614172889158,2.031222868723696,0.7868569577609138 +972,1.2392596770635893,2.0312270983672516,0.7868704450915155 +973,1.2392579433774271,2.0312313092633003,0.7868838557010617 +974,1.239256216216789,2.031235501498175,0.7868971900611139 +975,1.2392544955678193,2.0312396751576256,0.7869104486402434 +976,1.2392527814165055,2.03124383032691,0.7869236319042191 +977,1.2392510737486522,2.031247967091296,0.7869367403158868 +978,1.239249372549876,2.031252085535151,0.7869497743352476 +979,1.239247677805627,2.0312561857428837,0.7869627344195059 +980,1.2392459895011967,2.031260267798375,0.786975621022989 +981,1.2392443076216992,2.0312643317849344,0.7869884345972668 +982,1.2392426321520988,2.0312683777857554,0.787001175591083 +983,1.2392409630771755,2.031272405883572,0.7870138444504596 +984,1.2392393003815816,2.0312764161606056,0.7870264416186382 +985,1.2392376440498045,2.0312804086988843,0.7870389675361017 +986,1.2392359940661806,2.031284383579877,0.7870514226406106 +987,1.239234350414899,2.0312883408849713,0.7870638073672636 +988,1.2392327130800078,2.031292280694894,0.7870761221484461 +989,1.239231082045401,2.0312962030900255,0.7870883674138407 +990,1.2392294572948614,2.0313001081504383,0.78710054359049 +991,1.239227838812014,2.0313039959558754,0.7871126511027968 +992,1.2392262265803573,2.03130786658568,0.7871246903725095 +993,1.239224620583265,2.0313117201188944,0.7871366618188019 +994,1.2392230208039727,2.0313155566340497,0.7871485658582246 +995,1.2392214272256066,2.031319376209543,0.7871604029047357 +996,1.2392198398311525,2.0313231789231514,0.7871721733697215 +997,1.2392182586035028,2.0313269648524197,0.7871838776620772 +998,1.2392166835254081,2.0313307340745936,0.7871955161880642 +999,1.2392151145795272,2.0313344866663456,0.7872070893514954 +1000,1.2392135517483829,2.031338222704277,0.787218597553614 +1001,1.2392119950144218,2.031341942264488,0.7872300411932125 +1002,1.239210444359955,2.0313456454227765,0.787241420666609 +1003,1.2392088997672153,2.031349332254522,0.7872527363676258 +1004,1.2392073612183145,2.0313530028347713,0.7872639886876192 +1005,1.239205828695277,2.031356657238234,0.7872751780155963 +1006,1.2392043021800276,2.031360295539311,0.7872863047380216 +1007,1.2392027816543958,2.031363917812177,0.7872973692390426 +1008,1.239201267100131,2.031367524130307,0.7873083719003796 +1009,1.239199758498878,2.031371114567199,0.7873193131013855 +1010,1.2391982558322079,2.031374689195792,0.7873301932190305 +1011,1.2391967590815995,2.0313782480887927,0.7873410126279157 +1012,1.239195268228458,2.0313817913185246,0.7873517717003452 +1013,1.2391937832541056,2.0313853189570534,0.7873624708063169 +1014,1.2391923041397832,2.0313888310760264,0.7873731103134755 +1015,1.2391908308666568,2.0313923277467305,0.7873836905871242 +1016,1.239189363415823,2.0313958090402355,0.7873942119904297 +1017,1.2391879017683085,2.0313992750271472,0.7874046748841331 +1018,1.2391864459050757,2.03140272577791,0.787415079626801 +1019,1.2391849958069956,2.0314061613624794,0.7874254265747488 +1020,1.2391835514549143,2.0314095818505993,0.787435716082033 +1021,1.239182112829579,2.0314129873116658,0.7874459485005522 +1022,1.239180679911695,2.031416377814718,0.7874561241799443 +1023,1.2391792526819139,2.031419753428491,0.7874662434676899 +1024,1.2391778311208166,2.031423114221443,0.7874763067090861 +1025,1.2391764152089297,2.0314264602616863,0.7874863142472659 +1026,1.2391750049267407,2.0314297916169752,0.7874962664232342 +1027,1.2391736002546758,2.0314331083548454,0.7875061635757727 +1028,1.2391722011731152,2.031436410542421,0.7875160060416682 +1029,1.2391708076623906,2.0314396982465355,0.7875257941555138 +1030,1.2391694197027874,2.0314429715337408,0.7875355282497885 +1031,1.2391680372745515,2.0314462304702916,0.7875452086549588 +1032,1.23916666035789,2.031449475122084,0.7875548356993394 +1033,1.2391652889329539,2.0314527055547695,0.7875644097092228 +1034,1.2391639229798856,2.031455921833584,0.7875739310088463 +1035,1.2391625624787561,2.031459124023689,0.7875833999204206 +1036,1.2391612074096354,2.0314623121896234,0.7875928167641075 +1037,1.2391598577525234,2.0314654863958292,0.7876021818580725 +1038,1.2391585134874203,2.0314686467065433,0.7876114955184678 +1039,1.2391571745942813,2.031471793185465,0.7876207580595066 +1040,1.2391558410530497,2.031474925896203,0.7876299697933465 +1041,1.2391545128436152,2.031478044902005,0.7876391310302139 +1042,1.2391531899458637,2.031481150265624,0.7876482420784353 +1043,1.2391518723396484,2.0314842420498698,0.7876573032443067 +1044,1.2391505600048098,2.0314873203169492,0.7876663148322315 +1045,1.2391492529211596,2.0314903851290036,0.7876752771447733 +1046,1.239147951068489,2.031493436547767,0.7876841904824413 +1047,1.2391466544265752,2.0314964746346456,0.7876930551439714 +1048,1.2391453629751847,2.0314994994509648,0.7877018714261461 +1049,1.2391440766940698,2.031502511057473,0.787710639623912 +1050,1.239142795562942,2.0315055095149215,0.7877193600303593 +1051,1.2391415195615505,2.031508494883725,0.7877280329367075 +1052,1.2391402486695928,2.031511467223821,0.7877366586323412 +1053,1.2391389828667732,2.031514426594945,0.7877452374048365 +1054,1.2391377221327968,2.031517373056625,0.7877537695399696 +1055,1.2391364664473399,2.031520306668164,0.7877622553216334 +1056,1.2391352157900948,2.031523227488378,0.7877706950320179 +1057,1.2391339701407431,2.0315261355761294,0.7877790889514774 +1058,1.2391327294789536,2.0315290309896854,0.7877874373586183 +1059,1.2391314937844133,2.031531913787183,0.7877957405303002 +1060,1.2391302630367957,2.0315347840264715,0.7878039987415848 +1061,1.2391290372157835,2.031537641765157,0.7878122122658229 +1062,1.2391278163010484,2.031540487060641,0.7878203813746464 +1063,1.2391266002722854,2.0315433199698614,0.7878285063379695 +1064,1.239125389109179,2.031546140549655,0.787836587423965 +1065,1.2391241827914252,2.031548948856541,0.7878446248991645 +1066,1.2391229812987323,2.031551744946724,0.7878526190283369 +1067,1.2391217846108014,2.031554528876268,0.7878605700746706 +1068,1.2391205927073612,2.0315573007008862,0.787868478299596 +1069,1.2391194055681352,2.031560060476034,0.7878763439629621 +1070,1.239118223172876,2.031562808257037,0.7878841673229461 +1071,1.2391170455013312,2.0315655440986893,0.7878919486360272 +1072,1.2391158725332727,2.0315682680557354,0.7878996881571942 +1073,1.2391147042484856,2.031570980182595,0.7879073861396717 +1074,1.2391135406267715,2.0315736805335147,0.7879150428351918 +1075,1.2391123816479346,2.0315763691624324,0.7879226584938414 +1076,1.2391112272918223,2.0315790461229666,0.7879302333641193 +1077,1.2391100775382808,2.0315817114687107,0.7879377676929659 +1078,1.2391089323671811,2.0315843652526713,0.7879452617257495 +1079,1.2391077917584217,2.0315870075279516,0.7879527157062804 +1080,1.2391066556919128,2.031589638347076,0.7879601298768294 +1081,1.2391055241475861,2.031592257762573,0.7879675044781053 +1082,1.2391043971054139,2.031594865826674,0.787974839749351 +1083,1.2391032745453716,2.031597462591268,0.7879821359282064 +1084,1.2391021564474662,2.031600048108072,0.7879893932508386 +1085,1.2391010427917426,2.0316026224285615,0.7879966119519665 +1086,1.2390999335582527,2.031605185604062,0.7880037922647435 +1087,1.239098828727089,2.031607737685418,0.7880109344208893 +1088,1.2390977282783708,2.031610278723457,0.7880180386506234 +1089,1.2390966321922474,2.0316128087687155,0.7880251051826916 +1090,1.239095540448897,2.0316153278714086,0.7880321342444544 +1091,1.239094453028523,2.0316178360815877,0.7880391260617573 +1092,1.2390933699113582,2.031620333449168,0.7880460808590375 +1093,1.2390922910776925,2.0316228200236024,0.7880529988593223 +1094,1.2390912165078198,2.031625295854262,0.7880598802841885 +1095,1.2390901461820767,2.0316277609903106,0.7880667253538091 +1096,1.2390890800808427,2.0316302154805936,0.7880735342869809 +1097,1.2390880181845245,2.0316326593737695,0.7880803073011037 +1098,1.239086960473566,2.031635092718328,0.7880870446121512 +1099,1.2390859069284457,2.0316375155623674,0.7880937464348146 +1100,1.2390848575296889,2.0316399279539072,0.7881004129823315 +1101,1.239083812257841,2.031642329940734,0.7881070444666023 +1102,1.2390827710935104,2.0316447215704194,0.7881136410982228 +1103,1.2390817340173226,2.0316471028901635,0.7881202030864028 +1104,1.2390807010099585,2.031649473947102,0.7881267306390514 +1105,1.239079672052122,2.031651834788108,0.788133223962711 +1106,1.239078647124576,2.031654185459688,0.7881396832626617 +1107,1.2390776262081216,2.031656526008429,0.788146108742843 +1108,1.2390766092835914,2.0316588564805835,0.7881525006058938 +1109,1.239075596331862,2.031661176921974,0.7881588590532005 +1110,1.2390745873338762,2.0316634873784447,0.7881651842848229 +1111,1.239073582270594,2.03166578789563,0.7881714764995716 +1112,1.2390725811230299,2.0316680785188344,0.7881777358949975 +1113,1.2390715838722441,2.031670359293147,0.7881839626673519 +1114,1.2390705904993427,2.0316726302635293,0.7881901570116912 +1115,1.239069600985471,2.0316748914747196,0.7881963191217868 +1116,1.239068615311836,2.0316771429712843,0.7882024491902069 +1117,1.2390676334596762,2.0316793847974326,0.7882085474082743 +1118,1.239066655410279,2.0316816169972243,0.7882146139660711 +1119,1.2390656811449963,2.0316838396147454,0.7882206490525523 +1120,1.23906471064521,2.0316860526934173,0.7882266528553401 +1121,1.2390637438923577,2.031688256276825,0.788232625560976 +1122,1.239062780867931,2.03169045040827,0.7882385673547664 +1123,1.2390618215534581,2.031692635130806,0.7882444784208317 +1124,1.2390608659305327,2.0316948104872505,0.7882503589421241 +1125,1.2390599139807938,2.03169697652038,0.788256209100428 +1126,1.239058965685928,2.031699133272598,0.7882620290763733 +1127,1.2390580210276725,2.0317012807862307,0.7882678190494541 +1128,1.2390570799878247,2.0317034191032306,0.7882735791979771 +1129,1.239056142548225,2.031705548265511,0.7882793096991667 +1130,1.2390552086907738,2.0317076683148243,0.7882850107290742 +1131,1.2390542783974205,2.031709779292566,0.7882906824626226 +1132,1.239053351650166,2.031711881240099,0.7882963250737018 +1133,1.2390524284310724,2.031713974198491,0.7883019387349746 +1134,1.2390515087222442,2.0317160582087643,0.7883075236180701 +1135,1.239050592505853,2.0317181333113474,0.7883130798935364 +1136,1.2390496797641208,2.0317201995470557,0.7883186077308318 +1137,1.2390487704793152,2.031722256956002,0.7883241072982535 +1138,1.2390478646337753,2.0317243055784178,0.7883295787631159 +1139,1.2390469622098854,2.0317263454542434,0.7883350222916465 +1140,1.2390460631900846,2.031728376623299,0.7883404380489635 +1141,1.2390451675568788,2.0317303991251356,0.7883458261992347 +1142,1.2390442752928184,2.0317324129991894,0.7883511869054656 +1143,1.2390433863805137,2.0317344182845343,0.7883565203297103 +1144,1.2390425008026362,2.031736415020302,0.7883618266328964 +1145,1.2390416185419184,2.031738403245368,0.7883671059750578 +1146,1.2390407395811358,2.0317403829983696,0.7883723585150909 +1147,1.2390398639031368,2.0317423543177497,0.7883775844109082 +1148,1.2390389914908206,2.031744317241858,0.7883827838194583 +1149,1.239038122327141,2.0317462718087937,0.7883879568966509 +1150,1.239037256395121,2.031748218056604,0.7883931037973962 +1151,1.2390363936778355,2.031750156023011,0.788398224675647 +1152,1.2390355341584198,2.0317520857455613,0.7884033196843446 +1153,1.2390346778200654,2.031754007261578,0.7884083889754752 +1154,1.2390338246460297,2.03175592060834,0.7884134327000503 +1155,1.2390329746196194,2.0317578258230315,0.7884184510081041 +1156,1.239032127724215,2.0317597229424362,0.7884234440487424 +1157,1.2390312839432465,2.0317616120032698,0.7884284119700821 +1158,1.2390304432602115,2.031763493042191,0.7884333549193134 +1159,1.2390296056586487,2.0317653660955473,0.7884382730427365 +1160,1.2390287711221954,2.0317672311994306,0.7884431664856498 +1161,1.2390279396345059,2.0317690883900137,0.7884480353924167 +1162,1.2390271111793272,2.031770937703135,0.7884528799065894 +1163,1.23902628574045,2.0317727791744646,0.7884577001706748 +1164,1.239025463301734,2.0317746128394853,0.7884624963263454 +1165,1.2390246438471004,2.031776438733712,0.7884672685143553 +1166,1.2390238273605254,2.0317782568922786,0.7884720168745526 +1167,1.2390230138260552,2.0317800673502475,0.7884767415458785 +1168,1.2390222032277844,2.0317818701424346,0.7884814426664893 +1169,1.2390213955498888,2.0317836653036565,0.788486120373501 +1170,1.2390205907765874,2.031785452868315,0.7884907748032852 +1171,1.239019788892177,2.031787232870883,0.7884954060912978 +1172,1.2390189898809978,2.0317890053455785,0.7885000143720764 +1173,1.2390181937274685,2.031790770326488,0.7885045997794315 +1174,1.2390174004160663,2.0317925278474953,0.7885091624462032 +1175,1.2390166099313304,2.031794277942314,0.7885137025044285 +1176,1.2390158222578516,2.031796020644543,0.7885182200853447 +1177,1.239015037380301,2.031797755987747,0.7885227153192454 +1178,1.2390142552833983,2.0317994840050577,0.7885271883357297 +1179,1.2390134759519302,2.0318012047295664,0.7885316392634596 +1180,1.239012699370756,2.031802918194374,0.7885360682303282 +1181,1.23901192552478,2.0318046244322896,0.7885404753634391 +1182,1.2390111543989768,2.031806323475926,0.7885448607890145 +1183,1.239010385978395,2.031808015357831,0.788549224632537 +1184,1.239009620248123,2.031809700110296,0.7885535670186816 +1185,1.2390088571933346,2.0318113777655125,0.7885578880713053 +1186,1.239008096799252,2.0318130483555947,0.7885621879134723 +1187,1.2390073390511687,2.031814711912433,0.7885664666675184 +1188,1.2390065839344353,2.0318163684677817,0.7885707244549294 +1189,1.2390058314344716,2.031818018053245,0.7885749613964628 +1190,1.239005081536757,2.0318196607002954,0.7885791776121099 +1191,1.2390043342268244,2.0318212964403353,0.788583373221107 +1192,1.2390035894902889,2.0318229253043363,0.7885875483418515 +1193,1.2390028473128147,2.0318245473234753,0.7885917030920777 +1194,1.2390021076801352,2.031826162528573,0.788595837588786 +1195,1.239001370578047,2.0318277709504065,0.7885999519481427 +1196,1.2390006359924013,2.031829372619577,0.788604046285632 +1197,1.2389999039091224,2.0318309675664072,0.7886081207160295 +1198,1.2389991743141966,2.0318325558213455,0.7886121753533227 +1199,1.23899844719367,2.0318341374145366,0.7886162103107822 +1200,1.2389977225336466,2.0318357123758783,0.7886202257010189 +1201,1.238997000320304,2.0318372807353984,0.788624221635864 +1202,1.2389962805398782,2.031838842522865,0.7886281982264753 +1203,1.238995563178669,2.0318403977677155,0.7886321555832889 +1204,1.238994848223027,2.031841946499474,0.7886360938160427 +1205,1.2389941356593912,2.031843488747492,0.7886400130337767 +1206,1.2389934254742454,2.0318450245409894,0.7886439133448544 +1207,1.2389927176541353,2.0318465539090287,0.7886477948569001 +1208,1.2389920121856692,2.031848076880494,0.788651657676957 +1209,1.2389913090555338,2.0318495934842153,0.7886555019112779 +1210,1.238990608250463,2.031851103748843,0.7886593276655145 +1211,1.238989909757253,2.0318526077028083,0.788663135044632 +1212,1.2389892135627654,2.0318541053745873,0.7886669241529137 +1213,1.2389885196539363,2.0318555967923744,0.7886706950939844 +1214,1.238987828017746,2.031857081984332,0.7886744479708171 +1215,1.2389871386412483,2.031858560978524,0.788678182885758 +1216,1.238986451511547,2.0318600338026807,0.7886818999404961 +1217,1.238985766615828,2.0318615004846317,0.7886855992360164 +1218,1.2389850839413277,2.0318629610518384,0.7886892808727295 +1219,1.2389844034753352,2.03186441553197,0.7886929449504245 +1220,1.238983725205221,2.031865863952231,0.7886965915681804 +1221,1.2389830491184002,2.031867306339948,0.7887002208245435 +1222,1.2389823752023617,2.03186874272217,0.7887038328173797 +1223,1.2389817034446466,2.0318701731257995,0.7887074276439228 +1224,1.2389810338328724,2.0318715975777404,0.7887110054008329 +1225,1.2389803663546968,2.0318730161046994,0.7887145661841366 +1226,1.2389797009978585,2.0318744287333006,0.7887181100892591 +1227,1.2389790377501517,2.031875835490008,0.7887216372110225 +1228,1.2389783765994191,2.0318772364011046,0.788725147643651 +1229,1.2389777175335834,2.0318786314928707,0.7887286414807836 +1230,1.2389770605406203,2.031880020791405,0.7887321188154608 +1231,1.2389764056085533,2.0318814043225752,0.7887355797401148 +1232,1.2389757527254974,2.03188278211237,0.7887390243465979 +1233,1.2389751018795954,2.031884154186516,0.7887424527262435 +1234,1.2389744530590812,2.0318855205706114,0.7887458649697205 +1235,1.2389738062522213,2.0318868812901525,0.7887492611671757 +1236,1.2389731614473567,2.031888236370478,0.788752641408197 +1237,1.238972518632883,2.0318895858369994,0.788756005781793 +1238,1.2389718777972714,2.0318909297146943,0.788759354376392 +1239,1.2389712389290268,2.0318922680286713,0.7887626872798906 +1240,1.2389706020167468,2.0318936008039077,0.7887660045796168 +1241,1.2389699670490515,2.031894928065131,0.7887693063623863 +1242,1.2389693340146488,2.0318962498369646,0.7887725927143986 +1243,1.2389687029022953,2.03189756614407,0.7887758637213684 +1244,1.2389680737008082,2.031898877010858,0.7887791194684445 +1245,1.2389674463990665,2.0319001824617096,0.7887823600402504 +1246,1.2389668209860007,2.0319014825209147,0.7887855855209036 +1247,1.2389661974506108,2.031902777212434,0.7887887959939263 +1248,1.2389655757819453,2.0319040665603247,0.788791991542374 +1249,1.2389649559691185,2.031905350588565,0.7887951722487607 +1250,1.2389643380013,2.0319066293208317,0.7887983381950799 +1251,1.2389637218677219,2.03190790278086,0.7888014894628331 +1252,1.2389631075576684,2.0319091709921584,0.7888046261329669 +1253,1.2389624950604818,2.031910433978229,0.7888077482859228 +1254,1.238961884365569,2.031911691762355,0.7888108560016869 +1255,1.2389612754623927,2.0319129443679094,0.7888139493597236 +1256,1.2389606683404637,2.031914191817886,0.7888170284389839 +1257,1.238960062989366,2.0319154341354295,0.7888200933179141 +1258,1.2389594593987305,2.031916671343305,0.7888231440745014 +1259,1.2389588575582446,2.0319179034644215,0.7888261807862396 +1260,1.238958257457663,2.0319191305214126,0.7888292035301027 +1261,1.2389576590867835,2.0319203525369534,0.7888322123826325 +1262,1.2389570624354636,2.031921569533471,0.7888352074198384 +1263,1.2389564674936286,2.0319227815334657,0.7888381887172895 +1264,1.2389558742512456,2.0319239885590545,0.7888411563500938 +1265,1.238955282698359,2.031925190632613,0.7888441103928432 +1266,1.2389546928250332,2.0319263877760565,0.7888470509197278 +1267,1.2389541046214276,2.031927580011452,0.7888499780044171 +1268,1.2389535180777353,2.031928767360665,0.7888528917201297 +1269,1.2389529331841995,2.0319299498454586,0.7888557921396904 +1270,1.2389523499311434,2.031931127487497,0.7888586793353558 +1271,1.238951768308926,2.0319323003084206,0.7888615533790372 +1272,1.2389511883079671,2.0319334683295867,0.788864414342145 +1273,1.2389506099187313,2.0319346315725233,0.7888672622956332 +1274,1.238950033131756,2.0319357900584434,0.788870097310052 +1275,1.2389494579376261,2.031936943808439,0.7888729194555136 +1276,1.238948884326972,2.031938092843726,0.7888757288016636 +1277,1.2389483122904852,2.031939237185165,0.7888785254177353 +1278,1.2389477418189185,2.031940376853791,0.7888813093724796 +1279,1.238947172903063,2.031941511870361,0.7888840807343156 +1280,1.238946605533782,2.0319426422554474,0.7888868395711667 +1281,1.238946039701973,2.0319437680297687,0.7888895859505379 +1282,1.2389454753985933,2.031944889213701,0.7888923199395534 +1283,1.2389449126146679,2.0319460058277934,0.788895041604874 +1284,1.2389443513412544,2.0319471178923334,0.7888977510127912 +1285,1.2389437915694717,2.0319482254275143,0.7889004482291164 +1286,1.2389432332904877,2.0319493284535164,0.7889031333193741 +1287,1.2389426764955327,2.0319504269903232,0.7889058063485425 +1288,1.2389421211758809,2.0319515210578634,0.788908467381321 +1289,1.2389415673228612,2.031952610675916,0.788911116481894 +1290,1.2389410149278461,2.0319536958644444,0.7889137537141236 +1291,1.2389404639822723,2.03195477664308,0.7889163791414788 +1292,1.2389399144776234,2.0319558530313335,0.7889189928269896 +1293,1.2389393664054311,2.031956925048606,0.7889215948333305 +1294,1.238938819757278,2.0319579927144082,0.7889241852227906 +1295,1.2389382745248108,2.0319590560480867,0.7889268033872147 +1296,1.2389377306997023,2.0319601150688436,0.7889294206091239 +1297,1.2389371882736968,2.0319611697958355,0.7889320260614188 +1298,1.2389366472385825,2.03196222024796,0.7889346198070069 +1299,1.2389361075861973,2.0319632664443232,0.7889372019084839 +1300,1.2389355693084287,2.031964308403764,0.7889397724279638 +1301,1.2389350323972115,2.031965346145063,0.7889423314272124 +1302,1.2389344968445344,2.031966379686878,0.7889448789676528 +1303,1.2389339626424305,2.031967409047859,0.7889474151102625 +1304,1.238933429782996,2.03196843424652,0.788949939915669 +1305,1.2389328982583572,2.031969455301234,0.7889524534441701 +1306,1.2389323680606903,2.0319704722305083,0.7889549557556282 +1307,1.2389318391822444,2.031971485052554,0.7889574469095829 +1308,1.2389313116152962,2.0319724937855512,0.7889599269651885 +1309,1.238930785352163,2.031973498447581,0.7889623959812683 +1310,1.2389302603852337,2.0319744990566626,0.7889648540162105 +1311,1.2389297367069243,2.0319754956307707,0.7889673011281417 +1312,1.2389292143097148,2.031976488187729,0.7889697373747476 +1313,1.2389286931861212,2.03197747674524,0.7889721628134053 +1314,1.2389281733287143,2.0319784613211764,0.788974577501149 +1315,1.2389276547301045,2.0319794419331494,0.7889769814946204 +1316,1.2389271373829556,2.0319804185984935,0.7889793748501656 +1317,1.238926621279974,2.031981391334799,0.7889817576237604 +1318,1.2389261064139125,2.0319823601594775,0.7889841298710394 +1319,1.238925592777576,2.031983325089681,0.788986491647295 +1320,1.2389250803638117,2.03198428614273,0.7889888430074897 +1321,1.238924569165502,2.031985243335725,0.7889911840062369 +1322,1.2389240591755997,2.0319861966857204,0.7889935146978432 +1323,1.2389235503870841,2.031987146209741,0.788995835136259 +1324,1.2389230427929838,2.0319880919246183,0.7889981453751119 +1325,1.2389225363863703,2.031989033847133,0.7890004454677145 +1326,1.238922031160362,2.0319899719941286,0.7890027354670565 +1327,1.2389215271081329,2.031990906382223,0.7890050154257677 +1328,1.2389210242228812,2.03199183702799,0.789007285396207 +1329,1.2389205224978737,2.0319927639480726,0.7890095454303787 +1330,1.238920021926396,2.0319936871588116,0.7890117955800187 +1331,1.238919522501791,2.031994606676645,0.7890140358964712 +1332,1.2389190242174477,2.0319955225177555,0.7890162664308641 +1333,1.2389185270667864,2.0319964346984145,0.7890184872339344 +1334,1.2389180310432852,2.0319973432348015,0.7890206983561516 +1335,1.2389175361404658,2.0319982481428576,0.7890228998476787 +1336,1.238917042351878,2.03199914943863,0.7890250917583496 +1337,1.2389165496711256,2.032000047138134,0.7890272741377358 +1338,1.238916058091851,2.0320009412572073,0.7890294470350626 +1339,1.238915567607745,2.0320018318115243,0.7890316104992784 +1340,1.2389150782125298,2.0320027188168988,0.7890337645790972 +1341,1.2389145898999765,2.032003602288928,0.7890359093228193 +1342,1.2389141026638972,2.032004482243167,0.7890380447785714 +1343,1.2389136164981587,2.0320053586950197,0.7890401709940885 +1344,1.2389131313966317,2.0320062316599805,0.7890422880168853 +1345,1.2389126473532721,2.03200710115344,0.7890443958941414 +1346,1.2389121643620502,2.032007967190754,0.7890464946728251 +1347,1.2389116824169866,2.0320088297869785,0.7890485843995595 +1348,1.2389112015121395,2.032009688957281,0.7890506651207103 +1349,1.2389107216416133,2.0320105447167514,0.7890527368823437 +1350,1.2389102427995402,2.0320113970804186,0.7890547997302834 +1351,1.2389097649801026,2.032012246063158,0.7890568537100391 +1352,1.2389092881775194,2.0320130916799477,0.7890588988668628 +1353,1.238908812386054,2.032013933945461,0.7890609352457841 +1354,1.2389083375999976,2.0320147728746485,0.7890629628914877 +1355,1.238907863813703,2.0320156084819576,0.7890649818484259 +1356,1.2389073910215298,2.0320164407820744,0.7890669921607912 +1357,1.2389069192179079,2.0320172697894883,0.789068993872506 +1358,1.2389064483972876,2.0320180955187177,0.7890709870272048 +1359,1.2389059785541618,2.032018917984175,0.7890729716682903 +1360,1.2389055096830648,2.0320197372000592,0.7890749478389006 +1361,1.2389050417785634,2.0320205531808226,0.7890769155819216 +1362,1.2389045748352696,2.0320213659405666,0.7890788749399703 +1363,1.2389041088478279,2.03202217549337,0.7890808259553953 +1364,1.238903643810921,2.0320229818534448,0.7890827686703453 +1365,1.2389031797192718,2.032023785034778,0.7890847031266519 +1366,1.238902716567634,2.032024585051248,0.7890866293659696 +1367,1.2389022543508061,2.0320253819168497,0.7890885474296451 +1368,1.238901793063621,2.0320261756453335,0.7890904573587972 +1369,1.2389013327009497,2.032026966250441,0.7890923591943185 +1370,1.2389008732576876,2.0320277537460263,0.7890942529768428 +1371,1.2389004147287883,2.0320285381455108,0.7890961387467909 +1372,1.2388999571092185,2.032029319462597,0.7890980165442527 +1373,1.2388995003939969,2.0320300977107295,0.7890998864092204 +1374,1.2388990445781745,2.032030872903456,0.7891017483813179 +1375,1.2388985896568312,2.0320316450540217,0.7891036025000381 +1376,1.238898135625089,2.0320324141759314,0.7891054488045762 +1377,1.2388976824781086,2.032033180282237,0.7891072873338908 +1378,1.2388972302110726,2.0320339433863897,0.7891091181267855 +1379,1.2388967788192036,2.032034703501395,0.7891109412217447 +1380,1.2388963282977703,2.0320354606403335,0.7891127566570832 +1381,1.2388958786420632,2.032036214816352,0.7891145644708686 +1382,1.2388954298474082,2.0320369660422943,0.7891163647009479 +1383,1.2388949819091664,2.0320377143311714,0.7891181573849356 +1384,1.2388945348227334,2.0320384596957735,0.7891199425602632 +1385,1.2388940885835433,2.0320392021490004,0.789121720264069 +1386,1.2388936431870583,2.032039941703405,0.7891234905333648 +1387,1.2388931986287777,2.0320406783717235,0.7891252534048855 +1388,1.238892754904222,2.032041412166663,0.789127008915136 +1389,1.238892312008963,2.0320421431008184,0.7891287571004658 +1390,1.2388918699385907,2.032042871186632,0.7891304979969831 +1391,1.2388914286887291,2.0320435964365418,0.7891322316405758 +1392,1.2388909882550527,2.032044318863036,0.789133958066912 +1393,1.2388905486332409,2.0320450384783215,0.7891356773114856 +1394,1.2388901098190248,2.0320457552947766,0.7891373894095703 +1395,1.23888967180816,2.03204646932454,0.7891390943962187 +1396,1.2388892345964373,2.0320471805799545,0.7891407923063103 +1397,1.2388887981796661,2.032047889073028,0.7891424831744697 +1398,1.2388883625537108,2.032048594815825,0.7891441670351735 +1399,1.238887927714446,2.0320492978203113,0.789145843922675 +1400,1.2388874936577885,2.0320499980985476,0.7891475138710108 +1401,1.2388870603796769,2.0320506956623823,0.7891491769140659 +1402,1.238886627876096,2.032051390523649,0.7891508330854803 +1403,1.23888619614304,2.032052082694175,0.7891524824187286 +1404,1.2388857651765501,2.0320527721856707,0.7891541249470724 +1405,1.238885334972697,2.0320534590098402,0.7891557607035821 +1406,1.238884905527569,2.0320541431783568,0.7891573897211686 +1407,1.2388844768372915,2.032054824702828,0.7891590120325181 +1408,1.2388840488980235,2.0320555035947603,0.7891606276701582 +1409,1.2388836217059478,2.0320561798655676,0.7891622366663611 +1410,1.2388831952572803,2.0320568535267385,0.7891638390533274 +1411,1.2388827695482587,2.03205752458962,0.7891654348629518 +1412,1.2388823445751627,2.0320581930656516,0.7891670241270193 +1413,1.2388819203342858,2.0320588589659816,0.7891686068770983 +1414,1.2388814968219626,2.032059522301846,0.7891701831446177 +1415,1.238881074034548,2.0320601830844294,0.7891717529607647 +1416,1.2388806519684241,2.032060841324967,0.7891733163565959 +1417,1.2388802306200095,2.032061497034295,0.7891748733629853 +1418,1.2388798099857492,2.0320621502236342,0.7891764240106076 +1419,1.2388793900621027,2.0320628009039066,0.7891779683299464 +1420,1.2388789708455819,2.032063449086091,0.7891795063513766 +1421,1.2388785523327006,2.0320640947809707,0.7891810381050252 +1422,1.238878134520015,2.0320647379994807,0.7891825636209115 +1423,1.2388777174040984,2.032065378752218,0.7891840829288117 +1424,1.2388773009815628,2.0320660170500946,0.7891855960584049 +1425,1.23887688524904,2.032066652903776,0.7891871030391692 +1426,1.2388764702031925,2.032067286323792,0.7891886039004273 +1427,1.2388760558406973,2.032067917320845,0.7891900986712871 +1428,1.238875642158275,2.032068545905337,0.7891915873807149 +1429,1.238875229152662,2.0320691720879593,0.7891930700575783 +1430,1.238874816820619,2.032069795878924,0.7891945467304878 +1431,1.2388744051589378,2.032070417288749,0.7891960174279404 +1432,1.2388739941644356,2.03207103632787,0.7891974821782552 +1433,1.2388735838339562,2.0320716530064264,0.789198941009591 +1434,1.2388731741643628,2.032072267334754,0.789200393949969 +1435,1.2388727651525433,2.032072879323103,0.7892018410272169 +1436,1.2388723567954214,2.0320734889817085,0.7892032822690339 +1437,1.2388719490899347,2.032074096320523,0.7892047177029708 +1438,1.2388715420330523,2.032074701349663,0.7892061473563649 +1439,1.2388711356217603,2.032075304079278,0.7892075712564646 +1440,1.238870729853083,2.0320759045192625,0.7892089894303407 +1441,1.2388703247240522,2.0320765026795407,0.7892104019049062 +1442,1.2388699202317366,2.032077098570057,0.7892118087069205 +1443,1.238869516373216,2.03207769220061,0.7892132098629998 +1444,1.2388691131456062,2.032078283581073,0.7892146053996144 +1445,1.2388687105460519,2.03207887272123,0.7892159953430797 +1446,1.2388683085716994,2.0320794596307548,0.7892173797195383 +1447,1.2388679072197337,2.0320800443192986,0.7892187585550776 +1448,1.238867506487359,2.0320806267965246,0.7892201318755366 +1449,1.2388671063718064,2.0320812070721477,0.789221499706638 +1450,1.2388667068703265,2.0320817851555697,0.7892228620739793 +1451,1.2388663079801905,2.0320823610563346,0.7892242190030091 +1452,1.2388659096986996,2.032082934783856,0.7892255705190463 +1453,1.2388655120231722,2.03208350634757,0.7892269166472168 +1454,1.2388651149509424,2.0320840757569067,0.7892282574125649 +1455,1.2388647184793813,2.032084643021259,0.7892295928399885 +1456,1.2388643226058702,2.03208520814977,0.7892309229542177 +1457,1.2388639273278172,2.0320857711518663,0.7892322477798558 +1458,1.2388635326426511,2.0320863320366462,0.7892335673413715 +1459,1.2388631385478275,2.0320868908134035,0.7892348816631164 +1460,1.2388627450408107,2.032087447491103,0.7892361907692943 +1461,1.2388623521190982,2.0320880020789485,0.7892374946839847 +1462,1.2388619597802042,2.0320885545859304,0.7892387934310728 +1463,1.2388615680216661,2.0320891050211003,0.7892400870343997 +1464,1.2388611768410347,2.032089653393449,0.7892413755176204 +1465,1.2388607862358925,2.032090199711968,0.7892426589042857 +1466,1.2388603962038371,2.032090743985385,0.7892439372178085 +1467,1.2388600067424829,2.0320912862227143,0.7892452104814731 +1468,1.2388596178494713,2.0320918264326444,0.789246478718418 +1469,1.2388592295224647,2.032092364623953,0.7892477419516933 +1470,1.2388588417591355,2.032092900805317,0.7892490002041529 +1471,1.2388584545571806,2.0320934349856365,0.7892502534986184 +1472,1.2388580679143315,2.0320939671733163,0.789251501857717 +1473,1.2388576818283132,2.0320944973772646,0.7892527453039744 +1474,1.238857296296885,2.0320950256058117,0.7892539838597892 +1475,1.2388569113178347,2.0320955518677506,0.7892552175474793 +1476,1.2388565268889482,2.032096076171375,0.7892564463891547 +1477,1.238856143008043,2.0320965985252504,0.789257670406887 +1478,1.238855759672958,2.0320971189377004,0.7892588896225751 +1479,1.2388553768815407,2.032097637417245,0.7892601040580396 +1480,1.2388549946316672,2.032098153972088,0.789261313734938 +1481,1.2388546129212263,2.032098668610629,0.7892625186748502 +1482,1.2388542317481255,2.0320991813412568,0.7892637188992007 +1483,1.238853851110299,2.0320996921720433,0.7892649144293228 +1484,1.2388534710056818,2.032100201111221,0.789266105286428 +1485,1.2388530914322466,2.0321007081670497,0.7892672914916478 +1486,1.238852712387976,2.032101213347699,0.7892684730659222 +1487,1.2388523338708601,2.032101716661076,0.7892696500301624 +1488,1.2388519558789277,2.0321022181154746,0.7892708224050763 +1489,1.2388515784102003,2.0321027177188165,0.7892719902113798 +1490,1.2388512014627426,2.032103215479024,0.7892731534695457 +1491,1.238850825034621,2.032103711404041,0.7892743122000454 +1492,1.2388504491239192,2.032104205501883,0.7892754664231609 +1493,1.2388500737287407,2.032104697780458,0.789276616159102 +1494,1.2388496988472117,2.032105188247498,0.7892777614279811 +1495,1.2388493244774617,2.0321056769107972,0.789278902249767 +1496,1.2388489506176519,2.0321061637783053,0.7892800386443712 +1497,1.2388485772659559,2.032106648857747,0.7892811706315412 +1498,1.2388482044205535,2.032107132156684,0.7892822982309409 +1499,1.2388478320796497,2.0321076136829497,0.7892834214621748 +1500,1.2388474602414679,2.032108093444114,0.7892845403446725 +1501,1.238847088904248,2.0321085714478078,0.7892856548978125 +1502,1.2388467180662308,2.032109047701573,0.7892867651408492 +1503,1.2388463477256961,2.0321095222129713,0.7892878710929067 +1504,1.238845977880921,2.032109994989559,0.7892889727730673 +1505,1.2388456085302089,2.032110466038751,0.7892900702002492 +1506,1.2388452396718654,2.0321109353679847,0.7892911633933231 +1507,1.2388448713042324,2.032111402984728,0.7892922523710493 +1508,1.238844503425656,2.0321118688964455,0.789293337152045 +1509,1.238844136034484,2.032112333110282,0.789294417754878 +1510,1.2388437691291072,2.0321127956336387,0.7892954941980018 +1511,1.2388434027079085,2.0321132564737447,0.7892965664997631 +1512,1.2388430367692955,2.032113715637915,0.7892976346784404 +1513,1.2388426713116913,2.0321141731333716,0.7892986987521732 +1514,1.2388423063335312,2.032114628967301,0.7892997587390148 +1515,1.2388419418332572,2.0321150831467394,0.789300814656998 +1516,1.2388415778093447,2.0321155356789253,0.7893018665239357 +1517,1.238841214260265,2.032115986570958,0.7893029143576249 +1518,1.2388408511845164,2.032116435829864,0.7893039581757731 +1519,1.238840488580596,2.032116883462691,0.7893049979959778 +1520,1.2388401264470374,2.03211732947649,0.7893060338357576 +1521,1.2388397647823626,2.0321177738780802,0.7893070657124907 +1522,1.23883940358513,2.0321182166745055,0.7893080936435196 +1523,1.238839042853898,2.0321186578727417,0.789309117646075 +1524,1.2388386825872346,2.0321190974793835,0.7893101377373103 +1525,1.238838322783746,2.03211953550151,0.7893111539342775 +1526,1.2388379634420228,2.032119971945922,0.7893121662539301 +1527,1.2388376045606817,2.032120406819344,0.7893131747131488 +1528,1.2388372461383537,2.032120840128567,0.7893141793287176 +1529,1.238836888173678,2.0321212718802473,0.7893151801173505 +1530,1.2388365306653126,2.032121702081196,0.7893161770956811 +1531,1.2388361736119256,2.0321221307380006,0.7893171702802021 +1532,1.238835817012191,2.0321225578572664,0.7893181596873874 +1533,1.2388354608648149,2.0321229834456807,0.7893191453335565 +1534,1.2388351051684856,2.0321234075097534,0.7893201272350443 +1535,1.2388347499219368,2.0321238300560553,0.7893211054079878 +1536,1.2388343951238898,2.032124251091126,0.7893220798685252 +1537,1.2388340407730911,2.0321246706215113,0.7893230506326641 +1538,1.2388336868682865,2.0321250886535376,0.7893240177163758 +1539,1.2388333334082566,2.0321255051937275,0.7893249811355046 +1540,1.2388329803917746,2.0321259202484105,0.7893259409058161 +1541,1.2388326278176265,2.032126333824142,0.7893268970430225 +1542,1.2388322756846213,2.032126745927117,0.7893278495627647 +1543,1.2388319239915697,2.0321271565637113,0.7893287984805472 +1544,1.2388315727373034,2.0321275657402476,0.7893297438118455 +1545,1.2388312219206503,2.032127973462929,0.7893306855720488 +1546,1.2388308715404541,2.0321283797379204,0.7893316237764368 +1547,1.23883052159559,2.0321287845715523,0.7893325584402479 +1548,1.2388301720849189,2.032129187970036,0.7893334895786365 +1549,1.23882982300733,2.032129589939545,0.7893344172066822 +1550,1.238829474361708,2.032129990486136,0.7893353413393406 +1551,1.2388291261469615,2.032130389615967,0.7893362619915614 +1552,1.2388287783620018,2.0321307873350243,0.7893371791781932 +1553,1.238828431005761,2.032131183649459,0.789338092913973 +1554,1.2388280840771717,2.032131578565132,0.789339003213634 +1555,1.238827737575179,2.0321319720882274,0.7893399100917625 +1556,1.2388273914987404,2.0321323642246356,0.7893408135629136 +1557,1.2388270458468245,2.0321327549802897,0.7893417136415553 +1558,1.2388267006184124,2.0321331443610573,0.789342610342076 +1559,1.2388263558124823,2.0321335323730345,0.7893435036788188 +1560,1.2388260114280434,2.032133919021986,0.7893443936660554 +1561,1.2388256674640985,2.032134304313653,0.7893452803179428 +1562,1.2388253239196703,2.0321346882539966,0.7893461636485836 +1563,1.2388249807937766,2.032135070848636,0.7893470436720811 +1564,1.2388246380854744,2.0321354521035535,0.7893479204023315 +1565,1.238824295793784,2.032135832024263,0.7893487938532686 +1566,1.2388239539177874,2.0321362106166525,0.7893496640387248 +1567,1.238823612456537,2.0321365878862974,0.789350530972484 +1568,1.2388232714091174,2.0321369638389095,0.7893513946681938 +1569,1.238822930774608,2.03213733848023,0.789352255139507 +1570,1.2388225905521109,2.0321377118157886,0.7893531123999951 +1571,1.2388222507407178,2.0321380838511094,0.7893539664631445 +1572,1.2388219113395558,2.0321384545918937,0.7893548173423547 +1573,1.238821572347737,2.0321388240435323,0.7893556650510363 +1574,1.2388212337643998,2.032139192211659,0.789356509602429 +1575,1.238820895588676,2.0321395591017453,0.7893573510097884 +1576,1.2388205578197244,2.032139924719319,0.7893581892862931 +1577,1.2388202204567003,2.0321402890697597,0.7893590244449813 +1578,1.2388198834987612,2.0321406521584584,0.7893598564989476 +1579,1.238819546945091,2.0321410139908154,0.7893606854611314 +1580,1.2388192107948652,2.0321413745722663,0.7893615113444481 +1581,1.2388188750472895,2.032141733908108,0.7893623341617266 +1582,1.2388185397015499,2.0321420920036046,0.7893631539257359 +1583,1.2388182047568597,2.0321424488642577,0.789363970649219 +1584,1.2388178702124395,2.0321428044951877,0.7893647843448075 +1585,1.2388175360675067,2.0321431589017576,0.7893655950250973 +1586,1.238817202321301,2.032143512089141,0.7893664027026288 +1587,1.2388168689730648,2.032143864062573,0.7893672073898564 +1588,1.2388165360220378,2.0321442148272757,0.7893680090992136 +1589,1.2388162034674808,2.032144564388355,0.7893688078430219 +1590,1.2388158713086577,2.032144912750967,0.7893696036335697 +1591,1.2388155395448446,2.032145259920302,0.7893703964831106 +1592,1.2388152081753174,2.0321456059013627,0.789371186403789 +1593,1.2388148771993628,2.032145950699284,0.789371973407725 +1594,1.238814546616275,2.0321462943190642,0.7893727575069621 +1595,1.2388142164253613,2.032146636765868,0.7893735387135118 +1596,1.2388138866259313,2.0321469780445094,0.789374317039281 +1597,1.2388135572172851,2.0321473181601806,0.7893750924961707 +1598,1.2388132281987707,2.032147657117742,0.7893758650959876 +1599,1.2388128995697054,2.0321479949222305,0.7893766348504878 +1600,1.2388125713294265,2.0321483315784725,0.7893774017714208 +1601,1.2388122434772906,2.0321486670913695,0.7893781658703859 +1602,1.2388119160126332,2.032149001465832,0.7893789271589813 +1603,1.238811588934824,2.032149334706823,0.789379685648792 +1604,1.23881126224323,2.0321496668190524,0.7893804413512507 +1605,1.2388109359372168,2.032149997807439,0.7893811942778449 +1606,1.2388106100161647,2.032150327676623,0.7893819444398884 +1607,1.2388102844794657,2.0321506564314906,0.7893826918487256 +1608,1.2388099593265078,2.0321509840768406,0.7893834365156198 +1609,1.23880963455669,2.032151310617287,0.7893841784517827 +1610,1.2388093101694146,2.032151636057698,0.7893849176683719 +1611,1.238808986164097,2.032151960402701,0.7893856541764821 +1612,1.2388086625401582,2.032152283656941,0.7893863879872044 +1613,1.2388083392970137,2.032152605825051,0.7893871191115026 +1614,1.2388080164340987,2.0321529269117122,0.7893878475603511 +1615,1.2388076939508503,2.0321532469215486,0.7893885733446278 +1616,1.238807371846708,2.0321535658591277,0.7893892964751906 +1617,1.2388070501211244,2.0321538837289395,0.7893900169627918 +1618,1.2388067287735498,2.0321542005357305,0.7893907348182355 +1619,1.2388064078034495,2.0321545162838963,0.7893914500521644 +1620,1.238806087210284,2.03215483097805,0.7893921626752508 +1621,1.2388057669935224,2.0321551446225796,0.7893928726980858 +1622,1.2388054471526522,2.032155457222066,0.7893935801311975 +1623,1.2388051276871475,2.0321557687808838,0.7893942849850755 +1624,1.2388048085965018,2.032156079303507,0.7893949872701806 +1625,1.2388044898802064,2.0321563887943057,0.7893956869968913 +1626,1.2388041715377656,2.0321566972578093,0.7893963841755698 +1627,1.2388038535686732,2.0321570046983264,0.7893970788164953 +1628,1.2388035359724556,2.032157311120155,0.7893977709299563 +1629,1.2388032187486173,2.0321576165276007,0.7893984605261007 +1630,1.2388029018966824,2.0321579209251284,0.7893991476151279 +1631,1.238802585416173,2.032158224316991,0.7893998322071146 +1632,1.2388022693066307,2.03215852670741,0.7894005143121205 +1633,1.2388019535675794,2.032158828100781,0.7894011939401707 +1634,1.2388016381985738,2.032159128501192,0.7894018711012369 +1635,1.2388013231991455,2.032159427912941,0.7894025458052338 +1636,1.2388010085688563,2.032159726340372,0.789403218062022 +1637,1.2388006943072525,2.032160023787516,0.7894038878814271 +1638,1.238800380413905,2.03216032025859,0.789404555273298 +1639,1.2388000668883747,2.0321606157576935,0.7894052202472909 +1640,1.238799753730233,2.0321609102890985,0.7894058828131341 +1641,1.2387994409390557,2.0321612038568504,0.7894065429804733 +1642,1.2387991285144202,2.0321614964650463,0.7894072007589215 +1643,1.2387988164559085,2.0321617881177905,0.7894078561580098 +1644,1.238798504763116,2.0321620788191415,0.7894085091873159 +1645,1.2387981934356327,2.0321623685731574,0.7894091598562506 +1646,1.2387978824730552,2.032162657383894,0.7894098081742599 +1647,1.238797571874983,2.0321629452553385,0.7894104541507467 +1648,1.2387972616410223,2.032163232191387,0.7894110977950431 +1649,1.2387969517707869,2.0321635181962048,0.7894117391164476 +1650,1.238796642263894,2.032163803273647,0.7894123781242097 +1651,1.2387963331199532,2.0321640874276388,0.789413014827574 +1652,1.2387960243385967,2.0321643706622767,0.7894136492356778 +1653,1.2387957159194503,2.0321646529813484,0.7894142813576857 +1654,1.2387954078621353,2.0321649343887604,0.7894149112026816 +1655,1.2387951001662973,2.0321652148884146,0.7894155387797159 +1656,1.2387947928315686,2.0321654944840826,0.7894161640977642 +1657,1.2387944858575994,2.032165773179656,0.789416787165842 +1658,1.2387941792440218,2.0321660509789683,0.7894174079928691 +1659,1.2387938729905053,2.0321663278858235,0.7894180265876805 +1660,1.2387935670966916,2.032166603904065,0.7894186429591812 +1661,1.2387932615622372,2.0321668790375718,0.7894192571161655 +1662,1.2387929563868134,2.0321671532898478,0.7894198690673777 +1663,1.2387926515700771,2.0321674266648215,0.7894204788215822 +1664,1.238792347111696,2.032167699166211,0.7894210863874356 +1665,1.2387920430113497,2.0321679707977105,0.7894216917736077 +1666,1.2387917392687053,2.0321682415629065,0.789422294988691 +1667,1.2387914358834542,2.032168511465572,0.7894228960412663 +1668,1.238791132855265,2.0321687805094073,0.7894234949398874 +1669,1.2387908301838328,2.0321690486980275,0.7894240916929975 +1670,1.238790527868841,2.0321693160351333,0.7894246863090999 +1671,1.238790225909987,2.0321695825242605,0.7894252787966043 +1672,1.2387899243069607,2.0321698481690706,0.7894258691639064 +1673,1.2387896230594695,2.032170112973026,0.7894264574193222 +1674,1.2387893221672066,2.032170376939784,0.7894270435711717 +1675,1.2387890216298807,2.0321706400729562,0.7894276276277258 +1676,1.2387887214472013,2.032170902376066,0.7894282095972218 +1677,1.2387884216188798,2.032171163852567,0.7894287894878427 +1678,1.2387881221446264,2.0321714245059823,0.789429367307755 +1679,1.2387878230241607,2.032171684339871,0.7894299430651027 +1680,1.2387875242572033,2.0321719433576764,0.7894305167679717 +1681,1.2387872258434793,2.032172201562847,0.7894310884243726 +1682,1.2387869277827113,2.0321724589588883,0.7894316580423991 +1683,1.2387866300746304,2.032172715549166,0.7894322256299718 +1684,1.2387863327189665,2.0321729713372,0.7894327911950395 +1685,1.2387860357154479,2.0321732263263446,0.7894333547455455 +1686,1.2387857390638273,2.0321734805200053,0.7894339162893477 +1687,1.2387854427638263,2.032173733921526,0.7894344758343075 +1688,1.238785146815201,2.0321739865342963,0.7894350333882044 +1689,1.2387848512176882,2.0321742383616495,0.7894355889588578 +1690,1.238784555971034,2.0321744894068874,0.7894361425539775 +1691,1.238784261074998,2.032174739673373,0.7894366941812616 +1692,1.2387839665293225,2.0321749891644316,0.7894372438483845 +1693,1.2387836723337646,2.032175237883206,0.7894377915629875 +1694,1.2387833784880868,2.0321754858331764,0.7894383373327191 +1695,1.238783084992045,2.0321757330174606,0.7894388811650714 +1696,1.2387827918453957,2.0321759794393395,0.7894394230676546 +1697,1.238782499047912,2.0321762251020776,0.7894399630479185 +1698,1.2387822065993557,2.032176470008977,0.7894405011133747 +1699,1.238781914499495,2.032176714163146,0.7894410372714707 +1700,1.2387816227480977,2.0321769575677573,0.7894415715295994 +1701,1.238781331344947,2.032177200225999,0.7894421038951318 +1702,1.2387810402898123,2.0321774421410828,0.7894426343754232 +1703,1.2387807495824694,2.032177683316197,0.789443162977786 +1704,1.238780459222698,2.0321779237543818,0.789443689709508 +1705,1.2387801692102842,2.032178163458847,0.7894442145778516 +1706,1.238779879545006,2.0321784024326557,0.7894447375899867 +1707,1.238779590226653,2.032178640678883,0.7894452587531556 +1708,1.238779301255009,2.0321788782006003,0.7894457780745042 +1709,1.2387790126298632,2.03217911500096,0.7894462955611302 +1710,1.2387787243510144,2.0321793510829935,0.789446811220156 +1711,1.2387784364182528,2.0321795864496663,0.7894473250586332 +1712,1.238778148831365,2.032179821104129,0.7894478370836046 +1713,1.2387778615901563,2.032180055049361,0.7894483473020861 +1714,1.238777574694424,2.0321802882883,0.7894488557210376 +1715,1.2387772881439671,2.0321805208240895,0.7894493623473929 +1716,1.2387770019385866,2.032180752659613,0.7894498671880898 +1717,1.2387767160780854,2.0321809837977955,0.7894503702500103 +1718,1.2387764305622824,2.032181214241606,0.7894508715400013 +1719,1.2387761453909616,2.032181443994,0.7894513710649087 +1720,1.2387758605639498,2.0321816730579614,0.7894518688315024 +1721,1.2387755760810528,2.0321819014363247,0.7894523648465857 +1722,1.2387752919420763,2.0321821291320905,0.7894528591168599 +1723,1.23877500814684,2.032182356148059,0.7894533516490742 +1724,1.2387747246951608,2.032182582487155,0.7894538424498656 +1725,1.2387744415868516,2.0321828081523954,0.7894543315259548 +1726,1.2387741588217258,2.032183033146348,0.7894548188839248 +1727,1.2387738763996075,2.0321832574719414,0.7894553045303823 +1728,1.2387735943203189,2.0321834811320763,0.7894557884719284 +1729,1.2387733125836822,2.03218370412958,0.7894562707150532 +1730,1.2387730311895135,2.032183926467202,0.7894567512662791 +1731,1.2387727501376458,2.032184148147754,0.7894572301321314 +1732,1.238772469427905,2.032184369174009,0.7894577073190749 +1733,1.2387721890601096,2.032184589548748,0.7894581828334905 +1734,1.2387719090340972,2.032184809274826,0.7894586566818516 +1735,1.2387716293496958,2.0321850283547747,0.7894591288704781 +1736,1.238771350006731,2.0321852467914563,0.7894595994057554 +1737,1.2387710710050437,2.0321854645875983,0.7894600682940052 +1738,1.2387707923444602,2.032185681745885,0.789460535541519 +1739,1.2387705140248155,2.032185898269037,0.7894610011545734 +1740,1.238770236045954,2.032186114159698,0.7894614651394275 +1741,1.2387699584076914,2.0321863294207154,0.7894619275023115 +1742,1.2387696811098858,2.0321865440544826,0.7894623882493764 +1743,1.2387694041523765,2.032186758063862,0.7894628473868276 +1744,1.2387691275349886,2.0321869714513534,0.7894633049208061 +1745,1.2387688512575703,2.0321871842197177,0.7894637608574354 +1746,1.238768575319962,2.0321873963714734,0.7894642152027973 +1747,1.2387682997220122,2.0321876079092864,0.7894646679629529 +1748,1.2387680244635595,2.0321878188357383,0.7894651191439518 +1749,1.238767749544445,2.032188029153468,0.7894655687518248 +1750,1.2387674749645199,2.0321882388648937,0.7894660167925502 +1751,1.2387672007236263,2.032188447972758,0.7894664632720791 +1752,1.2387669268216155,2.032188656479573,0.7894669081964005 +1753,1.2387666532583341,2.0321888643877672,0.7894673515714006 +1754,1.2387663800336295,2.0321890716999125,0.7894677934029753 +1755,1.2387661071473544,2.0321892784186066,0.7894682336969875 +1756,1.2387658345993537,2.0321894845462802,0.7894686724593075 +1757,1.23876556238948,2.032189690085501,0.7894691096957446 +1758,1.2387652905175905,2.03218989503865,0.7894695454120874 +1759,1.238765018983526,2.032190099408346,0.789469979614091 +1760,1.2387647477871535,2.0321903031969804,0.789470412307556 +1761,1.2387644769283175,2.03219050640697,0.7894708434981733 +1762,1.23876420640688,2.032190709040824,0.7894712731916584 +1763,1.2387639362226857,2.032190911101024,0.7894717013936843 +1764,1.238763666375603,2.0321911125898797,0.7894721281099139 +1765,1.238763396865478,2.032191313509789,0.7894725533459673 +1766,1.238763127692163,2.032191513863186,0.7894729771074643 +1767,1.238762858855535,2.0321917136525722,0.7894733993999903 +1768,1.2387625903554382,2.032191912880273,0.7894738202290968 +1769,1.2387623221917305,2.0321921115486106,0.7894742396003482 +1770,1.2387620543642763,2.032192309659991,0.7894746575192603 +1771,1.2387617868729297,2.032192507216731,0.789475073991301 +1772,1.2387615197175559,2.0321927042211994,0.7894754890220037 +1773,1.2387612528980099,2.0321929006757236,0.7894759026167377 +1774,1.2387609864141573,2.032193096582646,0.789476314781007 +1775,1.2387607202658601,2.0321932919442096,0.7894767255201677 +1776,1.2387604544529767,2.032193486762811,0.7894771348396382 +1777,1.2387601889753699,2.0321936810406656,0.7894775427447672 +1778,1.2387599238329003,2.0321938747800803,0.7894779492409092 +1779,1.2387596590254337,2.032194067983367,0.7894783543333448 +1780,1.2387593945528343,2.0321942606527847,0.7894787580274271 +1781,1.2387591304149614,2.032194452790522,0.7894791603283945 +1782,1.2387588666116802,2.032194644398898,0.7894795612415249 +1783,1.2387586031428588,2.032194835480031,0.7894799607720357 +1784,1.2387583400083595,2.032195026036329,0.7894803589251853 +1785,1.2387580772080404,2.0321952160698395,0.7894807557060988 +1786,1.2387578147417757,2.0321954055828773,0.789481151119993 +1787,1.2387575526094243,2.032195594577518,0.7894815451720386 +1788,1.2387572908108562,2.0321957830561157,0.7894819378672981 +1789,1.2387570293459318,2.0321959710207653,0.7894823292109304 +1790,1.2387567682145209,2.0321961584735235,0.7894827192080126 +1791,1.2387565074164926,2.0321963454166276,0.789483107863631 +1792,1.2387562469517044,2.0321965318522577,0.789483495182778 +1793,1.2387559868200233,2.0321967177825533,0.7894838811705313 +1794,1.2387557270213272,2.032196903209661,0.7894842658319011 +1795,1.2387554675554686,2.0321970881356877,0.7894846491718311 +1796,1.2387552084223212,2.0321972725628097,0.7894850311953606 +1797,1.2387549496217516,2.032197456492962,0.7894854119073846 +1798,1.238754691153624,2.032197639928415,0.7894857913128395 +1799,1.2387544330178102,2.032197822871119,0.7894861694166382 +1800,1.238754175214167,2.032198005323306,0.7894865462236815 +1801,1.2387539177425715,2.0321981872868076,0.7894869217388483 +1802,1.2387536606028973,2.0321983687639142,0.7894872959669502 +1803,1.238753403794989,2.0321985497565596,0.7894876689128353 +1804,1.2387531473187252,2.0321987302668356,0.7894880405813394 +1805,1.2387528911739794,2.032198910296707,0.7894884109772142 +1806,1.2387526353606175,2.0321990898483,0.7894887801052649 +1807,1.2387523798784972,2.032199268923547,0.7894891479702579 +1808,1.2387521247274884,2.0321994475244614,0.7894895145768815 +1809,1.2387518699074638,2.0321996256530808,0.7894898799298923 +1810,1.2387516154182823,2.0321998033113813,0.7894902440339845 +1811,1.2387513612598204,2.032199980501313,0.7894906068938041 +1812,1.238751107431937,2.0322001572249255,0.7894909685140755 +1813,1.2387508539345042,2.032200333484054,0.7894913288993792 +1814,1.2387506007673783,2.0322005092808273,0.7894916880543876 +1815,1.238750347930441,2.0322006846170177,0.7894920459836908 +1816,1.238750095423547,2.0322008594947105,0.7894924026918335 +1817,1.2387498432465638,2.032201033915773,0.7894927581834481 +1818,1.2387495913993647,2.032201207882171,0.7894931124630921 +1819,1.2387493398818108,2.0322013813956574,0.7894934655352449 +1820,1.2387490886937669,2.0322015544583008,0.7894938174044607 +1821,1.2387488378350948,2.0322017270719637,0.7894941680752394 +1822,1.2387485873056676,2.032201899238464,0.7894945175520429 +1823,1.2387483371053474,2.0322020709597965,0.7894948658393376 +1824,1.2387480872339993,2.0322022422378003,0.7894952129415789 +1825,1.2387478376914884,2.032202413074272,0.789495558863202 +1826,1.238747588477676,2.0322025834711743,0.78949590360861 +1827,1.2387473395924313,2.032202753430294,0.7894962471821706 +1828,1.2387470910356195,2.032202922953527,0.7894965895883079 +1829,1.2387468428070951,2.032203092042579,0.7894969308313688 +1830,1.23874659490673,2.032203260699459,0.7894972709156941 +1831,1.2387463473343852,2.0322034289258433,0.7894976098455703 +1832,1.2387461000899251,2.0322035967235395,0.7894979476253817 +1833,1.23874585317321,2.032203764094449,0.7894982842593501 +1834,1.2387456065840983,2.0322039310402613,0.7894986197518001 +1835,1.2387453603224643,2.032204097562863,0.7894989541069506 +1836,1.2387451143881596,2.0322042636640782,0.7894992873290609 +1837,1.2387448687810534,2.03220442934555,0.7894996194223605 +1838,1.2387446235010016,2.0322045946090013,0.7894999503910934 +1839,1.2387443785478616,2.0322047594563895,0.7895002802393806 +1840,1.238744133921499,2.032204923889324,0.7895006089714529 +1841,1.2387438896217735,2.0322050879096167,0.7895009365914752 +1842,1.2387436456485517,2.0322052515188633,0.7895012631035535 +1843,1.238743402001681,2.0322054147189044,0.7895015885118247 +1844,1.2387431586810238,2.0322055775113976,0.7895019128204017 +1845,1.2387429156864458,2.0322057398982105,0.7895022360334101 +1846,1.2387426730177968,2.0322059018809018,0.7895025581549026 +1847,1.2387424306749413,2.0322060634611723,0.7895028791889496 +1848,1.2387421886577332,2.0322062246407757,0.7895031991396241 +1849,1.2387419469660308,2.032206385421335,0.7895035180109142 +1850,1.2387417055996952,2.0322065458045837,0.7895038358068533 +1851,1.238741464558568,2.032206705792165,0.7895041525314711 +1852,1.2387412238425215,2.0322068653857785,0.7895044681887241 +1853,1.2387409834514111,2.0322070245870716,0.7895047827826086 +1854,1.238740743385081,2.0322071833975666,0.7895050963170414 +1855,1.2387405036433858,2.03220734181901,0.7895054087960295 +1856,1.2387402642261913,2.0322074998530404,0.7895057202234279 +1857,1.238740025133345,2.032207657501215,0.7895060306031972 +1858,1.238739786364702,2.0322078147652847,0.7895063399392002 +1859,1.2387395479201102,2.032207971646736,0.7895066482353236 +1860,1.2387393097994215,2.032208128147268,0.789506955495445 +1861,1.2387390720024964,2.032208284268427,0.7895072617234303 +1862,1.2387388345291774,2.0322084400118117,0.7895075669230992 +1863,1.2387385973793241,2.0322085953789837,0.7895078710982585 +1864,1.2387383605527797,2.0322087503715847,0.7895081742527275 +1865,1.238738124049397,2.0322089049911507,0.7895084763902885 +1866,1.2387378878690278,2.0322090592392543,0.7895087775147371 +1867,1.2387376520115132,2.0322092131173624,0.789509077629851 +1868,1.2387374164767104,2.032209366627196,0.7895093767393366 +1869,1.2387371812644608,2.032209519770061,0.7895096748469664 +1870,1.238736946374622,2.03220967254763,0.7895099719564141 +1871,1.2387367118070272,2.0322098249616407,0.7895102680714328 +1872,1.238736477561531,2.0322099770133404,0.7895105631956844 +1873,1.238736243637978,2.0322101287043544,0.7895108573328795 +1874,1.2387360100362141,2.0322102800361344,0.7895111504866363 +1875,1.2387357767560818,2.032210431010314,0.7895114426606348 +1876,1.2387355437974283,2.032210581628319,0.7895117338585421 +1877,1.2387353111600934,2.032210731891702,0.7895120240839105 +1878,1.2387350788439215,2.03221088180187,0.7895123133404219 +1879,1.2387348468487565,2.0322110313602235,0.789512601631626 +1880,1.2387346151744485,2.0322111805683187,0.7895128889610915 +1881,1.2387343838208185,2.03221132942766,0.7895131753324302 +1882,1.2387341527877245,2.0322114779396965,0.7895134607491545 +1883,1.2387339220749995,2.0322116261058407,0.7895137452148387 +1884,1.2387336916824854,2.0322117739276124,0.7895140287329804 +1885,1.2387334616100187,2.0322119214063643,0.7895143113071005 +1886,1.2387332318574418,2.032212068543623,0.7895145929407278 +1887,1.2387330024245913,2.0322122153407918,0.7895148736373188 +1888,1.2387327733113067,2.032212361799192,0.7895151534003787 +1889,1.238732544517422,2.032212507920384,0.7895154322332797 +1890,1.2387323160427723,2.032212653705692,0.7895157101395942 +1891,1.2387320878871928,2.032212799156558,0.789515987122658 +1892,1.2387318600505195,2.032212944274413,0.7895162631859682 +1893,1.23873163253259,2.0322130890606194,0.7895165383328805 +1894,1.238731405333236,2.0322132335165017,0.7895168125668055 +1895,1.2387311784522872,2.0322133776435534,0.7895170858911205 +1896,1.2387309518895822,2.0322135214429746,0.7895173583092132 +1897,1.2387307256449498,2.032213664916344,0.7895176298244093 +1898,1.238730499718214,2.0322138080649377,0.7895179004401075 +1899,1.238730274109221,2.0322139508901262,0.7895181701595752 +1900,1.2387300488177908,2.0322140933931565,0.7895184389861652 +1901,1.2387298238437525,2.0322142355756125,0.7895187069231827 +1902,1.238729599186934,2.032214377438685,0.789518973973924 +1903,1.238729374847169,2.032214518983731,0.7895192401416997 +1904,1.2387291508242804,2.0322146602120386,0.7895195054297434 +1905,1.2387289271181012,2.0322148011250043,0.7895197698413052 +1906,1.2387287037284498,2.0322149417238973,0.7895200333796479 +1907,1.238728480655152,2.032215082009999,0.7895202960480123 +1908,1.2387282578980394,2.0322152219847145,0.7895205578495874 +1909,1.2387280354569297,2.032215361649292,0.7895208187876293 +1910,1.2387278133316493,2.032215501005063,0.7895210788653275 +1911,1.2387275915220266,2.0322156400532303,0.7895213380858241 +1912,1.2387273700278734,2.032215778795131,0.7895215964523327 +1913,1.2387271488490201,2.032215917231981,0.7895218539680019 +1914,1.2387269279852824,2.0322160553651756,0.7895221106359569 +1915,1.2387267074364832,2.0322161931959277,0.7895223664593811 +1916,1.23872648720244,2.032216330725457,0.789522621441376 +1917,1.2387262672829726,2.0322164679551156,0.789522875585045 +1918,1.2387260476778976,2.032216604886075,0.7895231288934954 +1919,1.2387258283870406,2.032216741519669,0.7895233813698381 +1920,1.2387256094102042,2.032216877857059,0.7895236330171682 +1921,1.2387253907472247,2.0322170138994378,0.7895238838384825 +1922,1.238725172397903,2.0322171496481296,0.7895241338369007 +1923,1.2387249543620567,2.032217285104325,0.7895243830154478 +1924,1.2387247366395016,2.032217420269246,0.7895246313771364 +1925,1.238724519230047,2.032217555144106,0.789524878925012 +1926,1.238724302133515,2.0322176897301474,0.789525125662074 +1927,1.2387240853497083,2.0322178240285145,0.789525371591331 +1928,1.2387238688784494,2.032217958040496,0.7895256167157865 +1929,1.2387236527195387,2.0322180917672172,0.7895258610384025 +1930,1.2387234368727937,2.03221822520982,0.7895261045621271 +1931,1.2387232213380213,2.0322183583696254,0.7895263472899356 +1932,1.2387230061150267,2.032218491247766,0.7895265892247608 +1933,1.2387227912036236,2.03221862384542,0.7895268303695837 +1934,1.2387225766036165,2.0322187561635743,0.7895270707272425 +1935,1.2387223623148185,2.0322188882036025,0.789527310300735 +1936,1.2387221483370265,2.0322190199666426,0.7895275490928907 +1937,1.2387219346700549,2.0322191514537216,0.7895277871066229 +1938,1.2387217213137,2.032219282666166,0.7895280243448373 +1939,1.2387215082677732,2.032219413605084,0.789528260810369 +1940,1.238721295532072,2.0322195442714355,0.7895284965060911 +1941,1.2387210831064077,2.032219674666523,0.7895287314348559 +1942,1.2387208709905757,2.0322198047915117,0.7895289655994733 +1943,1.238720659184375,2.0322199346473813,0.7895291990027884 +1944,1.2387204476876184,2.0322200642353754,0.7895294316476211 +1945,1.238720236500091,2.0322201935564697,0.7895296635367851 +1946,1.238720025621603,2.0322203226119693,0.7895298946730273 +1947,1.2387198150519472,2.0322204514027815,0.7895301250591903 +1948,1.2387196047909266,2.032220579930101,0.7895303546980502 +1949,1.2387193948383355,2.032220708195,0.7895305835922852 +1950,1.2387191851939687,2.0322208361986376,0.789530811744753 +1951,1.2387189758576294,2.032220963942059,0.7895310391581158 +1952,1.2387187668291033,2.0322210914263326,0.7895312658351644 +1953,1.23871855810819,2.0322212186525586,0.7895314917786063 +1954,1.238718349694688,2.0322213456218305,0.7895317169911376 +1955,1.2387181415883841,2.0322214723352547,0.7895319414754609 +1956,1.2387179337890746,2.0322215987938064,0.7895321652343209 +1957,1.2387177262965454,2.0322217249984593,0.7895323882703417 +1958,1.2387175191105975,2.032221850950415,0.7895326105862 +1959,1.2387173122310116,2.032221976650645,0.7895328321845846 +1960,1.2387171056575887,2.032222102100256,0.7895330530681381 +1961,1.238716899390106,2.0322222273002293,0.7895332732395041 +1962,1.2387166934283609,2.032222352251691,0.7895334927013085 +1963,1.2387164877721355,2.032222476955611,0.7895337114561997 +1964,1.238716282421222,2.032222601413086,0.7895339298760955 +1965,1.238716077375403,2.032222725625107,0.7895341499964523 +1966,1.238715872634467,2.032222849592574,0.7895343694086872 +1967,1.2387156681981943,2.0322229733165726,0.7895345881154755 +1968,1.2387154640663751,2.032223096798113,0.7895348061193862 +1969,1.2387152602387939,2.032223220038195,0.7895350234230414 +1970,1.2387150567152287,2.032223343037957,0.7895352400290112 +1971,1.2387148534954657,2.0322234657982254,0.7895354559399517 +1972,1.238714650579285,2.032223588320127,0.7895356711583694 +1973,1.238714447966467,2.032223710604557,0.7895358856868946 +1974,1.2387142456567994,2.032223832652531,0.7895360995280615 +1975,1.238714043650052,2.032223954464948,0.7895363126843853 +1976,1.2387138419460055,2.0322240760428936,0.7895365251584492 +1977,1.2387136405444434,2.032224197387258,0.7895367369527685 +1978,1.238713439445143,2.0322243184990643,0.7895369480698491 +1979,1.238713238647877,2.032224439379285,0.7895371585122368 +1980,1.2387130381524256,2.0322245600287987,0.7895373682823925 +1981,1.238712837958565,2.0322246804487554,0.7895375773828389 +1982,1.2387126380660614,2.032224800639945,0.7895377858160759 +1983,1.2387124384747077,2.0322249206033476,0.7895379935845276 +1984,1.2387122391842569,2.032225040339917,0.7895382006907242 +1985,1.2387120401944964,2.0322251598505536,0.7895384071370598 +1986,1.238711841505194,2.0322252791362585,0.7895386129260186 +1987,1.23871164311612,2.0322253981978866,0.7895388180600522 +1988,1.2387114450270562,2.032225517036416,0.7895390225415297 +1989,1.2387112472377606,2.0322256356527513,0.7895392263729354 +1990,1.2387110497480034,2.0322257540477615,0.7895394295566432 +1991,1.2387108525575588,2.0322258722224302,0.7895396320950473 +1992,1.2387106556661953,2.0322259901776767,0.7895398339905955 +1993,1.2387104590736835,2.03222610791436,0.7895400352456293 +1994,1.2387102627797761,2.032226225433381,0.7895402358625174 +1995,1.238710066784263,2.032226342735684,0.7895404358436523 +1996,1.238709871086894,2.0322264598222586,0.789540635191387 +1997,1.238709675687436,2.032226576693705,0.7895408339080691 +1998,1.238709480585654,2.0322266933512805,0.7895410319960536 +1999,1.2387092857813224,2.0322268097956555,0.7895412294576262 diff --git a/SIFig2.py b/SIFig2.py new file mode 100644 index 0000000..aeaee2b --- /dev/null +++ b/SIFig2.py @@ -0,0 +1,65 @@ +import matplotlib.pyplot as plt +import numpy as np +from matplotlib import cm + +plt.rc("text", usetex=False) +plt.rc("font", **{'family':'sans-serif', 'sans-serif':['Helvetica'], 'size':10}) + +t = [] +A = [] +M = [] +P = [] + +t,A,M,P = np.genfromtxt('SIFig2.csv',skip_header=1,unpack=True,delimiter=',') + + +# fig = plt.figure(figsize=(2.6,2.6)) +# ax1 = plt.subplot(111) +# ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +# plt.plot(t,A) +# ax1.set_xlabel(r'$t$') +# ax1.set_ylabel(r'$A$') +# ax1.spines["left"].set_linewidth(1.5) +# ax1.spines["top"].set_linewidth(1.5) +# ax1.spines["right"].set_linewidth(1.5) +# ax1.spines["bottom"].set_linewidth(1.5) +# ax1.grid(linewidth=1.5) +# plt.tight_layout() +# plt.savefig('Fig6_Area.tiff',dpi=600) +# plt.savefig('Fig6_Area.eps',dpi=600) + +#plt.show() + +fig = plt.figure(figsize=(3,3)) +ax1 = plt.subplot(111) +ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +plt.plot(t,M) +ax1.set_xlabel(r'Time Step') +ax1.set_ylabel(r'Total Rac') +ax1.spines["left"].set_linewidth(1.5) +ax1.spines["top"].set_linewidth(1.5) +ax1.spines["right"].set_linewidth(1.5) +ax1.spines["bottom"].set_linewidth(1.5) +ax1.grid(linewidth=1.5) +plt.tight_layout() +plt.savefig('SIFig2.tiff',dpi=1200) +# plt.savefig('Fig6_Mass.eps',dpi=600) + +#plt.show() +# +# fig = plt.figure(figsize=(2.6,2.6)) +# ax1 = plt.subplot(111) +# ax1.tick_params(axis="both", direction="in", which="both", right=True, top=True, labelsize=10, width=1.5) +# plt.plot(t,P) +# ax1.set_xlabel(r'$t$') +# ax1.set_ylabel(r'$R_{Max}-R_{Min}$') +# ax1.spines["left"].set_linewidth(1.5) +# ax1.spines["top"].set_linewidth(1.5) +# ax1.spines["right"].set_linewidth(1.5) +# ax1.spines["bottom"].set_linewidth(1.5) +# ax1.grid(linewidth=1.5) +# plt.tight_layout() +# plt.savefig('Fig6_Polarity.tiff',dpi=600) +# plt.savefig('Fig6_Polarity.eps',dpi=600) +# +# #plt.show() diff --git a/bettercolors.m b/bettercolors.m new file mode 100644 index 0000000..bdf5b00 --- /dev/null +++ b/bettercolors.m @@ -0,0 +1,42 @@ +%https://personal.sron.nl/~pault/#sec:colour_blindness +bright = [68,119,170; 102,204,238; 34,136,51; 204,187,68; 238,102,119; 170,51,119]/255; +highcontrast = [0,0,0; 0,68,136; 187,85,102; 221,170,51]/255; +muted = [51,24,136;136,204,238;68,170,153;17,119,51;153,153,51;221,204,119;204,102,119;136,34,85;170,68,153]/255; +iridescent = [254,251,233;252,247,213;245,243,193;234,240,181;221,236,191;208,231,202;194,227,210;181,221,216;168,216,220;155,210,225;141,203,228;129,196,231;123,188,231;126,178,228;136,165,221;147,152,210;155,138,196;157,125,178;154,112,158;144,99,136;128,87,112;104,73,87;70,53,58]/255; + +set(groot,'defaultAxesColorOrder',bright) + +% x = linspace(0,15,200); +% +% width=4; +% height=3; +% x0 = 5; +% y0 = 5; +% fontsize = 12; +% figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); +% hold on +% for i=1:10 +% plot(x,sin(x+i/2)*(10-i),'LineWidth',2)%'Color',iridescent(i,:),'LineWidth',2); +% end +% +% xlabel({'$x$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% ylabel({'$y$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% set(gca,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% set(gca,'Box','on') +% set(gca,'LineWidth',1.5) +% grid +% +% figure('Units','inches','Position',[x0 y0 width height],'PaperPositionMode','auto'); +% [X,Y] = meshgrid(-8:.5:8); +% R = sqrt(X.^2 + Y.^2) + eps; +% Z = sin(R)./R; +% surf(X,Y,Z) +% xlabel({'$x$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% ylabel({'$y$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% zlabel({'$z$'},'FontUnits','points','Interpreter','latex','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% set(gca,'Units','normalized','FontUnits','points','FontWeight','normal','FontSize',fontsize,'FontName','Times') +% set(gca,'Box','on') +% set(gca,'LineWidth',1.5) +% c = colorbar; +% c.LineWidth=1.5; +% colormap(iridescent)