|
atomlaser.xmds
Script source: atomlaser.xmds.gz
<?xml version="1.0"?>
<!--Atom laser simulation-->
<simulation>
<name>atomlaser</name>
<stochastic>no</stochastic>
<prop_dim>t</prop_dim>
<error_check>yes</error_check>
<globals>
<![CDATA[
/* physical constants */
const double omegax = 25;
const double g = 9.8;
const double kappamax = 1.0e2;
const double kick = -1.0e6;
const double hbar = 1.05500000000e-34;
const double M = 1.409539200000000e-25;
/* absorbing boundary constants */
const double dpow = 1;
const double absorbleft = 4.0e4/pow(2.,dpow);
const double absorbright = 4.0e4/pow(2.,dpow);
const double xleft = -7.0e-5;
const double widthl = 3.0e-5;
const double xright = 5.0e-5;
const double widthr = 3.0e-5;
/* numerical shift constant */
const double ko=-2.5e7;
]]>
</globals>
<field>
<name>main</name>
<dimensions> x </dimensions>
<lattice> 2048 </lattice>
<domains>(-1.0e-4,8.0e-5)</domains>
<samples>1</samples>
<vector>
<name>main</name>
<type>complex</type>
<components>phi</components>
<fourier_space> no </fourier_space>
<![CDATA[
const double realfn = pow(M*omegax/M_PI/hbar,1/4.0)*exp(-x*x*M*omegax/2/hbar);
phi = realfn*c_exp(rcomplex(0,(kick-ko)*x));
]]>
</vector>
<vector>
<name> vc1 </name>
<type>double</type>
<components>V damping</components>
<fourier_space> no </fourier_space>
<![CDATA[
V = M*g*x/hbar;
damping = x<xleft ? -absorbleft*pow(1-cos(M_PI*(xleft-x)/widthl),dpow)
: ( x>xright ? -absorbright*pow(1-cos(M_PI*(x-xright)/widthr),dpow): 0);
]]>
</vector>
</field>
<sequence>
<integrate>
<algorithm>RK4EX</algorithm>
<interval>5.0e-4</interval>
<lattice>1600</lattice>
<samples>4</samples>
<k_operators>
<constant>yes</constant>
<operator_names>KE</operator_names>
<![CDATA[
KE = rcomplex(0,-hbar/M/2*(kx+ko)*(kx+ko));
]]>
</k_operators>
<vectors> main vc1 </vectors>
<![CDATA[
dphi_dt = KE[phi] +(damping-i*V)*phi;
]]>
</integrate>
</sequence>
<output>
<group>
<sampling>
<fourier_space>no</fourier_space>
<lattice> 2048</lattice>
<moments>phir phii</moments>
<![CDATA[
phir = phi;
phii = -i*phi;
]]>
</sampling>
</group>
</output>
</simulation>
Generated by GNU enscript 1.6.3.
|