Atomic Processes (xfig example)

From Remeis-Wiki
Jump to navigation Jump to search
Atomic Processes

Di-electronic recombination (KLL):

require("isisscripts");

define xfig_atomic_levels(xfig,xdim,ydim)
{
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.2);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.4);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.55);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.65);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.72);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.75);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.77);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.78);
   xfig.plot([0.28,0.9]*xdim,ydim*[1,1]*0.79);

   if(not qualifier_exists("nolabels"))
     {	
	xfig.xylabel(0.15*xdim,ydim*0.2,"K",0,0);
	xfig.xylabel(0.15*xdim,ydim*0.4,"L",0,0);
	xfig.xylabel(0.15*xdim,ydim*0.55,"M",0,0);
	xfig.xylabel(0.15*xdim,ydim*0.65,"N",0,0);
     }
}

variable pl = xfig_plot_new(4,6);

pl.world(0,1,0,1);
pl.axes(;off);

xfig_atomic_levels(pl,1,1);

pl.plot(0.46,0.2; sym="circle", fill =20);
pl.plot(0.72,0.2; sym="circle", fill =20);
pl.plot(0.41,0.4; sym="circle", fill =20);

pl.plot([0.1,0.33],[1,1]*0.9 ; forward_arrow,  arrow_thickness =2) ;
pl.plot(0.4,0.9; sym="circle", fill =20);


variable pl2 = xfig_plot_new(4,6);

pl2.world(0,1,0,1);
pl2.axes(;off);

xfig_atomic_levels(pl2,1,1);

pl2.plot(0.46,0.2; sym="circle", fill =20);
pl2.plot(0.72,0.2; sym="circle", color = "blue", fill =20);
pl2.plot(0.41,0.4; sym="circle", fill =20);

pl2.plot([0.72,0.72],[0.23,0.38] ; line=1, forward_arrow,  arrow_thickness =2, color="red") ;
pl2.plot([0.4,0.59],[0.9,0.41] ; line=1, forward_arrow,  arrow_thickness =2, color="green2") ;
pl2.plot(0.4,0.9; sym="circle", color = "blue", fill =20);

variable pl3 = xfig_plot_new(6,6);

pl3.world(0,1.5,0,1);
pl3.axes(;off);

xfig_atomic_levels(pl3,1,1);

pl3.plot(0.46,0.2; sym="circle", fill =20);
pl3.plot(0.41,0.4; sym="circle", fill =20);
pl3.plot(0.59,0.4; sym="circle", color = "blue", fill =20);
pl3.plot(0.77,0.4; sym="circle", color = "blue", fill =20);

pl3.plot(0.77,0.2; sym="circle", color="gray");
pl3.plot([0.77,0.77],[0.22,0.38] ; line=1, backward_arrow,  arrow_thickness =2, color="gray") ;

variable ph = xfig_new_photon( vector( -1.2,-0.9, 0)*2, .25, .6);
ph.set_pen_color("gray");
ph.set_fill_color("gray");
ph.set_thickness(2);
ph.scale(0.4);
pl3.add_object(ph,0.81,0.28,-0.5,-0.5);
pl3.xylabel(0.99,0.3,"$\small\gamma$"R,0,0; color="gray");

pl.xylabel(0.3,0,"\definecolor{green2}{rgb}{0,0.8,0} {\color{red}KL}{\color{green2}L} di-electronic resonance"R,-0.5,0);
pl.xylabel(0.3,-0.1,"$E_\mathrm{KL} = E_\mathrm{ion.\,pot}+E_\mathrm{kin}$"R,-0.5,0);

pl.add_object(pl2,1,0,-0.5,-0.5);
pl.add_object(pl3,2,0,-0.5,-0.5);

pl.render("dr.pdf");