heinzen.xmds

Script source:
heinzen.xmds.gz

<?xml version="1.0"?>

<!-- Simulates superchemistry dynamics of coherently coupled -->
<!-- 3D atom-molecular BECs on a 1D lattice assuming radial symmetry. -->

<simulation>

  <name>heinzen</name>
  
  <author>Tim Vaughan</author>
  <description>
    Simulates superchemistry dynamics of coherently coupled
    3D atom-molecular BECs on a 1D lattice assuming radial symmetry.
  </description>

  <prop_dim>t</prop_dim>
  <error_check>yes</error_check>
  <stochastic>no</stochastic>

  <argv>
    <arg>
      <name>delta</name>
      <type>double</type>
      <default_value>-1.8e4</default_value>
    </arg>
  </argv>

  <globals>
    <![CDATA[
    const double hbar = 1.055e-34;
    const double m1 = 1.5e-25;
    const double m2 = 2.0*m1;

    //const double delta = -1.8e4; // (s^-1)
    //const double delta = -0.5e4; // (s^-1)
    const double chi = 1e-6;
    const double kappa11 = 5e-17;
    const double kappa12 = -5e-17;
    const double kappa21 = kappa12;
    const double kappa22 = 0.0;
    const double Gamma1 = 1e-20; // (m^3/s)
    const double Gamma2 = 250.0; // (s^-1)

    const double Nav = 1.5e6;
    const double peakdens = 1.2e20;

    const double g1 = sqrt(peakdens);
    const double w1 = pow(Nav/peakdens/pow(M_PI,1.5),1.0/3.0);

    const double trapfreq = 30; // Hz
    const double trap1 = 0.5*m1*M_PI*M_PI*trapfreq*trapfreq/hbar;
    const double trap2 = 0.5*m2*M_PI*M_PI*trapfreq*trapfreq/hbar;

    const double R = 50e-6; // (50um)

    const double AG = 0.0;
    const double PG = 0.0;
  ]]>
  </globals>

  <field>
    <name> main </name>
    <dimensions> r </dimensions>
    <lattice>    501   </lattice>
    <domains>  (-50e-6,50e-6) </domains>
    <samples> 1 1 </samples>
    <vector>
      <name> main </name>
      <type> complex </type>
      <components>phi1r phi2r</components>
      <fourier_space>no</fourier_space>
      <![CDATA[
        phi1r = complex(r*g1*exp(-r*r/(2.0*w1*w1)),0);
        phi2r = 0.0*i;
      ]]>
    </vector>
    <vector>
      <name> vc1 </name>
      <type> double </type>
      <components>damp</components>
      <fourier_space>no</fourier_space>
      <![CDATA[
        damp = AG*pow(sin(r/R*0.5*M_PI),PG);
      ]]>
    </vector>
  </field>

  <sequence>
    <integrate>
      <algorithm>RK4IP</algorithm>
      <interval>10e-3</interval>
      <lattice>10000</lattice>
      <samples>200 200</samples>

      <k_operators>
        <constant>yes</constant>
        <operator_names>L1 L2</operator_names>
        <![CDATA[
          L1 = -i*hbar/(2.0*m1)*(kr*kr);
          L2 = -i*hbar/(2.0*m2)*(kr*kr);
        ]]>
      </k_operators>

      <iterations>3</iterations>
      <vectors> main vc1 </vectors>
      <![CDATA[
        complex phi1 = phi1r/r;
        complex phi2 = phi2r/r;

        dphi1r_dt = L1[phi1r] - i*r*(trap1*r*r*phi1 + kappa11*conj(phi1)*phi1*phi1
                              + kappa12*conj(phi2)*phi2*phi1 + chi*conj(phi1)*phi2
                              - i*Gamma1*conj(phi1)*phi1*phi1);
        dphi2r_dt = L2[phi2r] - i*r*(trap2*r*r*phi2 - delta*phi2
                              + kappa22*conj(phi2)*phi2*phi2 + kappa21*conj(phi1)*phi1*phi2
                              + 0.5*chi*phi1*phi1 - i*Gamma2*phi2);
      ]]>
    </integrate>
  </sequence>

  <output>
    <group>
      <sampling>
        <fourier_space> no </fourier_space>
        <lattice> 501 </lattice>
        <moments>msphi1 msphi2</moments>
        <![CDATA[
          msphi1 = mod2(phi1r/r);
          msphi2 = mod2(phi2r/r);
        ]]>
      </sampling>
    </group>

    <group>
      <sampling>
        <fourier_space> no </fourier_space>
        <lattice> 0 </lattice>
        <moments>Na Nm Ntot</moments>
        <![CDATA[
          Na = 2.0*M_PI*mod2(phi1r);
          Nm = 2.0*M_PI*mod2(phi2r);
          Ntot = Na + 2.0*Nm;
        ]]>
      </sampling>
    </group>
  </output>
</simulation>

Generated by GNU enscript 1.6.3.



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