gpe.ufg#
Extended Thomas Fermi model of the Unitary Fermi Gas.
Attributes#
Classes#
Dimer state. |
|
Class with method to evolve and plot. |
|
Class with method to evolve and plot. |
|
Class with method to evolve and plot. |
|
Experimental setup. |
Module Contents#
- class DimerStateMixinBase[source]#
Bases:
gpe.utils.GPUHelperDimer state.
This class represents a BEC of dimers.
- Note#
- Type:
Everything in the code, except for the functional, refers
- to the dimer properties. Thus m is the dimer mass, get_density()
- returns the dimer density, etc.
- get_V_GPU()[source]#
Return the complete potential V - internal and external.
This function defines the non-linear interaction of the equations.
- get_energy_density(energy=False)[source]#
Return the energy density.
- Parameters:
energy (bool) – If True, then set self.mu = None during the computation so that the actual energy is computed. Otherwise, if self.mu is provided, then this is actually the grand potential including the mu*N subtraction. (See get_Vext_GPU which subtracts self.mu if it is not None.)
function (In this energy density)
density (we calculate the energy)
First (for the dimers in two ways.)
equation (we do it from)
it (of state (please see the method edf below) and then do)
Both (from explicit analytical expression with _factors.)
Hence (gives the same result and it has been tested carefully.)
:param : :param we have two Vint expressions. We use the one from edf as it is: :param easier to keep track. Both expressions can be used interchangably.:
- get_energy(energy=False)[source]#
Return the energy of the state. Useful for minimization.
- Parameters:
energy (bool) – If True, then set self.mu = None during the computation so that the actual energy is computed. Otherwise, if self.mu is provided, then this is actually the grand potential including the mu*N subtraction. (See get_Vext_GPU which subtracts self.mu if it is not None.)
- get_current()[source]#
Calculating the probability current. Attributes: ———– _j : Probability current (shape = 3*N)
\(\frac{\hbar}{2*m*i} {\psi^* \nabla \psi - \psi \nabla \psi^*}\).
- get_omegas()[source]#
Returns irrotational and compressible effective velocity field. Tsubota 2017, https://arxiv.org/abs/1704.02566, Eq. 79, 80.
- get_Vext_GPU()[source]#
Return the external potential.
This delegates to the experiment get_VFext_GPU() and then includes an appropriate factor of 2 for the dimers.
- get_Vext_mu_GPU()[source]#
Return Vext with the chemical potential subtracted if initializing.
The chemical potential should be subtracted if initializing or minimizing to get the initial state. Minimization might be done with imaginary time evolution, which should be done with negative times.
Thus, we check for self.initializing, self.t < 0, and make sure that self.mu is valid.
- get_nF_TF(muF=None)[source]#
Invert the edf to get nF(muF). Returns Thomas-Fermi density of the dimers.
- Parameters:
muF (float) – Effective fermionic chemical potential. Usually muF_0 - V_F(x)
- class DimerStateMixin[source]#
Bases:
DimerStateMixinBaseClass with method to evolve and plot.
- class DimerStateCPU(experiment, **kw)[source]#
Bases:
DimerStateMixin,gpe.bec.StateBaseClass with method to evolve and plot.
- class DimerState(experiment, **kw)[source]#
Bases:
DimerStateMixin,gpu.bec.StateBase if gpu else gpe.bec.StateBaseClass with method to evolve and plot.
- class Experiment(_local_dict=None, **kw)[source]#
Bases:
gpe.utils.ExperimentBase,gpe.utils.GPUHelperExperimental setup.
- Everything here refers to fermions. External potentials
- are defined for fermions, etc.
- get_state(t_=0, minimize=False, initialize=False, _E_tol=1e-12, _psi_tol=1e-12)[source]#
Quickly return a valid State object.
- get_initial_state(psi0=None, _E_tol=1e-12, _psi_tol=1e-12, callback=None, **kw)[source]#
Return the valid t=0 state to initialize the simulations.