Previous topic

mmf.physics.potentials

This Page

mmf.physics.potentials.optical_traps

Units(*varargin, **kwargs) Unit conversions.
Model() This class represents a model for the thermodynamics.
Hulet(*varargin, **kwargs) Parameters for Rice trapping potential: cont-mat/0908455
nab(x, y, z, mua, mub[, trap, model]) Return the density at point (x,y,z) in specified trap with chemical potentials (mua,mub).
mup_eff(x, y, z[, trap]) Return the effective chemical potential mu_+ - lambda_+ due to
muab2mupm((mua, mub)) Return (mup,mum) from (mua,mub).
mupm2muab((mup, mum)) Return (mua,mub) from (mup,mum).

Inheritance diagram for mmf.physics.potentials.optical_traps:

Inheritance diagram of mmf.physics.potentials.optical_traps

Various Optical Traps.

class mmf.physics.potentials.optical_traps.Units(*varargin, **kwargs)[source]

Bases: mmf.objects.Container

Unit conversions.

Units(s=2042.03522483,
      m=439785.045897,
      kg=1.00116626934e+26,
      K=64112752.2488,
      amu=0.166247683713)
>>> u = Units()
>>> kB = 1.3806505e-23*u.m*u.m*u.kg/u.s/u.s/u.K
>>> kB
1.0
>>> hbar = 1.05457168e-34*u.m*u.m*u.kg/u.s
>>> hbar
1.0
>>> Li_m = 6.0151214*u.amu
>>> Li_m
1.0
>>> aosc = np.sqrt(hbar/Li_m/(2.*pi*325./u.s))
>>> aosc
1.0

Attributes

class mmf.physics.potentials.optical_traps.Model[source]

This class represents a model for the thermodynamics.

The compute() method must be called if the parameters are changed.

Methods

compute() Recomputes values for speed.
dh(y) The function dh(y) must also be provided.
h(y) The function h(y) must be provided.
nab(mua, mub) Return the density pair (na,nb) for given chemical potentials.
special_y() Return an array of special y’s where h(y) has a kink.

Calls compute()

Methods

compute() Recomputes values for speed.
dh(y) The function dh(y) must also be provided.
h(y) The function h(y) must be provided.
nab(mua, mub) Return the density pair (na,nb) for given chemical potentials.
special_y() Return an array of special y’s where h(y) has a kink.
compute()[source]

Recomputes values for speed.

dh(y)[source]

The function dh(y) must also be provided. If h(y) has any kinks, then one of the limiting values should be provided and the kink locations returned by special_y.

h(y)[source]

The function h(y) must be provided.

Here we provide a simple version interpolating between y0 and y1 linearly.

>>> m1 = Model()
>>> y = np.linspace(-1.0,1.0,100)
>>> h = np.vectorize(m1.h)(y)

>> p1 = plot(y,h) >>> yc = m1.special_y() >>> hc = np.vectorize(m1.h)(yc)

>> p2 = plot(yc,hc,’x’)

nab(mua, mub)[source]

Return the density pair (na,nb) for given chemical potentials.

param = Container(xi=0.42, y1=-0.05, units=Units(kB=2.155984046647159e-05), y0=-0.5)
special_y()[source]

Return an array of special y’s where h(y) has a kink.

class mmf.physics.potentials.optical_traps.Hulet(*varargin, **kwargs)[source]

Bases: mmf.objects.StateVars

Parameters for Rice trapping potential: cont-mat/0908455

Hulet()
>>> t = Hulet()
>>> t.U(0, 0)
0.0

Attributes

mmf.physics.potentials.optical_traps.nab(x, y, z, mua, mub, trap=None, model=None)[source]

Return the density at point (x,y,z) in specified trap with chemical potentials (mua,mub).

>>> import matplotlib.pyplot as plt

>> plt.clf() >>> mua = 12.0 >>> mub = 1.0 >>> z = np.linspace(0,500*UNITS.micron,100) >>> (na,nb) = np.vectorize(nab)(0,0,z,mua,mub)

>> p=plot(z,na,z,nb) >>> r = np.linspace(0,500*UNITS.micron,100) >>> (na,nb) = np.vectorize(nab)(0,r,0,mua,mub)

>> p=plot(r,na,r,nb) >> plt.show()

mmf.physics.potentials.optical_traps.mup_eff(x, y, z, trap=None)[source]

Return the effective chemical potential mu_+ - lambda_+ due to trap at position (x,y,z)

mmf.physics.potentials.optical_traps.muab2mupm((mua, mub))[source]

Return (mup,mum) from (mua,mub).

mmf.physics.potentials.optical_traps.mupm2muab((mup, mum))[source]

Return (mua,mub) from (mup,mum).