Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
afeiguin
GitHub Repository: afeiguin/comp-phys
Path: blob/master/01_01_euler.ipynb
374 views
Kernel: Python 3

author:

  • 'Adrian E. Feiguin' title: 'Computational Physics' ...

Ordinary differential equations

Let’s consider a simple 1st order equation: dydx=f(x,y)\frac{dy}{dx}=f(x,y)

To solve this equation with a computer we need to discretize the differences: we have to convert the differential equation into a “finite differences” equation. The simplest solution is Euler’s method.

Euler’s method

Supouse that at a point x0x_0, the function ff has a value y0y_0. We want to find the approximate value of yy in a point x1x_1 close to x0x_0, x1=x0+Δxx_1=x_0+\Delta x, with Δx\Delta x small. We assume that ff, the rate of change of yy, is constant in this interval Δx\Delta x. Therefore we find: dxΔx=x1x0,dyΔy=y1y0,\begin{darray}{rcl} && dx \approx \Delta x &=&x_1-x_0, \\ && dy \approx \Delta y &=&y_1-y_0,\end{darray} with y1=y(x1)=y(x0+Δx)y_1=y(x_1)=y(x_0+\Delta x). Then we re-write the differential equation in terms of discrete differences as: ΔyΔx=f(x,y)\frac{\Delta y}{\Delta x}=f(x,y) or Δy=f(x,y)Δx\Delta y = f(x,y)\Delta x and approximate the value of y1y_1 as y1=y0+f(x0,y0)(x1x0)y_1=y_0+f(x_0,y_0)(x_1-x_0) We can generalize this formula to find the value of yy at x2=x1+Δxx_2=x_1+\Delta x as y2=y1+f(x1,y1)Δx,y_{2}=y_1+f(x_1,y_1)\Delta x, or in the general case: yn+1=yn+f(xn,yn)Δxy_{n+1}=y_n+f(x_n,y_n)\Delta x

This is a good approximation as long as Δx\Delta x is “small”. What is small? Depends on the problem, but it is basically defined by the “rate of change”, or “smoothness” of ff. f(x)f(x) has to behave smoothly and without rapid variations in the interval Δx\Delta x.

Notice that Euler’s method is equivalent to a 1st order Taylor expansion about the point x0x_0. The “local error” calculating x1x_1 is then O(Δx2)O(\Delta x^2). If we use the method NN times to calculate NN consecutive points, the propagated “global” error will be NO(Δx2)O(Δx)NO(\Delta x^2)\approx O(\Delta x). This error decreases linearly with decreasing step, so we need to halve the step size to reduce the error in half. The numerical work for each step consists of a single evaluation of ff.

Exercise 1.1: Newton’s law of cooling

If the temperature difference between an object and its surroundings is small, the rate of change of the temperature of the object is proportional to the temperature difference: dTdt=r(TTs),\frac{dT}{dt}=-r(T-T_s), where TT is the temperature of the body, TsT_s is the temperature of the environment, and rr is a “cooling constant” that depends on the heat transfer mechanism, the contact area with the environment and the thermal properties of the body. The minus sign appears because if T>TsT>T_s, the temperature must decrease.

Write a program to calculate the temperature of a body at a time tt, given the cooling constant rr and the temperature of the body at time t=0t=0. Plot the results for r=0.11minr=0.1\frac{1}{min}; Ts=83CT_s=83^{\circ} C, T0=10T_0=10^{\circ} using different intervals Δt\Delta t and compare with exact (analytical) results.

T0 = 10. # initial temperature Ts = 83. # temp. of the environment r = 0.1 # cooling rate dt = 0.05 # time step tmax = 60. # maximum time nsteps = int(tmax/dt) # number of steps
T = T0 for i in range(1,nsteps+1): new_T = T - r*(T-Ts)*dt T = new_T print ('{:20.18f} {:20.18f} {:20.18f}'.format(i,i*dt, T)) # we can also do T = T - r*(T-Ts)*dt
1.000000000000000000 0.050000000000000003 10.365000000000000213 2.000000000000000000 0.100000000000000006 10.728175000000000239 3.000000000000000000 0.150000000000000022 11.089534125000000131 4.000000000000000000 0.200000000000000011 11.449086454374999278 5.000000000000000000 0.250000000000000000 11.806841022103125027 6.000000000000000000 0.300000000000000044 12.162806816992610237 7.000000000000000000 0.350000000000000033 12.516992782907646387 8.000000000000000000 0.400000000000000022 12.869407818993108705 9.000000000000000000 0.450000000000000011 13.220060779898142655 10.000000000000000000 0.500000000000000000 13.568960475998652626 11.000000000000000000 0.550000000000000044 13.916115673618659088 12.000000000000000000 0.600000000000000089 14.261535095250565064 13.000000000000000000 0.650000000000000022 14.605227419774312381 14.000000000000000000 0.700000000000000067 14.947201282675440126 15.000000000000000000 0.750000000000000000 15.287465276262063085 16.000000000000000000 0.800000000000000044 15.626027949880752388 17.000000000000000000 0.850000000000000089 15.962897810131348564 18.000000000000000000 0.900000000000000022 16.298083321080692798 19.000000000000000000 0.950000000000000067 16.631592904475290595 20.000000000000000000 1.000000000000000000 16.963434939952914959 21.000000000000000000 1.050000000000000044 17.293617765253149088 22.000000000000000000 1.100000000000000089 17.622149676426882792 23.000000000000000000 1.150000000000000133 17.949038928044750207 24.000000000000000000 1.200000000000000178 18.274293733404526563 25.000000000000000000 1.250000000000000000 18.597922264737505316 26.000000000000000000 1.300000000000000044 18.919932653413816581 27.000000000000000000 1.350000000000000089 19.240332990146747250 28.000000000000000000 1.400000000000000133 19.559131325196013051 29.000000000000000000 1.450000000000000178 19.876335668570032311 30.000000000000000000 1.500000000000000000 20.191953990227183624 31.000000000000000000 1.550000000000000044 20.505994220276047457 32.000000000000000000 1.600000000000000089 20.818464249174667202 33.000000000000000000 1.650000000000000133 21.129371927928794150 34.000000000000000000 1.700000000000000178 21.438725068289151920 35.000000000000000000 1.750000000000000000 21.746531442947706125 36.000000000000000000 1.800000000000000044 22.052798785732967701 37.000000000000000000 1.850000000000000089 22.357534791804301477 38.000000000000000000 1.900000000000000133 22.660747117845279064 39.000000000000000000 1.950000000000000178 22.962443382256051194 40.000000000000000000 2.000000000000000000 23.262631165344771489 41.000000000000000000 2.050000000000000266 23.561318009518046779 42.000000000000000000 2.100000000000000089 23.858511419470456616 43.000000000000000000 2.149999999999999911 24.154218862373102894 44.000000000000000000 2.200000000000000178 24.448447768061235763 45.000000000000000000 2.250000000000000000 24.741205529220930970 46.000000000000000000 2.300000000000000266 25.032499501574825729 47.000000000000000000 2.350000000000000089 25.322337004066952204 48.000000000000000000 2.400000000000000355 25.610725319046618864 49.000000000000000000 2.450000000000000178 25.897671692451385894 50.000000000000000000 2.500000000000000000 26.183183333989127561 51.000000000000000000 2.550000000000000266 26.467267417319181533 52.000000000000000000 2.600000000000000089 26.749931080232585145 53.000000000000000000 2.650000000000000355 27.031181424831423499 54.000000000000000000 2.700000000000000178 27.311025517707268051 55.000000000000000000 2.750000000000000000 27.589470390118730592 56.000000000000000000 2.800000000000000266 27.866523038168136139 57.000000000000000000 2.850000000000000089 28.142190422977297004 58.000000000000000000 2.900000000000000355 28.416479470862409329 59.000000000000000000 2.950000000000000178 28.689397073508096980 60.000000000000000000 3.000000000000000000 28.960950088140556602 61.000000000000000000 3.050000000000000266 29.231145337699853570 62.000000000000000000 3.100000000000000089 29.499989611011354640 63.000000000000000000 3.150000000000000355 29.767489662956297281 64.000000000000000000 3.200000000000000178 30.033652214641517020 65.000000000000000000 3.250000000000000000 30.298483953568307925 66.000000000000000000 3.300000000000000266 30.561991533800465959 67.000000000000000000 3.350000000000000089 30.824181576131461924 68.000000000000000000 3.400000000000000355 31.085060668250804383 69.000000000000000000 3.450000000000000178 31.344635364909549935 70.000000000000000000 3.500000000000000000 31.602912188085003464 71.000000000000000000 3.550000000000000266 31.859897627144579957 72.000000000000000000 3.600000000000000089 32.115598139008859846 73.000000000000000000 3.650000000000000355 32.370020148313813024 74.000000000000000000 3.700000000000000178 32.623170047572244812 75.000000000000000000 3.750000000000000000 32.875054197334385719 76.000000000000000000 3.800000000000000266 33.125678926347717379 77.000000000000000000 3.850000000000000089 33.375050531715977797 78.000000000000000000 3.900000000000000355 33.623175279057399223 79.000000000000000000 3.950000000000000178 33.870059402662114678 80.000000000000000000 4.000000000000000000 34.115709105648804211 81.000000000000000000 4.049999999999999822 34.360130560120559551 82.000000000000000000 4.100000000000000533 34.603329907319960057 83.000000000000000000 4.150000000000000355 34.845313257783359973 84.000000000000000000 4.200000000000000178 35.086086691494443812 85.000000000000000000 4.250000000000000000 35.325656258036971735 86.000000000000000000 4.299999999999999822 35.564027976746785953 87.000000000000000000 4.350000000000000533 35.801207836863049749 88.000000000000000000 4.400000000000000355 36.037201797678733328 89.000000000000000000 4.450000000000000178 36.272015788690339377 90.000000000000000000 4.500000000000000000 36.505655709746889670 91.000000000000000000 4.549999999999999822 36.738127431198158490 92.000000000000000000 4.600000000000000533 36.969436794042167094 93.000000000000000000 4.650000000000000355 37.199589610071953416 94.000000000000000000 4.700000000000000178 37.428591662021595710 95.000000000000000000 4.750000000000000000 37.656448703711490111 96.000000000000000000 4.800000000000000711 37.883166460192931879 97.000000000000000000 4.850000000000000533 38.108750627891964768 98.000000000000000000 4.900000000000000355 38.333206874752505655 99.000000000000000000 4.950000000000000178 38.556540840378744406 100.000000000000000000 5.000000000000000000 38.778758136176847415 101.000000000000000000 5.050000000000000711 38.999864345495964812 102.000000000000000000 5.100000000000000533 39.219865023768484491 103.000000000000000000 5.150000000000000355 39.438765698649639546 104.000000000000000000 5.200000000000000178 39.656571870156390958 105.000000000000000000 5.250000000000000000 39.873289010805606836 106.000000000000000000 5.300000000000000711 40.088922565751580862 107.000000000000000000 5.350000000000000533 40.303477952922825978 108.000000000000000000 5.400000000000000355 40.516960563158214370 109.000000000000000000 5.450000000000000178 40.729375760342421131 110.000000000000000000 5.500000000000000000 40.940728881540707107 111.000000000000000000 5.550000000000000711 41.151025237133005419 112.000000000000000000 5.600000000000000533 41.360270110947340072 113.000000000000000000 5.650000000000000355 41.568468760392605077 114.000000000000000000 5.700000000000000178 41.775626416590640133 115.000000000000000000 5.750000000000000000 41.981748284507688140 116.000000000000000000 5.800000000000000711 42.186839543085149273 117.000000000000000000 5.850000000000000533 42.390905345369723989 118.000000000000000000 5.900000000000000355 42.593950818642873912 119.000000000000000000 5.950000000000000178 42.795981064549657447 120.000000000000000000 6.000000000000000000 42.997001159226911682 121.000000000000000000 6.050000000000000711 43.197016153430780605 122.000000000000000000 6.100000000000000533 43.396031072663625139 123.000000000000000000 6.150000000000000355 43.594050917300307901 124.000000000000000000 6.200000000000000178 43.791080662713802951 125.000000000000000000 6.250000000000000000 43.987125259400237098 126.000000000000000000 6.300000000000000711 44.182189633103234883 127.000000000000000000 6.350000000000000533 44.376278684937716434 128.000000000000000000 6.400000000000000355 44.569397291513027426 129.000000000000000000 6.450000000000000178 44.761550305055465060 130.000000000000000000 6.500000000000000000 44.952742553530185887 131.000000000000000000 6.550000000000000711 45.142978840762538084 132.000000000000000000 6.600000000000000533 45.332263946558725820 133.000000000000000000 6.650000000000000355 45.520602626825933612 134.000000000000000000 6.700000000000000178 45.707999613691804086 135.000000000000000000 6.750000000000000000 45.894459615623347304 136.000000000000000000 6.800000000000000711 46.079987317545231917 137.000000000000000000 6.850000000000000533 46.264587380957507889 138.000000000000000000 6.900000000000000355 46.448264444052718147 139.000000000000000000 6.950000000000000178 46.631023121832456013 140.000000000000000000 7.000000000000000000 46.812868006223290251 141.000000000000000000 7.050000000000000711 46.993803666192171420 142.000000000000000000 7.100000000000000533 47.173834647861212943 143.000000000000000000 7.150000000000000355 47.352965474621903752 144.000000000000000000 7.200000000000000178 47.531200647248795121 145.000000000000000000 7.250000000000000000 47.708544644012548019 146.000000000000000000 7.300000000000000711 47.885001920792483077 147.000000000000000000 7.350000000000000533 48.060576911188519489 148.000000000000000000 7.400000000000000355 48.235274026632573907 149.000000000000000000 7.450000000000000178 48.409097656499412210 150.000000000000000000 7.500000000000000000 48.582052168216918631 151.000000000000000000 7.550000000000000711 48.754141907375831977 152.000000000000000000 7.600000000000000533 48.925371197838956050 153.000000000000000000 7.650000000000000355 49.095744341849758996 154.000000000000000000 7.700000000000000178 49.265265620140510805 155.000000000000000000 7.750000000000000000 49.433939292039809743 156.000000000000000000 7.800000000000000711 49.601769595579611405 157.000000000000000000 7.850000000000000533 49.768760747601710648 158.000000000000000000 7.900000000000000355 49.934916943863704830 159.000000000000000000 7.950000000000000178 50.100242359144388615 160.000000000000000000 8.000000000000000000 50.264741147348665606 161.000000000000000000 8.050000000000000711 50.428417441611919969 162.000000000000000000 8.099999999999999645 50.591275354403862252 163.000000000000000000 8.150000000000000355 50.753318977631842301 164.000000000000000000 8.200000000000001066 50.914552382743686110 165.000000000000000000 8.250000000000000000 51.074979620829964233 166.000000000000000000 8.300000000000000711 51.234604722725812564 167.000000000000000000 8.349999999999999645 51.393431699112184674 168.000000000000000000 8.400000000000000355 51.551464540616620980 169.000000000000000000 8.450000000000001066 51.708707217913534748 170.000000000000000000 8.500000000000000000 51.865163681823965192 171.000000000000000000 8.550000000000000711 52.020837863414847391 172.000000000000000000 8.599999999999999645 52.175733674097770631 173.000000000000000000 8.650000000000000355 52.329855005727281991 174.000000000000000000 8.700000000000001066 52.483205730698642810 175.000000000000000000 8.750000000000000000 52.635789702045151728 176.000000000000000000 8.800000000000000711 52.787610753534927710 177.000000000000000000 8.849999999999999645 52.938672699767252539 178.000000000000000000 8.900000000000000355 53.088979336268415921 179.000000000000000000 8.950000000000001066 53.238534439587070324 180.000000000000000000 9.000000000000000000 53.387341767389138170 181.000000000000000000 9.050000000000000711 53.535405058552193225 182.000000000000000000 9.099999999999999645 53.682728033259429878 183.000000000000000000 9.150000000000000355 53.829314393093135038 184.000000000000000000 9.200000000000001066 53.975167821127669754 185.000000000000000000 9.250000000000000000 54.120291982022031618 186.000000000000000000 9.300000000000000711 54.264690522111919790 187.000000000000000000 9.349999999999999645 54.408367069501359481 188.000000000000000000 9.400000000000000355 54.551325234153850374 189.000000000000000000 9.450000000000001066 54.693568607983081620 190.000000000000000000 9.500000000000000000 54.835100764943163654 191.000000000000000000 9.550000000000000711 54.975925261118447906 192.000000000000000000 9.600000000000001421 55.116045634812856235 193.000000000000000000 9.650000000000000355 55.255465406638791137 194.000000000000000000 9.700000000000001066 55.394188079605598318 195.000000000000000000 9.750000000000000000 55.532217139207567413 196.000000000000000000 9.800000000000000711 55.669556053511527693 197.000000000000000000 9.850000000000001421 55.806208273243967710 198.000000000000000000 9.900000000000000355 55.942177231877749932 199.000000000000000000 9.950000000000001066 56.077466345718363527 200.000000000000000000 10.000000000000000000 56.212079013989772136 201.000000000000000000 10.050000000000000711 56.346018618919821108 202.000000000000000000 10.100000000000001421 56.479288525825225520 203.000000000000000000 10.150000000000000355 56.611892083196096337 204.000000000000000000 10.200000000000001066 56.743832622780118413 205.000000000000000000 10.250000000000000000 56.875113459666216897 206.000000000000000000 10.300000000000000711 57.005737892367882580 207.000000000000000000 10.350000000000001421 57.135709202906042492 208.000000000000000000 10.400000000000000355 57.265030656891511285 209.000000000000000000 10.450000000000001066 57.393705503607051810 210.000000000000000000 10.500000000000000000 57.521736976089016480 211.000000000000000000 10.550000000000000711 57.649128291208569408 212.000000000000000000 10.600000000000001421 57.775882649752524856 213.000000000000000000 10.650000000000000355 57.902003236503759354 214.000000000000000000 10.700000000000001066 58.027493220321240130 215.000000000000000000 10.750000000000000000 58.152355754219634321 216.000000000000000000 10.800000000000000711 58.276593975448534479 217.000000000000000000 10.850000000000001421 58.400211005571293299 218.000000000000000000 10.900000000000000355 58.523209950543439106 219.000000000000000000 10.950000000000001066 58.645593900790721875 220.000000000000000000 11.000000000000000000 58.767365931286768443 221.000000000000000000 11.050000000000000711 58.888529101630332718 222.000000000000000000 11.100000000000001421 59.009086456122183506 223.000000000000000000 11.150000000000000355 59.129041023841573121 224.000000000000000000 11.200000000000001066 59.248395818722364936 225.000000000000000000 11.250000000000000000 59.367153839628755918 226.000000000000000000 11.300000000000000711 59.485318070430615478 227.000000000000000000 11.350000000000001421 59.602891480078461939 228.000000000000000000 11.400000000000000355 59.719877022678069522 229.000000000000000000 11.450000000000001066 59.836277637564677434 230.000000000000000000 11.500000000000000000 59.952096249376850778 231.000000000000000000 11.550000000000000711 60.067335768129964890 232.000000000000000000 11.600000000000001421 60.181999089289313076 233.000000000000000000 11.650000000000000355 60.296089093842866191 234.000000000000000000 11.700000000000001066 60.409608648373648521 235.000000000000000000 11.750000000000000000 60.522560605131779710 236.000000000000000000 11.800000000000000711 60.634947802106118786 237.000000000000000000 11.850000000000001421 60.746773063095588441 238.000000000000000000 11.900000000000000355 60.858039197780108509 239.000000000000000000 11.950000000000001066 60.968749001791209707 240.000000000000000000 12.000000000000000000 61.078905256782256572 241.000000000000000000 12.050000000000000711 61.188510730498343548 242.000000000000000000 12.100000000000001421 61.297568176845850019 243.000000000000000000 12.150000000000000355 61.406080335961618744 244.000000000000000000 12.200000000000001066 61.514049934281807452 245.000000000000000000 12.250000000000000000 61.621479684610399374 246.000000000000000000 12.300000000000000711 61.728372286187344287 247.000000000000000000 12.350000000000001421 61.834730424756408240 248.000000000000000000 12.400000000000000355 61.940556772632625382 249.000000000000000000 12.450000000000001066 62.045853988769465559 250.000000000000000000 12.500000000000000000 62.150624718825618231 251.000000000000000000 12.550000000000000711 62.254871595231492165 252.000000000000000000 12.600000000000001421 62.358597237255331436 253.000000000000000000 12.650000000000000355 62.461804251069054317 254.000000000000000000 12.700000000000001066 62.564495229813708477 255.000000000000000000 12.750000000000000000 62.666672753664641959 256.000000000000000000 12.800000000000000711 62.768339389896318892 257.000000000000000000 12.850000000000001421 62.869497692946836764 258.000000000000000000 12.900000000000000355 62.970150204482102652 259.000000000000000000 12.950000000000001066 63.070299453459689687 260.000000000000000000 13.000000000000000000 63.169947956192388006 261.000000000000000000 13.050000000000000711 63.269098216411428837 262.000000000000000000 13.100000000000001421 63.367752725329374641 263.000000000000000000 13.150000000000000355 63.465913961702725032 264.000000000000000000 13.200000000000001066 63.563584391894210057 265.000000000000000000 13.250000000000000000 63.660766469934742418 266.000000000000000000 13.300000000000000711 63.757462637585071263 267.000000000000000000 13.350000000000001421 63.853675324397144664 268.000000000000000000 13.400000000000000355 63.949406947775159438 269.000000000000000000 13.450000000000001066 64.044659913036284138 270.000000000000000000 13.500000000000000000 64.139436613471104920 271.000000000000000000 13.550000000000000711 64.233739430403744564 272.000000000000000000 13.600000000000001421 64.327570733251732804 273.000000000000000000 13.650000000000000355 64.420932879585478759 274.000000000000000000 13.700000000000001066 64.513828215187544401 275.000000000000000000 13.750000000000000000 64.606259074111605401 276.000000000000000000 13.800000000000000711 64.698227778741042471 277.000000000000000000 13.850000000000001421 64.789736639847333777 278.000000000000000000 13.900000000000000355 64.880787956648092063 279.000000000000000000 13.950000000000001066 64.971384016864845989 280.000000000000000000 14.000000000000000000 65.061527096780523038 281.000000000000000000 14.050000000000000711 65.151219461296619784 282.000000000000000000 14.100000000000001421 65.240463363990130574 283.000000000000000000 14.150000000000000355 65.329261047170177790 284.000000000000000000 14.200000000000001066 65.417614741934329459 285.000000000000000000 14.250000000000000000 65.505526668224661080 286.000000000000000000 14.300000000000000711 65.592999034883533227 287.000000000000000000 14.350000000000001421 65.680034039709113358 288.000000000000000000 14.400000000000000355 65.766633869510570776 289.000000000000000000 14.450000000000001066 65.852800700163015790 290.000000000000000000 14.500000000000000000 65.938536696662197301 291.000000000000000000 14.550000000000000711 66.023844013178887735 292.000000000000000000 14.600000000000001421 66.108724793112997986 293.000000000000000000 14.650000000000000355 66.193181169147436549 294.000000000000000000 14.700000000000001066 66.277215263301698656 295.000000000000000000 14.750000000000000000 66.360829186985185402 296.000000000000000000 14.800000000000000711 66.444025041050252867 297.000000000000000000 14.850000000000001421 66.526804915845005439 298.000000000000000000 14.900000000000000355 66.609170891265776504 299.000000000000000000 14.950000000000001066 66.691125036809452808 300.000000000000000000 15.000000000000000000 66.772669411625400926 301.000000000000000000 15.050000000000000711 66.853806064567280032 302.000000000000000000 15.100000000000001421 66.934537034244442566 303.000000000000000000 15.150000000000000355 67.014864349073221206 304.000000000000000000 15.200000000000001066 67.094790027327860571 305.000000000000000000 15.250000000000000000 67.174316077191221552 306.000000000000000000 15.300000000000000711 67.253444496805272479 307.000000000000000000 15.350000000000001421 67.332177274321239224 308.000000000000000000 15.400000000000000355 67.410516387949627415 309.000000000000000000 15.450000000000001066 67.488463806009875157 310.000000000000000000 15.500000000000000000 67.566021486979821020 311.000000000000000000 15.550000000000000711 67.643191379544916231 312.000000000000000000 15.600000000000001421 67.719975422647195273 313.000000000000000000 15.650000000000000355 67.796375545533962281 314.000000000000000000 15.700000000000001066 67.872393667806292683 315.000000000000000000 15.750000000000000000 67.948031699467264843 316.000000000000000000 15.800000000000000711 68.023291540969921698 317.000000000000000000 15.850000000000001421 68.098175083265076069 318.000000000000000000 15.900000000000000355 68.172684207848746496 319.000000000000000000 15.950000000000001066 68.246820786809507808 320.000000000000000000 16.000000000000000000 68.320586682875457996 321.000000000000000000 16.050000000000000711 68.393983749461085608 322.000000000000000000 16.100000000000001421 68.467013830713781886 323.000000000000000000 16.150000000000002132 68.539678761560210773 324.000000000000000000 16.199999999999999289 68.611980367752408938 325.000000000000000000 16.250000000000000000 68.683920465913644193 326.000000000000000000 16.300000000000000711 68.755500863584074978 327.000000000000000000 16.350000000000001421 68.826723359266154034 328.000000000000000000 16.400000000000002132 68.897589742469818930 329.000000000000000000 16.449999999999999289 68.968101793757469409 330.000000000000000000 16.500000000000000000 69.038261284788688954 331.000000000000000000 16.550000000000000711 69.108069978364738972 332.000000000000000000 16.600000000000001421 69.177529628472910872 333.000000000000000000 16.650000000000002132 69.246641980330551291 334.000000000000000000 16.699999999999999289 69.315408770428902585 335.000000000000000000 16.750000000000000000 69.383831726576758570 336.000000000000000000 16.800000000000000711 69.451912567943878685 337.000000000000000000 16.850000000000001421 69.519653005104160570 338.000000000000000000 16.900000000000002132 69.587054740078642112 339.000000000000000000 16.949999999999999289 69.654119466378247694 340.000000000000000000 17.000000000000000000 69.720848869046349705 341.000000000000000000 17.050000000000000711 69.787244624701116891 342.000000000000000000 17.100000000000001421 69.853308401577606901 343.000000000000000000 17.150000000000002132 69.919041859569716735 344.000000000000000000 17.199999999999999289 69.984446650271863177 345.000000000000000000 17.250000000000000000 70.049524417020506917 346.000000000000000000 17.300000000000000711 70.114276794935406656 347.000000000000000000 17.350000000000001421 70.178705410960731115 348.000000000000000000 17.400000000000002132 70.242811883905929449 349.000000000000000000 17.449999999999999289 70.306597824486402715 350.000000000000000000 17.500000000000000000 70.370064835363976385 351.000000000000000000 17.550000000000000711 70.433214511187159701 352.000000000000000000 17.600000000000001421 70.496048438631220279 353.000000000000000000 17.650000000000002132 70.558568196438059772 354.000000000000000000 17.699999999999999289 70.620775355455876365 355.000000000000000000 17.750000000000000000 70.682671478678599897 356.000000000000000000 17.800000000000000711 70.744258121285213292 357.000000000000000000 17.850000000000001421 70.805536830678789784 358.000000000000000000 17.900000000000002132 70.866509146525402230 359.000000000000000000 17.949999999999999289 70.927176600792776640 360.000000000000000000 18.000000000000000000 70.987540717788817801 361.000000000000000000 18.050000000000000711 71.047603014199879112 362.000000000000000000 18.100000000000001421 71.107364999128876093 363.000000000000000000 18.150000000000002132 71.166828174133229368 364.000000000000000000 18.199999999999999289 71.225994033262566063 365.000000000000000000 18.250000000000000000 71.284864063096250675 366.000000000000000000 18.300000000000000711 71.343439742780773827 367.000000000000000000 18.350000000000001421 71.401722544066871023 368.000000000000000000 18.400000000000002132 71.459713931346541926 369.000000000000000000 18.449999999999999289 71.517415361689813835 370.000000000000000000 18.500000000000000000 71.574828284881363061 371.000000000000000000 18.550000000000000711 71.631954143456951556 372.000000000000000000 18.600000000000001421 71.688794372739664595 373.000000000000000000 18.650000000000002132 71.745350400875963714 374.000000000000000000 18.699999999999999289 71.801623648871583327 375.000000000000000000 18.750000000000000000 71.857615530627228395 376.000000000000000000 18.800000000000000711 71.913327452974087350 377.000000000000000000 18.850000000000001421 71.968760815709217127 378.000000000000000000 18.900000000000002132 72.023917011630672391 379.000000000000000000 18.949999999999999289 72.078797426572521090 380.000000000000000000 19.000000000000000000 72.133403439439661042 381.000000000000000000 19.050000000000000711 72.187736422242466006 382.000000000000000000 19.100000000000001421 72.241797740131246996 383.000000000000000000 19.150000000000002132 72.295588751430585717 384.000000000000000000 19.200000000000002842 72.349110807673426393 385.000000000000000000 19.250000000000000000 72.402365253635053932 386.000000000000000000 19.300000000000000711 72.455353427366873120 387.000000000000000000 19.350000000000001421 72.508076660230045718 388.000000000000000000 19.400000000000002132 72.560536276928900179 389.000000000000000000 19.450000000000002842 72.612733595544256104 390.000000000000000000 19.500000000000000000 72.664669927566535534 391.000000000000000000 19.550000000000000711 72.716346577928703709 392.000000000000000000 19.600000000000001421 72.767764845039053512 393.000000000000000000 19.650000000000002132 72.818926020813862010 394.000000000000000000 19.700000000000002842 72.869831390709791208 395.000000000000000000 19.750000000000000000 72.920482233756246160 396.000000000000000000 19.800000000000000711 72.970879822587463082 397.000000000000000000 19.850000000000001421 73.021025423474526406 398.000000000000000000 19.900000000000002132 73.070920296357158463 399.000000000000000000 19.950000000000002842 73.120565694875367058 400.000000000000000000 20.000000000000000000 73.169962866400993562 401.000000000000000000 20.050000000000000711 73.219113052068991010 402.000000000000000000 20.100000000000001421 73.268017486808645344 403.000000000000000000 20.150000000000002132 73.316677399374597712 404.000000000000000000 20.200000000000002842 73.365094012377724653 405.000000000000000000 20.250000000000000000 73.413268542315833542 406.000000000000000000 20.300000000000000711 73.461202199604258567 407.000000000000000000 20.350000000000001421 73.508896188606243527 408.000000000000000000 20.400000000000002132 73.556351707663210959 409.000000000000000000 20.450000000000002842 73.603569949124889149 410.000000000000000000 20.500000000000000000 73.650552099379268611 411.000000000000000000 20.550000000000000711 73.697299338882373831 412.000000000000000000 20.600000000000001421 73.743812842187963952 413.000000000000000000 20.650000000000002132 73.790093777977020295 414.000000000000000000 20.700000000000002842 73.836143309087134412 415.000000000000000000 20.750000000000000000 73.881962592541697177 416.000000000000000000 20.800000000000000711 73.927552779578988407 417.000000000000000000 20.850000000000001421 73.972915015681095952 418.000000000000000000 20.900000000000002132 74.018050440602692674 419.000000000000000000 20.950000000000002842 74.062960188399685535 420.000000000000000000 21.000000000000000000 74.107645387457694142 421.000000000000000000 21.050000000000000711 74.152107160520401408 422.000000000000000000 21.100000000000001421 74.196346624717804730 423.000000000000000000 21.150000000000002132 74.240364891594211372 424.000000000000000000 21.200000000000002842 74.284163067136233849 425.000000000000000000 21.250000000000000000 74.327742251800557938 426.000000000000000000 21.300000000000000711 74.371103540541554366 427.000000000000000000 21.350000000000001421 74.414248022838847874 428.000000000000000000 21.400000000000002132 74.457176782724658892 429.000000000000000000 21.450000000000002842 74.499890898811031548 430.000000000000000000 21.500000000000000000 74.542391444316976390 431.000000000000000000 21.550000000000000711 74.584679487095385753 432.000000000000000000 21.600000000000001421 74.626756089659906479 433.000000000000000000 21.650000000000002132 74.668622309211613697 434.000000000000000000 21.700000000000002842 74.710279197665556694 435.000000000000000000 21.750000000000000000 74.751727801677233742 436.000000000000000000 21.800000000000000711 74.792969162668853755 437.000000000000000000 21.850000000000001421 74.834004316855512684 438.000000000000000000 21.900000000000002132 74.874834295271242013 439.000000000000000000 21.950000000000002842 74.915460123794886727 440.000000000000000000 22.000000000000000000 74.955882823175912222 441.000000000000000000 22.050000000000000711 74.996103409060026479 442.000000000000000000 22.100000000000001421 75.036122892014731178 443.000000000000000000 22.150000000000002132 75.075942277554659654 444.000000000000000000 22.200000000000002842 75.115562566166886427 445.000000000000000000 22.250000000000000000 75.154984753336051995 446.000000000000000000 22.300000000000000711 75.194209829569373937 447.000000000000000000 22.350000000000001421 75.233238780421530123 448.000000000000000000 22.400000000000002132 75.272072586519428228 449.000000000000000000 22.450000000000002842 75.310712223586833147 450.000000000000000000 22.500000000000000000 75.349158662468894931 451.000000000000000000 22.550000000000000711 75.387412869156548823 452.000000000000000000 22.600000000000001421 75.425475804810758973 453.000000000000000000 22.650000000000002132 75.463348425786705320 454.000000000000000000 22.700000000000002842 75.501031683657771509 455.000000000000000000 22.750000000000000000 75.538526525239475973 456.000000000000000000 22.800000000000000711 75.575833892613275111 457.000000000000000000 22.850000000000001421 75.612954723150210157 458.000000000000000000 22.900000000000002132 75.649889949534454558 459.000000000000000000 22.950000000000002842 75.686640499786776104 460.000000000000000000 23.000000000000000000 75.723207297287842721 461.000000000000000000 23.050000000000000711 75.759591260801400381 462.000000000000000000 23.100000000000001421 75.795793304497394161 463.000000000000000000 23.150000000000002132 75.831814337974904561 464.000000000000000000 23.200000000000002842 75.867655266285026983 465.000000000000000000 23.250000000000000000 75.903316989953594884 466.000000000000000000 23.300000000000000711 75.938800405003831884 467.000000000000000000 23.350000000000001421 75.974106402978819119 468.000000000000000000 23.400000000000002132 76.009235870963919979 469.000000000000000000 23.450000000000002842 76.044189691609105353 470.000000000000000000 23.500000000000000000 76.078968743151065723 471.000000000000000000 23.550000000000000711 76.113573899435309045 472.000000000000000000 23.600000000000001421 76.148006029938130723 473.000000000000000000 23.650000000000002132 76.182265999788441491 474.000000000000000000 23.700000000000002842 76.216354669789495802 475.000000000000000000 23.750000000000000000 76.250272896440549175 476.000000000000000000 23.800000000000000711 76.284021531958345008 477.000000000000000000 23.850000000000001421 76.317601424298558754 478.000000000000000000 23.900000000000002132 76.351013417177071574 479.000000000000000000 23.950000000000002842 76.384258350091187140 480.000000000000000000 24.000000000000000000 76.417337058340734757 481.000000000000000000 24.050000000000000711 76.450250373049030372 482.000000000000000000 24.100000000000001421 76.482999121183780744 483.000000000000000000 24.150000000000002132 76.515584125577859709 484.000000000000000000 24.200000000000002842 76.548006204949970765 485.000000000000000000 24.250000000000000000 76.580266173925224393 486.000000000000000000 24.300000000000000711 76.612364843055601682 487.000000000000000000 24.350000000000001421 76.644303018840318487 488.000000000000000000 24.400000000000002132 76.676081503746118528 489.000000000000000000 24.450000000000002842 76.707701096227381754 490.000000000000000000 24.500000000000000000 76.739162590746246906 491.000000000000000000 24.550000000000000711 76.770466777792520929 492.000000000000000000 24.600000000000001421 76.801614443903559959 493.000000000000000000 24.650000000000002132 76.832606371684036617 494.000000000000000000 24.700000000000002842 76.863443339825622047 495.000000000000000000 24.750000000000000000 76.894126123126497419 496.000000000000000000 24.800000000000000711 76.924655492510865429 497.000000000000000000 24.850000000000001421 76.955032215048305488 498.000000000000000000 24.900000000000002132 76.985257053973057850 499.000000000000000000 24.950000000000002842 77.015330768703194053 500.000000000000000000 25.000000000000000000 77.045254114859673678 501.000000000000000000 25.050000000000000711 77.075027844285372680 502.000000000000000000 25.100000000000001421 77.104652705063941198 503.000000000000000000 25.150000000000002132 77.134129441538618721 504.000000000000000000 25.200000000000002842 77.163458794330921364 505.000000000000000000 25.250000000000000000 77.192641500359272300 506.000000000000000000 25.300000000000000711 77.221678292857475867 507.000000000000000000 25.350000000000001421 77.250569901393191685 508.000000000000000000 25.400000000000002132 77.279317051886224021 509.000000000000000000 25.450000000000002842 77.307920466626796951 510.000000000000000000 25.500000000000000000 77.336380864293658988 511.000000000000000000 25.550000000000000711 77.364698959972187708 512.000000000000000000 25.600000000000001421 77.392875465172323857 513.000000000000000000 25.650000000000002132 77.420911087846462806 514.000000000000000000 25.700000000000002842 77.448806532407232339 515.000000000000000000 25.750000000000000000 77.476562499745199375 516.000000000000000000 25.800000000000000711 77.504179687246477215 517.000000000000000000 25.850000000000001421 77.531658788810247529 518.000000000000000000 25.900000000000002132 77.559000494866197073 519.000000000000000000 25.950000000000002842 77.586205492391869143 520.000000000000000000 26.000000000000000000 77.613274464929915553 521.000000000000000000 26.050000000000000711 77.640208092605263346 522.000000000000000000 26.100000000000001421 77.667007052142238877 523.000000000000000000 26.150000000000002132 77.693672016881521358 524.000000000000000000 26.200000000000002842 77.720203656797110625 525.000000000000000000 26.250000000000000000 77.746602638513124361 526.000000000000000000 26.300000000000000711 77.772869625320552700 527.000000000000000000 26.350000000000001421 77.799005277193955976 528.000000000000000000 26.400000000000002132 77.825010250807991952 529.000000000000000000 26.450000000000002842 77.850885199553957250 530.000000000000000000 26.500000000000000000 77.876630773556186682 531.000000000000000000 26.550000000000000711 77.902247619688409941 532.000000000000000000 26.600000000000001421 77.927736381589966186 533.000000000000000000 26.650000000000002132 77.953097699682018629 534.000000000000000000 26.700000000000002842 77.978332211183612799 535.000000000000000000 26.750000000000000000 78.003440550127692177 536.000000000000000000 26.800000000000000711 78.028423347377056984 537.000000000000000000 26.850000000000001421 78.053281230640166655 538.000000000000000000 26.900000000000002132 78.078014824486970724 539.000000000000000000 26.950000000000002842 78.102624750364540773 540.000000000000000000 27.000000000000000000 78.127111626612716577 541.000000000000000000 27.050000000000000711 78.151476068479652781 542.000000000000000000 27.100000000000001421 78.175718688137251888 543.000000000000000000 27.150000000000002132 78.199840094696568826 544.000000000000000000 27.200000000000002842 78.223840894223087616 545.000000000000000000 27.250000000000000000 78.247721689751969620 546.000000000000000000 27.300000000000000711 78.271483081303216522 547.000000000000000000 27.350000000000001421 78.295125665896705414 548.000000000000000000 27.400000000000002132 78.318650037567223876 549.000000000000000000 27.450000000000002842 78.342056787379391380 550.000000000000000000 27.500000000000000000 78.365346503442495418 551.000000000000000000 27.550000000000000711 78.388519770925285002 552.000000000000000000 27.600000000000001421 78.411577172070664687 553.000000000000000000 27.650000000000002132 78.434519286210317546 554.000000000000000000 27.700000000000002842 78.457346689779271287 555.000000000000000000 27.750000000000000000 78.480059956330379123 556.000000000000000000 27.800000000000000711 78.502659656548729572 557.000000000000000000 27.850000000000001421 78.525146358265985214 558.000000000000000000 27.900000000000002132 78.547520626474650385 559.000000000000000000 27.950000000000002842 78.569783023342282036 560.000000000000000000 28.000000000000000000 78.591934108225572686 561.000000000000000000 28.050000000000000711 78.613974437684447594 562.000000000000000000 28.100000000000001421 78.635904565496019814 563.000000000000000000 28.150000000000002132 78.657725042668545257 564.000000000000000000 28.200000000000002842 78.679436417455207220 565.000000000000000000 28.250000000000000000 78.701039235367929336 566.000000000000000000 28.300000000000000711 78.722534039191089050 567.000000000000000000 28.350000000000001421 78.743921368995131616 568.000000000000000000 28.400000000000002132 78.765201762150155673 569.000000000000000000 28.450000000000002842 78.786375753339399353 570.000000000000000000 28.500000000000000000 78.807443874572697950 571.000000000000000000 28.550000000000000711 78.828406655199827924 572.000000000000000000 28.600000000000001421 78.849264621923822460 573.000000000000000000 28.650000000000002132 78.870018298814201785 574.000000000000000000 28.700000000000002842 78.890668207320132410 575.000000000000000000 28.750000000000000000 78.911214866283529545 576.000000000000000000 28.800000000000000711 78.931658791952116871 577.000000000000000000 28.850000000000001421 78.952000497992358419 578.000000000000000000 28.900000000000002132 78.972240495502390445 579.000000000000000000 28.950000000000002842 78.992379293024882259 580.000000000000000000 29.000000000000000000 79.012417396559754934 581.000000000000000000 29.050000000000000711 79.032355309576956870 582.000000000000000000 29.100000000000001421 79.052193533029068817 583.000000000000000000 29.150000000000002132 79.071932565363923118 584.000000000000000000 29.200000000000002842 79.091572902537109258 585.000000000000000000 29.250000000000000000 79.111115038024422574 586.000000000000000000 29.300000000000000711 79.130559462834298756 587.000000000000000000 29.350000000000001421 79.149906665520120441 588.000000000000000000 29.400000000000002132 79.169157132192523818 589.000000000000000000 29.450000000000002842 79.188311346531563117 590.000000000000000000 29.500000000000000000 79.207369789798903525 591.000000000000000000 29.550000000000000711 79.226332940849914621 592.000000000000000000 29.600000000000001421 79.245201276145664337 593.000000000000000000 29.650000000000002132 79.263975269764941345 594.000000000000000000 29.700000000000002842 79.282655393416121115 595.000000000000000000 29.750000000000000000 79.301242116449046193 596.000000000000000000 29.800000000000000711 79.319735905866807002 597.000000000000000000 29.850000000000001421 79.338137226337480001 598.000000000000000000 29.900000000000002132 79.356446540205794804 599.000000000000000000 29.950000000000002842 79.374664307504772864 600.000000000000000000 30.000000000000000000 79.392790985967252482 601.000000000000000000 30.050000000000000711 79.410827031037413803 602.000000000000000000 30.100000000000001421 79.428772895882232774 603.000000000000000000 30.150000000000002132 79.446629031402821397 604.000000000000000000 30.200000000000002842 79.464395886245810630 605.000000000000000000 30.250000000000000000 79.482073906814576958 606.000000000000000000 30.300000000000000711 79.499663537280497394 607.000000000000000000 30.350000000000001421 79.517165219594090786 608.000000000000000000 30.400000000000002132 79.534579393496116495 609.000000000000000000 30.450000000000002842 79.551906496528630441 610.000000000000000000 30.500000000000000000 79.569146964045984305 611.000000000000000000 30.550000000000000711 79.586301229225753673 612.000000000000000000 30.600000000000001421 79.603369723079623554 613.000000000000000000 30.650000000000002132 79.620352874464231263 614.000000000000000000 30.700000000000002842 79.637251110091909823 615.000000000000000000 30.750000000000000000 79.654064854541445584 616.000000000000000000 30.800000000000000711 79.670794530268736366 617.000000000000000000 30.850000000000001421 79.687440557617392756 618.000000000000000000 30.900000000000002132 79.704003354829310979 619.000000000000000000 30.950000000000002842 79.720483338055160516 620.000000000000000000 31.000000000000000000 79.736880921364885921 621.000000000000000000 31.050000000000000711 79.753196516758066537 622.000000000000000000 31.100000000000001421 79.769430534174276204 623.000000000000000000 31.150000000000002132 79.785583381503400346 624.000000000000000000 31.200000000000002842 79.801655464595881995 625.000000000000000000 31.250000000000000000 79.817647187272896758 626.000000000000000000 31.300000000000000711 79.833558951336527798 627.000000000000000000 31.350000000000001421 79.849391156579841322 628.000000000000000000 31.400000000000002132 79.865144200796947871 629.000000000000000000 31.450000000000002842 79.880818479792964126 630.000000000000000000 31.500000000000000000 79.896414387394003143 631.000000000000000000 31.550000000000000711 79.911932315457036680 632.000000000000000000 31.600000000000001421 79.927372653879757536 633.000000000000000000 31.650000000000002132 79.942735790610356617 634.000000000000000000 31.700000000000002842 79.958022111657300002 635.000000000000000000 31.750000000000000000 79.973232001099006538 636.000000000000000000 31.800000000000000711 79.988365841093511222 637.000000000000000000 31.850000000000001421 80.003424011888043310 638.000000000000000000 31.900000000000002132 80.018406891828604444 639.000000000000000000 31.950000000000002842 80.033314857369461492 640.000000000000000000 32.000000000000000000 80.048148283082610988 641.000000000000000000 32.050000000000004263 80.062907541667200917 642.000000000000000000 32.100000000000001421 80.077593003958867257 643.000000000000000000 32.149999999999998579 80.092205038939070505 644.000000000000000000 32.200000000000002842 80.106744013744375366 645.000000000000000000 32.250000000000000000 80.121210293675659386 646.000000000000000000 32.300000000000004263 80.135604242207278958 647.000000000000000000 32.350000000000001421 80.149926220996249526 648.000000000000000000 32.399999999999998579 80.164176589891269487 649.000000000000000000 32.450000000000002842 80.178355706941815129 650.000000000000000000 32.500000000000000000 80.192463928407107687 651.000000000000000000 32.550000000000004263 80.206501608765066180 652.000000000000000000 32.600000000000001421 80.220469100721246036 653.000000000000000000 32.649999999999998579 80.234366755217635614 654.000000000000000000 32.700000000000002842 80.248194921441552196 655.000000000000000000 32.750000000000000000 80.261953946834339035 656.000000000000000000 32.800000000000004263 80.275644177100161869 657.000000000000000000 32.850000000000001421 80.289265956214663333 658.000000000000000000 32.899999999999998579 80.302819626433588951 659.000000000000000000 32.950000000000002842 80.316305528301427330 660.000000000000000000 33.000000000000000000 80.329724000659922467 661.000000000000000000 33.050000000000004263 80.343075380656628681 662.000000000000000000 33.100000000000001421 80.356360003753351862 663.000000000000000000 33.149999999999998579 80.369578203734590716 664.000000000000000000 33.200000000000002842 80.382730312715921173 665.000000000000000000 33.250000000000000000 80.395816661152338156 666.000000000000000000 33.300000000000004263 80.408837577846583144 667.000000000000000000 33.350000000000001421 80.421793389957343834 668.000000000000000000 33.399999999999998579 80.434684423007553278 669.000000000000000000 33.450000000000002842 80.447511000892518496 670.000000000000000000 33.500000000000000000 80.460273445888049082 671.000000000000000000 33.550000000000004263 80.472972078658614237 672.000000000000000000 33.600000000000001421 80.485607218265315055 673.000000000000000000 33.649999999999998579 80.498179182173984714 674.000000000000000000 33.700000000000002842 80.510688286263118130 675.000000000000000000 33.750000000000000000 80.523134844831801615 676.000000000000000000 33.800000000000004263 80.535519170607642536 677.000000000000000000 33.850000000000001421 80.547841574754599492 678.000000000000000000 33.899999999999998579 80.560102366880826708 679.000000000000000000 33.950000000000002842 80.572301855046418950 680.000000000000000000 34.000000000000000000 80.584440345771184866 681.000000000000000000 34.050000000000004263 80.596518144042335052 682.000000000000000000 34.100000000000001421 80.608535553322127498 683.000000000000000000 34.149999999999998579 80.620492875555513024 684.000000000000000000 34.200000000000002842 80.632390411177738088 685.000000000000000000 34.250000000000000000 80.644228459121848118 686.000000000000000000 34.300000000000004263 80.656007316826233478 687.000000000000000000 34.350000000000001421 80.667727280242104371 688.000000000000000000 34.399999999999998579 80.679388643840894701 689.000000000000000000 34.450000000000002842 80.690991700621694349 690.000000000000000000 34.500000000000000000 80.702536742118581969 691.000000000000000000 34.550000000000004263 80.714024058407986217 692.000000000000000000 34.600000000000001421 80.725453938115947494 693.000000000000000000 34.649999999999998579 80.736826668425365483 694.000000000000000000 34.700000000000002842 80.748142535083232474 695.000000000000000000 34.750000000000000000 80.759401822407809846 696.000000000000000000 34.800000000000004263 80.770604813295776125 697.000000000000000000 34.850000000000001421 80.781751789229303995 698.000000000000000000 34.899999999999998579 80.792843030283151506 699.000000000000000000 34.950000000000002842 80.803878815131739088 700.000000000000000000 35.000000000000000000 80.814859421056084443 701.000000000000000000 35.050000000000004263 80.825785123950808497 702.000000000000000000 35.100000000000001421 80.836656198331056089 703.000000000000000000 35.149999999999998579 80.847472917339402443 704.000000000000000000 35.200000000000002842 80.858235552752702802 705.000000000000000000 35.250000000000000000 80.868944374988942059 706.000000000000000000 35.300000000000004263 80.879599653113999125 707.000000000000000000 35.350000000000001421 80.890201654848425505 708.000000000000000000 35.399999999999998579 80.900750646574181246 709.000000000000000000 35.450000000000002842 80.911246893341314035 710.000000000000000000 35.500000000000000000 80.921690658874609881 711.000000000000000000 35.550000000000004263 80.932082205580243794 712.000000000000000000 35.600000000000001421 80.942421794552345204 713.000000000000000000 35.649999999999998579 80.952709685579577581 714.000000000000000000 35.700000000000002842 80.962946137151675430 715.000000000000000000 35.750000000000000000 80.973131406465910231 716.000000000000000000 35.800000000000004263 80.983265749433584801 717.000000000000000000 35.850000000000001421 80.993349420686413964 718.000000000000000000 35.899999999999998579 81.003382673582976281 719.000000000000000000 35.950000000000002842 81.013365760215066302 720.000000000000000000 36.000000000000000000 81.023298931413989976 721.000000000000000000 36.050000000000004263 81.033182436756916900 722.000000000000000000 36.100000000000001421 81.043016524573133097 723.000000000000000000 36.149999999999998579 81.052801441950265371 724.000000000000000000 36.200000000000002842 81.062537434740519871 725.000000000000000000 36.250000000000000000 81.072224747566821179 726.000000000000000000 36.300000000000004263 81.081863623828994037 727.000000000000000000 36.350000000000001421 81.091454305709845585 728.000000000000000000 36.399999999999998579 81.100997034181290246 729.000000000000000000 36.450000000000002842 81.110492049010389337 730.000000000000000000 36.500000000000000000 81.119939588765333838 731.000000000000000000 36.550000000000004263 81.129339890821512427 732.000000000000000000 36.600000000000001421 81.138693191367408986 733.000000000000000000 36.649999999999998579 81.147999725410571159 734.000000000000000000 36.700000000000002842 81.157259726783522069 735.000000000000000000 36.750000000000000000 81.166473428149600977 736.000000000000000000 36.800000000000004263 81.175641061008846577 737.000000000000000000 36.850000000000001421 81.184762855703809237 738.000000000000000000 36.899999999999998579 81.193839041425292180 739.000000000000000000 36.950000000000002842 81.202869846218163730 740.000000000000000000 37.000000000000000000 81.211855496987070069 741.000000000000000000 37.050000000000004263 81.220796219502133795 742.000000000000000000 37.100000000000001421 81.229692238404624050 743.000000000000000000 37.149999999999998579 81.238543777212598229 744.000000000000000000 37.200000000000002842 81.247351058326529483 745.000000000000000000 37.250000000000000000 81.256114303034891577 746.000000000000000000 37.300000000000004263 81.264833731519715343 747.000000000000000000 37.350000000000001421 81.273509562862116695 748.000000000000000000 37.399999999999998579 81.282142015047810446 749.000000000000000000 37.450000000000002842 81.290731304972567273 750.000000000000000000 37.500000000000000000 81.299277648447699107 751.000000000000000000 37.550000000000004263 81.307781260205459262 752.000000000000000000 37.600000000000001421 81.316242353904428342 753.000000000000000000 37.649999999999998579 81.324661142134900160 754.000000000000000000 37.700000000000002842 81.333037836424225020 755.000000000000000000 37.750000000000000000 81.341372647242110361 756.000000000000000000 37.800000000000004263 81.349665784005892988 757.000000000000000000 37.850000000000001421 81.357917455085868141 758.000000000000000000 37.899999999999998579 81.366127867810433827 759.000000000000000000 37.950000000000002842 81.374297228471377252 760.000000000000000000 38.000000000000000000 81.382425742329019158 761.000000000000000000 38.050000000000004263 81.390513613617372357 762.000000000000000000 38.100000000000001421 81.398561045549286064 763.000000000000000000 38.149999999999998579 81.406568240321533381 764.000000000000000000 38.200000000000002842 81.414535399119927206 765.000000000000000000 38.250000000000000000 81.422462722124322454 766.000000000000000000 38.300000000000004263 81.430350408513703542 767.000000000000000000 38.350000000000001421 81.438198656471129766 768.000000000000000000 38.400000000000005684 81.446007663188780157 769.000000000000000000 38.450000000000002842 81.453777624872842011 770.000000000000000000 38.500000000000000000 81.461508736748484694 771.000000000000000000 38.550000000000004263 81.469201193064748168 772.000000000000000000 38.600000000000001421 81.476855187099431532 773.000000000000000000 38.650000000000005684 81.484470911163938922 774.000000000000000000 38.700000000000002842 81.492048556608125409 775.000000000000000000 38.750000000000000000 81.499588313825086061 776.000000000000000000 38.800000000000004263 81.507090372255959210 777.000000000000000000 38.850000000000001421 81.514554920394672877 778.000000000000000000 38.900000000000005684 81.521982145792705410 779.000000000000000000 38.950000000000002842 81.529372235063746643 780.000000000000000000 39.000000000000000000 81.536725373888430113 781.000000000000000000 39.050000000000004263 81.544041747018994215 782.000000000000000000 39.100000000000001421 81.551321538283900736 783.000000000000000000 39.150000000000005684 81.558564930592481801 784.000000000000000000 39.200000000000002842 81.565772105939515768 785.000000000000000000 39.250000000000000000 81.572943245409817337 786.000000000000000000 39.300000000000004263 81.580078529182770808 787.000000000000000000 39.350000000000001421 81.587178136536863349 788.000000000000000000 39.400000000000005684 81.594242245854175621 789.000000000000000000 39.450000000000002842 81.601271034624900835 790.000000000000000000 39.500000000000000000 81.608264679451778534 791.000000000000000000 39.550000000000004263 81.615223356054514170 792.000000000000000000 39.600000000000001421 81.622147239274241315 793.000000000000000000 39.650000000000005684 81.629036503077870179 794.000000000000000000 39.700000000000002842 81.635891320562478768 795.000000000000000000 39.750000000000000000 81.642711863959661400 796.000000000000000000 39.800000000000004263 81.649498304639863022 797.000000000000000000 39.850000000000001421 81.656250813116656673 798.000000000000000000 39.900000000000005684 81.662969559051077795 799.000000000000000000 39.950000000000002842 81.669654711255816437 800.000000000000000000 40.000000000000000000 81.676306437699537355 801.000000000000000000 40.050000000000004263 81.682924905511043789 802.000000000000000000 40.100000000000001421 81.689510280983483881 803.000000000000000000 40.150000000000005684 81.696062729578571293 804.000000000000000000 40.200000000000002842 81.702582415930677939 805.000000000000000000 40.250000000000000000 81.709069503851026184 806.000000000000000000 40.300000000000004263 81.715524156331767358 807.000000000000000000 40.350000000000001421 81.721946535550102908 808.000000000000000000 40.400000000000005684 81.728336802872348699 809.000000000000000000 40.450000000000002842 81.734695118857985108 810.000000000000000000 40.500000000000000000 81.741021643263692908 811.000000000000000000 40.550000000000004263 81.747316535047374941 812.000000000000000000 40.600000000000001421 81.753579952372135153 813.000000000000000000 40.650000000000005684 81.759812052610271849 814.000000000000000000 40.700000000000002842 81.766012992347214094 815.000000000000000000 40.750000000000000000 81.772182927385472340 816.000000000000000000 40.800000000000004263 81.778322012748546399 817.000000000000000000 40.850000000000001421 81.784430402684805017 818.000000000000000000 40.900000000000005684 81.790508250671379642 819.000000000000000000 40.950000000000002842 81.796555709418029778 820.000000000000000000 41.000000000000000000 81.802572930870937284 821.000000000000000000 41.050000000000004263 81.808560066216585938 822.000000000000000000 41.100000000000001421 81.814517265885498887 823.000000000000000000 41.150000000000005684 81.820444679556075585 824.000000000000000000 41.200000000000002842 81.826342456158300820 825.000000000000000000 41.250000000000000000 81.832210743877510595 826.000000000000000000 41.300000000000004263 81.838049690158129579 827.000000000000000000 41.350000000000001421 81.843859441707337510 828.000000000000000000 41.400000000000005684 81.849640144498806649 829.000000000000000000 41.450000000000002842 81.855391943776311336 830.000000000000000000 41.500000000000000000 81.861114984057422816 831.000000000000000000 41.550000000000004263 81.866809409137133002 832.000000000000000000 41.600000000000001421 81.872475362091449824 833.000000000000000000 41.650000000000005684 81.878112985280992575 834.000000000000000000 41.700000000000002842 81.883722420354587257 835.000000000000000000 41.750000000000000000 81.889303808252819294 836.000000000000000000 41.800000000000004263 81.894857289211557827 837.000000000000000000 41.850000000000001421 81.900383002765494211 838.000000000000000000 41.900000000000005684 81.905881087751666314 839.000000000000000000 41.950000000000002842 81.911351682312911748 840.000000000000000000 42.000000000000000000 81.916794923901349534 841.000000000000000000 42.050000000000004263 81.922210949281847547 842.000000000000000000 42.100000000000001421 81.927599894535433123 843.000000000000000000 42.150000000000005684 81.932961895062760505 844.000000000000000000 42.200000000000002842 81.938297085587450397 845.000000000000000000 42.250000000000000000 81.943605600159514779 846.000000000000000000 42.300000000000004263 81.948887572158710668 847.000000000000000000 42.350000000000001421 81.954143134297922302 848.000000000000000000 42.400000000000005684 81.959372418626429635 849.000000000000000000 42.450000000000002842 81.964575556533290523 850.000000000000000000 42.500000000000000000 81.969752678750623431 851.000000000000000000 42.550000000000004263 81.974903915356875928 852.000000000000000000 42.600000000000001421 81.980029395780093182 853.000000000000000000 42.650000000000005684 81.985129248801186463 854.000000000000000000 42.700000000000002842 81.990203602557187423 855.000000000000000000 42.750000000000000000 81.995252584544402907 856.000000000000000000 42.800000000000004263 82.000276321621683451 857.000000000000000000 42.850000000000001421 82.005274940013578089 858.000000000000000000 42.900000000000005684 82.010248565313503377 859.000000000000000000 42.950000000000002842 82.015197322486940834 860.000000000000000000 43.000000000000000000 82.020121335874506485 861.000000000000000000 43.050000000000004263 82.025020729195134095 862.000000000000000000 43.100000000000001421 82.029895625549158922 863.000000000000000000 43.150000000000005684 82.034746147421415685 864.000000000000000000 43.200000000000002842 82.039572416684308109 865.000000000000000000 43.250000000000000000 82.044374554600892679 866.000000000000000000 43.300000000000004263 82.049152681827891342 867.000000000000000000 43.350000000000001421 82.053906918418746841 868.000000000000000000 43.400000000000005684 82.058637383826649625 869.000000000000000000 43.450000000000002842 82.063344196907522132 870.000000000000000000 43.500000000000000000 82.068027475922988856 871.000000000000000000 43.550000000000004263 82.072687338543374835 872.000000000000000000 43.600000000000001421 82.077323901850661514 873.000000000000000000 43.650000000000005684 82.081937282341414175 874.000000000000000000 43.700000000000002842 82.086527595929709378 875.000000000000000000 43.750000000000000000 82.091094957950062394 876.000000000000000000 43.800000000000004263 82.095639483160312011 877.000000000000000000 43.850000000000001421 82.100161285744505335 878.000000000000000000 43.900000000000005684 82.104660479315782595 879.000000000000000000 43.950000000000002842 82.109137176919205103 880.000000000000000000 44.000000000000000000 82.113591491034611636 881.000000000000000000 44.050000000000004263 82.118023533579432183 882.000000000000000000 44.100000000000001421 82.122433415911530119 883.000000000000000000 44.150000000000005684 82.126821248831973321 884.000000000000000000 44.200000000000002842 82.131187142587819494 885.000000000000000000 44.250000000000000000 82.135531206874887289 886.000000000000000000 44.300000000000004263 82.139853550840513208 887.000000000000000000 44.350000000000001421 82.144154283086308510 888.000000000000000000 44.400000000000005684 82.148433511670873486 889.000000000000000000 44.450000000000002842 82.152691344112525940 890.000000000000000000 44.500000000000000000 82.156927887391958620 891.000000000000000000 44.550000000000004263 82.161143247954996127 892.000000000000000000 44.600000000000001421 82.165337531715223918 893.000000000000000000 44.650000000000005684 82.169510844056645738 894.000000000000000000 44.700000000000002842 82.173663289836369472 895.000000000000000000 44.750000000000000000 82.177794973387193522 896.000000000000000000 44.800000000000004263 82.181905998520264234 897.000000000000000000 44.850000000000001421 82.185996468527662273 898.000000000000000000 44.900000000000005684 82.190066486185017425 899.000000000000000000 44.950000000000002842 82.194116153754094967 900.000000000000000000 45.000000000000000000 82.198145572985325202 901.000000000000000000 45.050000000000004263 82.202154845120404048 902.000000000000000000 45.100000000000001421 82.206144070894808351 903.000000000000000000 45.150000000000005684 82.210113350540339638 904.000000000000000000 45.200000000000002842 82.214062783787639432 905.000000000000000000 45.250000000000000000 82.217992469868704575 906.000000000000000000 45.300000000000004263 82.221902507519359915 907.000000000000000000 45.350000000000001421 82.225792994981759421 908.000000000000000000 45.400000000000005684 82.229664030006844655 909.000000000000000000 45.450000000000002842 82.233515709856817466 910.000000000000000000 45.500000000000000000 82.237348131307527410 911.000000000000000000 45.550000000000004263 82.241161390650987073 912.000000000000000000 45.600000000000001421 82.244955583697731072 913.000000000000000000 45.650000000000005684 82.248730805779246111 914.000000000000000000 45.700000000000002842 82.252487151750344196 915.000000000000000000 45.750000000000000000 82.256224715991592689 916.000000000000000000 45.800000000000004263 82.259943592411630675 917.000000000000000000 45.850000000000001421 82.263643874449570603 918.000000000000000000 45.900000000000005684 82.267325655077328861 919.000000000000000000 45.950000000000002842 82.270989026801942146 920.000000000000000000 46.000000000000000000 82.274634081667926466 921.000000000000000000 46.050000000000004263 82.278260911259593513 922.000000000000000000 46.100000000000001421 82.281869606703295972 923.000000000000000000 46.150000000000005684 82.285460258669786526 924.000000000000000000 46.200000000000002842 82.289032957376434751 925.000000000000000000 46.250000000000000000 82.292587792589557694 926.000000000000000000 46.300000000000004263 82.296124853626608342 927.000000000000000000 46.350000000000001421 82.299644229358477787 928.000000000000000000 46.400000000000005684 82.303146008211683693 929.000000000000000000 46.450000000000002842 82.306630278170629822 930.000000000000000000 46.500000000000000000 82.310097126779780297 931.000000000000000000 46.550000000000004263 82.313546641145876492 932.000000000000000000 46.600000000000001421 82.316978907940153931 933.000000000000000000 46.650000000000005684 82.320394013400459698 934.000000000000000000 46.700000000000002842 82.323792043333455126 935.000000000000000000 46.750000000000000000 82.327173083116790053 936.000000000000000000 46.800000000000004263 82.330537217701206032 937.000000000000000000 46.850000000000001421 82.333884531612696378 938.000000000000000000 46.900000000000005684 82.337215108954637799 939.000000000000000000 46.950000000000002842 82.340529033409865178 940.000000000000000000 47.000000000000000000 82.343826388242817416 941.000000000000000000 47.050000000000004263 82.347107256301597999 942.000000000000000000 47.100000000000001421 82.350371720020092425 943.000000000000000000 47.150000000000005684 82.353619861419986137 944.000000000000000000 47.200000000000002842 82.356851762112881943 945.000000000000000000 47.250000000000000000 82.360067503302317959 946.000000000000000000 47.300000000000004263 82.363267165785799762 947.000000000000000000 47.350000000000001421 82.366450829956875168 948.000000000000000000 47.400000000000005684 82.369618575807095340 949.000000000000000000 47.450000000000002842 82.372770482928061142 950.000000000000000000 47.500000000000000000 82.375906630513426876 951.000000000000000000 47.550000000000004263 82.379027097360861376 952.000000000000000000 47.600000000000001421 82.382131961874051740 953.000000000000000000 47.650000000000005684 82.385221302064678639 954.000000000000000000 47.700000000000002842 82.388295195554348993 955.000000000000000000 47.750000000000000000 82.391353719576571280 956.000000000000000000 47.800000000000004263 82.394396950978688210 957.000000000000000000 47.850000000000001421 82.397424966223795195 958.000000000000000000 47.900000000000005684 82.400437841392673022 959.000000000000000000 47.950000000000002842 82.403435652185706317 960.000000000000000000 48.000000000000000000 82.406418473924773593 961.000000000000000000 48.050000000000004263 82.409386381555151502 962.000000000000000000 48.100000000000001421 82.412339449647376455 963.000000000000000000 48.150000000000005684 82.415277752399134670 964.000000000000000000 48.200000000000002842 82.418201363637138002 965.000000000000000000 48.250000000000000000 82.421110356818957143 966.000000000000000000 48.300000000000004263 82.424004805034869037 967.000000000000000000 48.350000000000001421 82.426884781009690073 968.000000000000000000 48.400000000000005684 82.429750357104637715 969.000000000000000000 48.450000000000002842 82.432601605319121063 970.000000000000000000 48.500000000000000000 82.435438597292531426 971.000000000000000000 48.550000000000004263 82.438261404306075519 972.000000000000000000 48.600000000000001421 82.441070097284551821 973.000000000000000000 48.650000000000005684 82.443864746798126930 974.000000000000000000 48.700000000000002842 82.446645423064140346 975.000000000000000000 48.750000000000000000 82.449412195948823978 976.000000000000000000 48.800000000000004263 82.452165134969078508 977.000000000000000000 48.850000000000001421 82.454904309294235532 978.000000000000000000 48.900000000000005684 82.457629787747762862 979.000000000000000000 48.950000000000002842 82.460341638809026676 980.000000000000000000 49.000000000000000000 82.463039930614982609 981.000000000000000000 49.050000000000004263 82.465724730961909472 982.000000000000000000 49.100000000000001421 82.468396107307100351 983.000000000000000000 49.150000000000005684 82.471054126770567905 984.000000000000000000 49.200000000000002842 82.473698856136721247 985.000000000000000000 49.250000000000000000 82.476330361856042828 986.000000000000000000 49.300000000000004263 82.478948710046765314 987.000000000000000000 49.350000000000001421 82.481553966496534258 988.000000000000000000 49.400000000000005684 82.484146196664056561 989.000000000000000000 49.450000000000002842 82.486725465680734715 990.000000000000000000 49.500000000000000000 82.489291838352329478 991.000000000000000000 49.550000000000004263 82.491845379160565699 992.000000000000000000 49.600000000000001421 82.494386152264766565 993.000000000000000000 49.650000000000005684 82.496914221503445219 994.000000000000000000 49.700000000000002842 82.499429650395924796 995.000000000000000000 49.750000000000000000 82.501932502143944248 996.000000000000000000 49.800000000000004263 82.504422839633221542 997.000000000000000000 49.850000000000001421 82.506900725435059485 998.000000000000000000 49.900000000000005684 82.509366221807880493 999.000000000000000000 49.950000000000002842 82.511819390698846632 1000.000000000000000000 50.000000000000000000 82.514260293745351760 1001.000000000000000000 50.050000000000004263 82.516688992276627346 1002.000000000000000000 50.100000000000001421 82.519105547315248828 1003.000000000000000000 50.150000000000005684 82.521510019578670381 1004.000000000000000000 50.200000000000002842 82.523902469480773902 1005.000000000000000000 50.250000000000000000 82.526282957133375362 1006.000000000000000000 50.300000000000004263 82.528651542347702730 1007.000000000000000000 50.350000000000001421 82.531008284635959171 1008.000000000000000000 50.400000000000005684 82.533353243212772554 1009.000000000000000000 50.450000000000002842 82.535686476996701799 1010.000000000000000000 50.500000000000000000 82.538008044611714809 1011.000000000000000000 50.550000000000004263 82.540318004388652184 1012.000000000000000000 50.600000000000001421 82.542616414366705158 1013.000000000000000000 50.650000000000005684 82.544903332294865095 1014.000000000000000000 50.700000000000002842 82.547178815633387217 1015.000000000000000000 50.750000000000000000 82.549442921555225894 1016.000000000000000000 50.800000000000004263 82.551695706947455733 1017.000000000000000000 50.850000000000001421 82.553937228412721083 1018.000000000000000000 50.900000000000005684 82.556167542270657123 1019.000000000000000000 50.950000000000002842 82.558386704559296732 1020.000000000000000000 51.000000000000000000 82.560594771036505790 1021.000000000000000000 51.050000000000004263 82.562791797181318998 1022.000000000000000000 51.100000000000001421 82.564977838195417803 1023.000000000000000000 51.150000000000005684 82.567152949004437801 1024.000000000000000000 51.200000000000002842 82.569317184259418241 1025.000000000000000000 51.250000000000000000 82.571470598338123636 1026.000000000000000000 51.300000000000004263 82.573613245346436429 1027.000000000000000000 51.350000000000001421 82.575745179119707018 1028.000000000000000000 51.400000000000005684 82.577866453224103793 1029.000000000000000000 51.450000000000002842 82.579977120957977377 1030.000000000000000000 51.500000000000000000 82.582077235353182232 1031.000000000000000000 51.550000000000004263 82.584166849176412484 1032.000000000000000000 51.600000000000001421 82.586246014930523529 1033.000000000000000000 51.650000000000005684 82.588314784855867856 1034.000000000000000000 51.700000000000002842 82.590373210931588233 1035.000000000000000000 51.750000000000000000 82.592421344876925104 1036.000000000000000000 51.800000000000004263 82.594459238152538205 1037.000000000000000000 51.850000000000001421 82.596486941961771322 1038.000000000000000000 51.900000000000005684 82.598504507251959694 1039.000000000000000000 51.950000000000002842 82.600511984715694780 1040.000000000000000000 52.000000000000000000 82.602509424792117443 1041.000000000000000000 52.050000000000004263 82.604496877668154298 1042.000000000000000000 52.100000000000001421 82.606474393279810897 1043.000000000000000000 52.150000000000005684 82.608442021313408077 1044.000000000000000000 52.200000000000002842 82.610399811206846721 1045.000000000000000000 52.250000000000000000 82.612347812150815685 1046.000000000000000000 52.300000000000004263 82.614286073090056561 1047.000000000000000000 52.350000000000001421 82.616214642724600026 1048.000000000000000000 52.400000000000005684 82.618133569510973757 1049.000000000000000000 52.450000000000002842 82.620042901663424573 1050.000000000000000000 52.500000000000000000 82.621942687155112139 1051.000000000000000000 52.550000000000004263 82.623832973719331108 1052.000000000000000000 52.600000000000001421 82.625713808850733244 1053.000000000000000000 52.650000000000005684 82.627585239806478512 1054.000000000000000000 52.700000000000002842 82.629447313607442993 1055.000000000000000000 52.750000000000000000 82.631300077039412599 1056.000000000000000000 52.800000000000004263 82.633143576654219942 1057.000000000000000000 52.850000000000001421 82.634977858770952253 1058.000000000000000000 52.900000000000005684 82.636802969477102465 1059.000000000000000000 52.950000000000002842 82.638618954629720292 1060.000000000000000000 53.000000000000000000 82.640425859856577517 1061.000000000000000000 53.050000000000004263 82.642223730557290651 1062.000000000000000000 53.100000000000001421 82.644012611904500432 1063.000000000000000000 53.150000000000005684 82.645792548844980274 1064.000000000000000000 53.200000000000002842 82.647563586100758926 1065.000000000000000000 53.250000000000000000 82.649325768170257334 1066.000000000000000000 53.300000000000004263 82.651079139329411305 1067.000000000000000000 53.350000000000001421 82.652823743632765741 1068.000000000000000000 53.400000000000005684 82.654559624914597293 1069.000000000000000000 53.450000000000002842 82.656286826790022815 1070.000000000000000000 53.500000000000000000 82.658005392656079380 1071.000000000000000000 53.550000000000004263 82.659715365692804312 1072.000000000000000000 53.600000000000001421 82.661416788864343630 1073.000000000000000000 53.650000000000005684 82.663109704920017862 1074.000000000000000000 53.700000000000002842 82.664794156395416280 1075.000000000000000000 53.750000000000000000 82.666470185613434296 1076.000000000000000000 53.800000000000004263 82.668137834685367693 1077.000000000000000000 53.850000000000001421 82.669797145511935810 1078.000000000000000000 53.900000000000005684 82.671448159784375775 1079.000000000000000000 53.950000000000002842 82.673090918985451481 1080.000000000000000000 54.000000000000000000 82.674725464390519392 1081.000000000000000000 54.050000000000004263 82.676351837068565942 1082.000000000000000000 54.100000000000001421 82.677970077883216504 1083.000000000000000000 54.150000000000005684 82.679580227493801203 1084.000000000000000000 54.200000000000002842 82.681182326356335466 1085.000000000000000000 54.250000000000000000 82.682776414724557412 1086.000000000000000000 54.300000000000004263 82.684362532650936828 1087.000000000000000000 54.350000000000001421 82.685940719987684133 1088.000000000000000000 54.400000000000005684 82.687511016387745144 1089.000000000000000000 54.450000000000002842 82.689073461305810042 1090.000000000000000000 54.500000000000000000 82.690628093999279713 1091.000000000000000000 54.550000000000004263 82.692174953529288928 1092.000000000000000000 54.600000000000001421 82.693714078761644259 1093.000000000000000000 54.650000000000005684 82.695245508367833054 1094.000000000000000000 54.700000000000002842 82.696769280825989767 1095.000000000000000000 54.750000000000000000 82.698285434421862305 1096.000000000000000000 54.800000000000004263 82.699794007249749939 1097.000000000000000000 54.850000000000001421 82.701295037213498063 1098.000000000000000000 54.900000000000005684 82.702788562027436114 1099.000000000000000000 54.950000000000002842 82.704274619217301279 1100.000000000000000000 55.000000000000000000 82.705753246121219036 1101.000000000000000000 55.050000000000004263 82.707224479890612656 1102.000000000000000000 55.100000000000001421 82.708688357491155330 1103.000000000000000000 55.150000000000005684 82.710144915703693869 1104.000000000000000000 55.200000000000002842 82.711594191125172415 1105.000000000000000000 55.250000000000000000 82.713036220169541934 1106.000000000000000000 55.300000000000004263 82.714471039068698133 1107.000000000000000000 55.350000000000001421 82.715898683873348318 1108.000000000000000000 55.400000000000005684 82.717319190453977740 1109.000000000000000000 55.450000000000002842 82.718732594501702238 1110.000000000000000000 55.500000000000000000 82.720138931529191950 1111.000000000000000000 55.550000000000004263 82.721538236871552385 1112.000000000000000000 55.600000000000001421 82.722930545687191284 1113.000000000000000000 55.650000000000005684 82.724315892958756535 1114.000000000000000000 55.700000000000002842 82.725694313493960408 1115.000000000000000000 55.750000000000000000 82.727065841926489043 1116.000000000000000000 55.800000000000004263 82.728430512716855105 1117.000000000000000000 55.850000000000001421 82.729788360153264648 1118.000000000000000000 55.900000000000005684 82.731139418352498183 1119.000000000000000000 55.950000000000002842 82.732483721260734910 1120.000000000000000000 56.000000000000000000 82.733821302654433794 1121.000000000000000000 56.050000000000004263 82.735152196141157788 1122.000000000000000000 56.100000000000001421 82.736476435160454912 1123.000000000000000000 56.150000000000005684 82.737794052984654058 1124.000000000000000000 56.200000000000002842 82.739105082719731854 1125.000000000000000000 56.250000000000000000 82.740409557306136890 1126.000000000000000000 56.300000000000004263 82.741707509519599739 1127.000000000000000000 56.350000000000001421 82.742998971971999822 1128.000000000000000000 56.400000000000005684 82.744283977112132789 1129.000000000000000000 56.450000000000002842 82.745562557226577383 1130.000000000000000000 56.500000000000000000 82.746834744440448617 1131.000000000000000000 56.550000000000004263 82.748100570718250424 1132.000000000000000000 56.600000000000001421 82.749360067864657253 1133.000000000000000000 56.650000000000005684 82.750613267525338301 1134.000000000000000000 56.700000000000002842 82.751860201187710686 1135.000000000000000000 56.750000000000000000 82.753100900181777888 1136.000000000000000000 56.800000000000004263 82.754335395680868714 1137.000000000000000000 56.850000000000001421 82.755563718702461529 1138.000000000000000000 56.900000000000005684 82.756785900108951637 1139.000000000000000000 56.950000000000002842 82.758001970608404463 1140.000000000000000000 57.000000000000000000 82.759211960755365567 1141.000000000000000000 57.050000000000004263 82.760415900951585400 1142.000000000000000000 57.100000000000001421 82.761613821446829320 1143.000000000000000000 57.150000000000005684 82.762805752339588139 1144.000000000000000000 57.200000000000002842 82.763991723577888138 1145.000000000000000000 57.250000000000000000 82.765171764960001610 1146.000000000000000000 57.300000000000004263 82.766345906135200039 1147.000000000000000000 57.350000000000001421 82.767514176604521481 1148.000000000000000000 57.400000000000005684 82.768676605721495321 1149.000000000000000000 57.450000000000002842 82.769833222692881236 1150.000000000000000000 57.500000000000000000 82.770984056579422372 1151.000000000000000000 57.550000000000004263 82.772129136296527463 1152.000000000000000000 57.600000000000001421 82.773268490615038218 1153.000000000000000000 57.650000000000005684 82.774402148161968285 1154.000000000000000000 57.700000000000002842 82.775530137421156951 1155.000000000000000000 57.750000000000000000 82.776652486734050740 1156.000000000000000000 57.800000000000004263 82.777769224300385531 1157.000000000000000000 57.850000000000001421 82.778880378178882893 1158.000000000000000000 57.900000000000005684 82.779985976287989047 1159.000000000000000000 57.950000000000002842 82.781086046406542778 1160.000000000000000000 58.000000000000000000 82.782180616174514398 1161.000000000000000000 58.050000000000004263 82.783269713093645237 1162.000000000000000000 58.100000000000001421 82.784353364528172392 1163.000000000000000000 58.150000000000005684 82.785431597705525064 1164.000000000000000000 58.200000000000002842 82.786504439716992465 1165.000000000000000000 58.250000000000000000 82.787571917518405940 1166.000000000000000000 58.300000000000004263 82.788634057930806875 1167.000000000000000000 58.350000000000001421 82.789690887641157246 1168.000000000000000000 58.400000000000005684 82.790742433202950679 1169.000000000000000000 58.450000000000002842 82.791788721036937204 1170.000000000000000000 58.500000000000000000 82.792829777431748539 1171.000000000000000000 58.550000000000004263 82.793865628544594415 1172.000000000000000000 58.600000000000001421 82.794896300401873646 1173.000000000000000000 58.650000000000005684 82.795921818899870459 1174.000000000000000000 58.700000000000002842 82.796942209805365565 1175.000000000000000000 58.750000000000000000 82.797957498756332484 1176.000000000000000000 58.800000000000004263 82.798967711262548619 1177.000000000000000000 58.850000000000001421 82.799972872706234739 1178.000000000000000000 58.900000000000005684 82.800973008342708681 1179.000000000000000000 58.950000000000002842 82.801968143300996417 1180.000000000000000000 59.000000000000000000 82.802958302584485750 1181.000000000000000000 59.050000000000004263 82.803943511071565808 1182.000000000000000000 59.100000000000001421 82.804923793516209685 1183.000000000000000000 59.150000000000005684 82.805899174548628139 1184.000000000000000000 59.200000000000002842 82.806869678675880664 1185.000000000000000000 59.250000000000000000 82.807835330282500763 1186.000000000000000000 59.300000000000004263 82.808796153631092807 1187.000000000000000000 59.350000000000001421 82.809752172862943098 1188.000000000000000000 59.400000000000005684 82.810703411998630941 1189.000000000000000000 59.450000000000002842 82.811649894938639704 1190.000000000000000000 59.500000000000000000 82.812591645463939471 1191.000000000000000000 59.550000000000004263 82.813528687236626524 1192.000000000000000000 59.600000000000001421 82.814461043800449147 1193.000000000000000000 59.650000000000005684 82.815388738581447114 1194.000000000000000000 59.700000000000002842 82.816311794888534337 1195.000000000000000000 59.750000000000000000 82.817230235914095715 1196.000000000000000000 59.800000000000004263 82.818144084734527155 1197.000000000000000000 59.850000000000001421 82.819053364310860843 1198.000000000000000000 59.900000000000005684 82.819958097489305260 1199.000000000000000000 59.950000000000002842 82.820858307001856247 1200.000000000000000000 60.000000000000000000 82.821754015466851229

Let's try plotting the results. We first need to import the required libraries and methods

%matplotlib inline import numpy as np from matplotlib import pyplot

Next, we create numpy arrays to store the (x,y) values

my_time = np.zeros(nsteps) my_temp = np.zeros(nsteps)

We have to re write the loop to store the values in the arrays. Remember that numpy arrays start from 0.

T = T0 my_temp[0] = T0 for i in range(1,nsteps): T = T - r*(T-Ts)*dt my_time[i] = i*dt my_temp[i] = T
pyplot.plot(my_time, my_temp, color='#003366', ls='-', lw=3) pyplot.xlabel('time') pyplot.ylabel('temperature');
Image in a Jupyter notebook

We could have saved effort by defining

my_time = np.linspace(0.,tmax,nsteps)
pyplot.plot(my_time, my_temp, color='#003366', ls='-', lw=3) pyplot.xlabel('time') pyplot.ylabel('temperature');
Image in a Jupyter notebook

Alternatively, and in order to re use code in future problems, we could have created a function.

def euler(y, f, dx): """Computes y_new = y + f*dx Parameters ---------- y : float old value of y_n at x_n f : float first derivative f(x,y) evaluated at (x_n,y_n) dx : float x step """ return y + f*dx
T = T0 for i in range(1,nsteps): T = euler(T, -r*(T-Ts), dt) my_temp[i] = T

Actually, for this particularly simple case, calling a function may introduce unecessary overhead, but it is a an example that we will find useful for future applications. For a simple function like this we could have used a "lambda" function (more about lambda functions here).

euler = lambda y, f, dx: y + f*dx

Now, let's study the effects of different time steps on the convergence:

dt = 1. #my_color = ['#003366','#663300','#660033','#330066'] my_color = ['red', 'green', 'blue', 'black'] for j in range(0,4): nsteps = int(tmax/dt) #the arrays will have different size for different time steps my_time = np.linspace(dt,tmax,nsteps) my_temp = np.zeros(nsteps) T = T0 for i in range(0,nsteps): T = euler(T, -r*(T-Ts), dt) my_temp[i] = T pyplot.plot(my_time, my_temp, color=my_color[j], ls='-', lw=3, label="dt="+str(dt)) dt = dt/2. pyplot.xlabel('time'); pyplot.ylabel('temperature'); pyplot.legend() pyplot.xlim(8,10) pyplot.ylim(48,58);
Image in a Jupyter notebook

Challenge 1.1

To properly study convergence, one possibility it so look at the result at a given time, for different time steps. Modify the previous program to print the temperature at t=10t=10 as a function of Δt\Delta t.