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.



Introduction | Examples | Downloads | Documentation | Archives | Script Repository | FAQ | News | Links | Contacts