(* XeF2 computation; coordinates and radii from XeF2_F2.exe 03.01.2012 *)
(* Notice: toroidal charge is just volume equivalent to the replaced clouds, the 
interaction terms have not been adjusted -> just for the picture! *)
Clear[t,v,u,ur,a];

t={{0.00000,0.00000,0.00000,0.68261},
{0.00000,1.83463,0.00000,1.15202},
{0.00000,-0.91732,1.58884,1.15202},
{0.00000,-0.91732,-1.58884,1.15202},
{2.12258,0.00000,0.00000,1.43996},
{3.71405,0.00000,0.00000,0.15151},
{3.87725,-0.91781,0.00000,0.78069},
{3.87725,0.45890,-0.79484,0.78069},
{3.87725,0.45890,0.79484,0.78069},
{-2.12258,0.00000,0.00000,1.43996},
{-3.71405,0.00000,0.00000,0.15151},
{-3.87725,-0.91781,0.00000,0.78069},
{-3.87725,0.45890,-0.79484,0.78069},
{-3.87725,0.45890,0.79484,0.78069}};

x=Table[t[[i,1]],{i,1,14}];
y=Table[t[[i,2]],{i,1,14}];
z=Table[t[[i,3]],{i,1,14}];
r=Table[t[[i,4]],{i,1,14}];

v = N[Solve[3.1415926535*(0.6826139+u)*u^2 -2*r[[2]]^3 == 0, u]];
ur = u /. v[[3]] 
a = 0.6826139+ur

1.4906668103071476`
y[[2]] = a; y[[3]]=-a; r[[2]]=ur;
r[[3]] = ur;  r[[4]]=ur;z[[4]] = -a; z[[3]]=0.; z[[4]]=0.;

(* yz plane projection *)
plot1=Graphics[{Thickness[0.006],Circle[{y[[1]],z[[1]]},r[[1]]],
Circle[{y[[1]],z[[1]]},a+r[[2]]],Thickness[0.002],Circle[{y[[9]],z[[9]]},r[[9]]],Circle[{y[[3]],z[[3]]},0],Circle[{y[[10]],z[[10]]},r[[10]]],Circle[{y[[4]],z[[4]]},0],Circle[{y[[11]],z[[11]]},r[[11]]],Circle[{y[[5]],z[[5]]},r[[5]]],Circle[{y[[12]],z[[12]]},r[[12]]],Circle[{y[[6]],z[[6]]},r[[6]]],Circle[{y[[13]],z[[13]]},r[[13]]],Circle[{y[[7]],z[[7]]},r[[7]]],Circle[{y[[14]],z[[14]]},r[[14]]],Circle[{y[[8]],z[[8]]},r[[8]]]}]

Show[plot1,{AspectRatio -> Automatic,Axes -> True,GridLines -> Automatic, PlotRange -> {{-3,3},{-3,3}}, Frame -> True}]

(* xy plane *)
plot2=Graphics[{Circle[{x[[1]],y[[1]]},r[[1]]],
Circle[{x[[2]],y[[2]]},r[[2]]],Circle[{x[[9]],y[[9]]},r[[9]]],Circle[{x[[3]],y[[3]]},r[[3]]],Circle[{x[[10]],y[[10]]},r[[10]]],Circle[{x[[4]],y[[4]]},0],Circle[{x[[11]],y[[11]]},r[[11]]],Circle[{x[[5]],y[[5]]},r[[5]]],Circle[{x[[12]],y[[12]]},r[[12]]],Circle[{x[[6]],y[[6]]},r[[6]]],Circle[{x[[13]],y[[13]]},r[[13]]],Circle[{x[[7]],y[[7]]},r[[7]]],Circle[{x[[14]],y[[14]]},r[[14]]],Circle[{x[[8]],y[[8]]},r[[8]]], Disk[{x[[6]],0},0.08], Disk[{x[[11]],0},0.08], Disk[{0,0},0.08],{Thickness[0.006],Line[{{x[[11]],0},{x[[6]],0}}] } ,{Dashing[{0.01,0.01}],{Thickness[0.002],Line[{{-r[[2]],r[[2]]+r[[1]]},{-r[[2]],-r[[2]]-r[[1]]}}],Line[{{r[[2]],r[[2]]+r[[1]]},{r[[2]],-r[[2]]-r[[1]]}}] }}} ]

Show[plot2,{AspectRatio -> Automatic,Axes -> True,GridLines -> Automatic, PlotRange -> {{-5.5,5.5},{-3.0,3.5}}, Frame -> True}]

(* xz plane *)
plot3=Graphics[{Circle[{x[[1]],z[[1]]},r[[1]]],
Circle[{x[[2]],y[[2]]},r[[2]]],Circle[{x[[9]],z[[9]]},r[[9]]],Circle[{x[[3]],y[[3]]},r[[3]]],Circle[{x[[10]],z[[10]]},r[[10]]],Circle[{x[[4]],z[[4]]},0],Circle[{x[[11]],z[[11]]},r[[11]]],Circle[{x[[5]],z[[5]]},r[[5]]],Circle[{x[[12]],z[[12]]},r[[12]]],Circle[{x[[6]],z[[6]]},r[[6]]],Circle[{x[[13]],z[[13]]},r[[13]]],Circle[{x[[7]],z[[7]]},r[[7]]],Circle[{x[[14]],z[[14]]},r[[14]]],Circle[{x[[8]],z[[8]]},r[[8]]], Disk[{x[[6]],0},0.08], Disk[{x[[11]],0},0.08], Disk[{0,0},0.08],{Thickness[0.006],Line[{{x[[11]],0},{x[[6]],0}}] } ,{Dashing[{0.01,0.01}],{Thickness[0.002],Line[{{-r[[2]],r[[2]]+r[[1]]},{-r[[2]],-r[[2]]-r[[1]]}}],Line[{{r[[2]],r[[2]]+r[[1]]},{r[[2]],-r[[2]]-r[[1]]}}] }}}]
Show[plot3,{AspectRatio -> Automatic,Axes -> True,GridLines -> Automatic, PlotRange -> {{-5.5,5.5},{-3.0,3.0}}, Frame -> True}]