gpe.disc#

Dynamics in flattened harmonic traps.

Classes#

StatePan

Effective 2D model for a pancake cloud implementing a modified form

Experiment

Base experiment class for pancake formulation.

Module Contents#

class StatePan(experiment, **kw)[source]#

Bases: piston.mixins.EvolveMixin, StateGPEdxy

Effective 2D model for a pancake cloud implementing a modified form of the dr-GPE with dynamic rescaling in the x direction but not in the y and z directions. The state here is \(\psi(x, t)\) but get_density() has been modified to include the correct scaling.

single_band = False[source]#
experiment[source]#
_time_independent_Vext = False[source]#
_Vext = [None, None][source]#
class Experiment(_local_dict=None, **kw)[source]#

Bases: gpe.utils.ExperimentBase

Base experiment class for pancake formulation.

State = None[source]#
t_unit = 63.50779925891489[source]#
t_name = 'ms'[source]#
t__image = 1[source]#
species[source]#
gs = None[source]#
cooling_phase = 1.0[source]#
x_TF = 15.0[source]#
mu = None[source]#
trapping_frequencies_Hz = (2.4, 2.4, 222.0)[source]#
basis_type = 'pan'[source]#
Nxy = [None, None][source]#
Lxy[source]#
dxy[source]#
V_p = 0[source]#
x_p0 = 0[source]#
y_p0 = 0[source]#
vx_p = 0[source]#
vy_p = 0[source]#
sigmax_p = 1.0[source]#
sigmay_p = 1.0[source]#
init()[source]#

Overload this to perform any initial computations.

get_Vtrap(state, xyz, expt=False)[source]#

Return the experimental trapping potential and various approximations (background potential, not including the time-dependent potential like the bucket).

get_Vext(state, fiducial=False, expt=False)[source]#

Return the external potential.

For t > state.t_final, all the potentials are set to zero.

Parameters:
  • state (IState) – Current state. Use this to get the time state.t and abscissa state.basis.xyz.

  • fiducial (bool) – If True, then return the potential that should be used to define the initial state in terms of the Thomas Fermi radius of the cloud x_TF.

  • expt (bool) – If True, then return the proper experimental potential rather than the potential used in the simulation.

See also

  • interface.IExperiment.get_Vext

get_Vt(state)[source]#

Optional time-dependent trapping potentials.

These potentials are not included in the fiducial state used to determine the initial conditions, however, if Vt is non-zero at time t=0, then this will be included in the initial state preparation.

See also

  • interface.IExperiment.get_Vext

property fiducial_V_TF[source]#

This may be slow to calculate, so we defer calculation until we really need it.

get_fiducial_V_TF(t_=0.0, Nx=2**12, Lx_factor=1.1)[source]#

Return the V_TF required to initialize the state.

If V_TF is None or not defined, then compute the V_TF that defines the state in terms of the Thomas-Fermi radius x_TF along the x axis using a Harmonic trapping potential with frequencies ws_expt as follows:

get_state(expt=False, initialize=True)[source]#

Quickly return an appropriate initial state.

get_initial_state(perturb=0.0, E_tol=1e-12, psi_tol=1e-12, disp=1, tries=20, cool_steps=100, cool_dt_t_scale=0.1, minimize=True, **kw)[source]#

Return an initial state with the specified population fractions.

This initial state is prepared in state[0] with the potentials as they are at time t=0, then the initial_imbalance is transferred as specified simulating an RF pulse by simply the appropriate fraction in each state. Phases are kept the same as in the state[0].