program error_sheet ! errors in cylindrical current sheets. implicit double precision (a-h,o-z) c common/parameters/XL,R1,R2 c u is tild angle; eta is position of center and rho radius external f1,f2,f3,f4,f5 open(unit=29,file='data_solenoid.dat',status='unknown', + form='formatted') XL=0.2 ! total length is 2*L=0.4 m R1=0.7 R2=R1+0.15 n_long_points=50 ds=60*XL/n_long_points n_radial_points=25 dr=R1/n_radial_points s=-30*XL r=0 psi=0.01 ! tilde angle (rad) d=0.1 ! translation along y-axis (cm) delta=0.01 ! rms power fluct.( 1%) c field at center of solenoid c b00=mu_o*I/(R2-R1)*Ln(R2+sqrt(R2**2+XL**2))-Ln(R1+sqrt(R1**2+XL**2)) c CHECK!! b00=log((R2+sqrt(R2**2+XL**2))/(R1+sqrt(R1**2+XL**2)))/(2*XL) do i=1,n_long_points do j=1,n_radial_points c1=f1(s,XL,R2)-f1(s,XL,R1)-(f1(s,-XL,R2)- + f1(s,-XL,R1)) c2=f2(s,XL,R2)-f2(s,XL,R1)-(f2(s,-XL,R2)- + f2(s,-XL,R1)) c3=f3(s,XL,R2)-f3(s,XL,R1)-(f3(s,-XL,R2)- + f3(s,-XL,R1)) c4=f4(s,XL,R2)-f4(s,XL,R1)-(f4(s,-XL,R2)- + f4(s,-XL,R1)) c5=f5(s,XL,R2)-f5(s,XL,R1)-(f5(s,-XL,R2)- + f5(s,-XL,R1)) c6=f6(s,XL,R2)-f6(s,XL,R1)-(f6(s,-XL,R2)- + f6(s,-XL,R1)) c7=f7(s,XL,R2)-f7(s,XL,R1)-(f7(s,-XL,R2)- + f7(s,-XL,R1)) c8=f8(s,XL,R2)-f8(s,XL,R1)-(f8(s,-XL,R2)- + f8(s,-XL,R1)) c c1 to c8 are the coefficients by=-psi*(c1-r**2/4.*c3+r**4/64.*c5-r**6/2304.*c7) by=by-2*s*psi*(0.5*c2-3/16.*r**2*c4+5/384.*r**4*c6- + -7./18432.*r**6*c8+psi*(0.5*r*c3-1./16.*r**3*c5- + 6./2304.*r**5*c7)) write(29,50)s,r,by r=r+dr end do s=s+ds end do write(6,*)'data_solenoid.dat contains:s, by bs,bty,bts,bp' 50 format(1x,3(g12.5,1x)) stop end c FUNCTIONS real*8 function f1(s,t,r) ! tilded solenoid implicit double precision (a-h,o-z) c u is tild angle; eta is position of center and rho radius f1=(r*(s - t))/Sqrt(r**2 + (s - t)**2) + - (s - t)**3/ - ((r + Sqrt(r**2 + (s - t)**2))*Sqrt(r**2 + (s - t)**2)) - + 2*(s - t)*Log(r + Sqrt(r**2 + (s - t)**2)) end c real*8 function f2(s,t,r) ! tilded solenoid implicit double precision (a-h,o-z) c u is tild angle; eta is position of center and rho radius f2= r/Sqrt(r**2 + (s - t)**2) - - (r*(s - t)**2)/(r**2 + (s - t)**2)**1.5 + - (5*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))*Sqrt(r**2 + (s - t)**2)) - - (s - t)**4/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**1.5) - - (s - t)**4/ - ((r + Sqrt(r**2 + (s - t)**2))**2*(r**2 + (s - t)**2)) - + 2*Log(r + Sqrt(r**2 + (s - t)**2)) end c real*8 function f3(s,t,r) ! tilded solenoid implicit double precision (a-h,o-z) c u is tild angle; eta is position of center and rho radius f3= (-3*r*(s - t))/(r**2 + (s - t)**2)**1.5 + - (12*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))*Sqrt(r**2 + (s - t)**2)) - + (3*r*(s - t)**3)/(r**2 + (s - t)**2)**2.5 - - (9*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**1.5) - - (9*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**2*(r**2 + (s - t)**2)) - + (3*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - (3*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - (2*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) end c real*8 function f4(s,t,r) ! translated solenoid implicit double precision (a-h,o-z) c u is translation distance; eta is position of center and rho radius f4= (-3*r)/(r**2 + (s - t)**2)**1.5 + - 12/((r + Sqrt(r**2 + (s - t)**2))* - Sqrt(r**2 + (s - t)**2)) + - (18*r*(s - t)**2)/(r**2 + (s - t)**2)**2.5 - - (39*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**1.5) - - (39*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**2*(r**2 + (s - t)**2)) - - (15*r*(s - t)**4)/(r**2 + (s - t)**2)**3.5 + - (42*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - (42*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - (28*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) - - (15*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**3.5) - - (15*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**3) - - (12*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**2.5) - - (6*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**2) end c real*8 function f5(s,t,r) ! rotated solenoid implicit double precision (a-h,o-z) c u is translation distance; eta is position of center and rho radius f5=(45*r*(s - t))/(r**2 + (s - t)**2)**2.5 - - (90*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**1.5) - - (90*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))**2*(r**2 + (s - t)**2)) - - (150*r*(s - t)**3)/(r**2 + (s - t)**2)**3.5 + - (285*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - (285*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - (190*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) + - (105*r*(s - t)**5)/(r**2 + (s - t)**2)**4.5 - - (300*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**3.5) - - (300*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**3) - - (240*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**2.5) - - (120*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**2) + - (105*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**4.5) + - (105*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**4) + - (90*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**3.5) + - (60*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**3) + - (24*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**2.5) end c real*8 function f6(s,t,r) ! rotation implicit double precision (a-h,o-z) c u angle.; eta is position of center and rho radius f6= (45*r)/(r**2 + (s - t)**2)**2.5 - - 90/((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**1.5) - - 90/((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)) - - (675*r*(s - t)**2)/(r**2 + (s - t)**2)**3.5 + - (1125*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - (1125*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - (750*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) + - (1575*r*(s - t)**4)/(r**2 + (s - t)**2)**4.5 - - (2925*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**3.5) - - (2925*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**3) - - (2340*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**2.5) - - (1170*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**2) - - (945*r*(s - t)**6)/(r**2 + (s - t)**2)**5.5 + - (2835*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**4.5) + - (2835*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**4) + - (2430*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**3.5) + - (1620*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**3) + - (648*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**2.5) - - (945*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**5.5) - - (945*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**5) - - (840*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**4.5) - - (630*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**4) - - (360*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**3.5) - - (120*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**3) end real*8 function f7(s,t,r) ! rotation implicit double precision (a-h,o-z) c u angle.; eta is position of center and rho radius f7= (-1575*r*(s - t))/(r**2 + (s - t)**2)**3.5 + - (2520*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - (2520*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - (1680*(s - t))/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) + - (11025*r*(s - t)**3)/(r**2 + (s - t)**2)**4.5 - - (17325*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**3.5) - - (17325*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**3) - - (13860*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**2.5) - - (6930*(s - t)**3)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**2) - - (19845*r*(s - t)**5)/(r**2 + (s - t)**2)**5.5 + - (37485*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**4.5) + - (37485*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**4) + - (32130*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**3.5) + - (21420*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**3) + - (8568*(s - t)**5)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**2.5) + - (10395*r*(s - t)**7)/(r**2 + (s - t)**2)**6.5 - - (33075*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**5.5) - - (33075*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**5) - - (29400*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**4.5) - - (22050*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**4) - - (12600*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**3.5) - - (4200*(s - t)**7)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**3) + - (10395*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**6.5) + - (10395*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**6) + - (9450*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**5.5) + - (7560*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**5) + - (5040*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**4.5) + - (2520*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**4) + - (720*(s - t)**9)/ - ((r + Sqrt(r**2 + (s - t)**2))**7* - (r**2 + (s - t)**2)**3.5) end real*8 function f8(s,t,r) ! rotation implicit double precision (a-h,o-z) c u angle.; eta is position of center and rho radius f8= (-1575*r)/(r**2 + (s - t)**2)**3.5 + - 2520/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**2.5) + - 2520/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**2) + - 1680/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**1.5) + - (44100*r*(s - t)**2)/(r**2 + (s - t)**2)**4.5 - - (64575*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**3.5) - - (64575*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**3) - - (51660*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**2.5) - - (25830*(s - t)**2)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**2) - - (198450*r*(s - t)**4)/(r**2 + (s - t)**2)**5.5 + - (308700*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**4.5) + - (308700*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**4) + - (264600*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**3.5) + - (176400*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**3) + - (70560*(s - t)**4)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**2.5) + - (291060*r*(s - t)**6)/(r**2 + (s - t)**2)**6.5 - - (568890*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**5.5) - - (568890*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**5) - - (505680*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**4.5) - - (379260*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**4) - - (216720*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**3.5) - - (72240*(s - t)**6)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**3) - - (135135*r*(s - t)**8)/(r**2 + (s - t)**2)**7.5 + - (457380*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**6.5) + - (457380*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**6) + - (415800*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**5.5) + - (332640*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**5) + - (221760*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**4.5) + - (110880*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**4) + - (31680*(s - t)**8)/ - ((r + Sqrt(r**2 + (s - t)**2))**7* - (r**2 + (s - t)**2)**3.5) - - (135135*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))* - (r**2 + (s - t)**2)**7.5) - - (135135*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**2* - (r**2 + (s - t)**2)**7) - - (124740*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**3* - (r**2 + (s - t)**2)**6.5) - - (103950*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**4* - (r**2 + (s - t)**2)**6) - - (75600*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**5* - (r**2 + (s - t)**2)**5.5) - - (45360*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**6* - (r**2 + (s - t)**2)**5) - - (20160*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**7* - (r**2 + (s - t)**2)**4.5) - - (5040*(s - t)**10)/ - ((r + Sqrt(r**2 + (s - t)**2))**8* - (r**2 + (s - t)**2)**4) end