Dimensionless and Dimensionful Parameters
We here focus on the low-energy theory which has scattering that can be entirely described by the scattering length. This offers a simplification; to tune a whole effective range expansion we would need to provide one parameter per shape parameter; in the leading-order case it’s common to just quote the binding energy instead.
We group the parameters into those valid in the thermodynamic (infinite volume) limit. To get a set of finite-volume we can start with a set of thermodynamic parameters and, given one finite-volume parameter, can construct a whole specification for the finite-volume parameters.
Dimensionless Parameters
There are three independent dimensionless parameters that stay finite in the infinite-volume limit.
tdg.parameters.Thermodynamic
- class tdg.parameters.Thermodynamic(*, aspect_ratio=None, deBroglie_by_scattering_length=None, beta_binding_energy=None, beta_mu=None, log_z=None, z=None, beta_h=None, log_zh=None, zh=None, tolerance=1e-10)[source]
You may specify any combination of parameters as long as they give enough information. If you do not provide enough information, raises a ValueError.
In the parameters below, you must provide at least one of the first three, at least one of the second three, and at least one of the third three.
Because you can provide redundant information, consistency is enforced; two quantities that must match are checked for equality up to a specified tolerance. If any of these checks fail, raises a ValueError. No guarantee about which quantity ‘takes precedence’.
- Parameters
aspect_ratio (torch.tensor) – \(\tilde{\beta}/\tilde{a}^2 = 1/4\pi^2 M a^2 T\)
deBroglie_by_scattering_length (torch.tensor) – \(\lambda_{dB}/a = \sqrt{2\pi / Ma^2 T}\)
beta_binding_energy (torch.tensor) – \(\beta \epsilon_B = - 1/Ma^2 T\); since \(a>0\), must be negative.
beta_mu (torch.tensor) – \(\beta \mu = \tilde{\beta} \tilde{\mu}\)
log_z (torch.tensor) – \(\log z = \beta \mu\)
z (torch.tensor) – \(z = \exp \beta \mu\).
beta_h (torch.tensor) – \(\beta \vec{h} = \tilde{\beta} \vec{\tilde{h}}\)
log_zh (torch.tensor) – \(\vec{\log z_h} = \beta \vec{h}\)
zh (torch.tensor) – \(z_h = \exp \beta \vec{h}\) elementwise
tolerance (float) – Strictness of consistency when redundant information is provided.
- FiniteVolume(*, beta_tilde=None, a_tilde=None, mu_tilde=None, h_tilde=None, tolerance=1e-10)[source]
The point is that any of the “bare” tilded parameters require L and therefore in combination with the L-independent thermodynamic parameters totally fixes the finite-volume physics.
You can specify any single finite-volume parameter, or any combination, which will be checked for consistency up to the provided tolerance. If any consistency checks fail, raise a ValueError.
- Parameters
beta_tilde (torch.tensor) – The dimensionless temperature \(\tilde{\beta} = \beta / ML^2\).
a_tilde (torch.tensor) – The dimensionless scattering ratio \(\tilde{a} = 2\pi a / L\).
mu_tilde (torch.tensor) – The dimensionless chemical potential \(\tilde{\mu} = ML^2 \mu\).
h_tilde (torch.tensor) – The dimensionless external field \(\tilde{h} = ML^2 h\).
tolerance (float) – Strictness of consistency when redundant information is provided.
- Return type
To get a set of finite-volume parameters we need to provide one dimensionless quantity that knows about L.
tdg.parameters.FiniteVolume
- class tdg.parameters.FiniteVolume(beta_tilde, a_tilde, mu_tilde, h_tilde)[source]
Bases:
object- Parameters
beta_tilde (torch.tensor) – The dimensionless temperature \(\tilde{\beta} = \beta / ML^2\).
a_tilde (torch.tensor) – The dimensionless scattering ratio \(\tilde{a} = 2\pi a / L\).
mu_tilde (torch.tensor) – The dimensionless chemical potential \(\tilde{\mu} = ML^2 \mu\).
h_tilde (torch.tensor) – The dimensionless external field \(\tilde{h} = ML^2 h\).
- Thermodynamic
A
tdg.parameters.Thermodynamicobject which has thermodynamic parameters corresponding to these finite-volume parameters.
- Action(nt, lattice)[source]
Of course, this is the whole point! Given the finite-volume parameters and a specification of the discretization we have enough to construct a
Action.- Parameters
nt (int) – Number of time slices.
lattice (tdg.Lattice) – The spatial discretization.
- Return type
Actionconstructed from \(\tilde{\beta}\), \(\tilde{a}\), \(\tilde{\mu}\), and \(\tilde{h}\) and the provided discretization.
- scale_L(scale)[source]
We can scale L without needing to know what it is. If we want to send \(L \rightarrow \texttt{scale} L\) then we can replace
\[\begin{split}\begin{align} \tilde{\beta} &\rightarrow \tilde{\beta} / \texttt{scale}^2 \\ \tilde{a} &\rightarrow \tilde{a} / \texttt{scale} \\ \tilde{\mu} &\rightarrow \tilde{\mu} * \texttt{scale}^2 \\ \tilde{h} &\rightarrow \tilde{h} * \texttt{scale}^2 \end{align}\end{split}\]- Parameters
scale (torch.tensor) – How to scale L
- Return type
tdg.parameters.FiniteVolume with the rescaled parameters.
- scale_beta(scale)[source]
- Parameters
scale (torch.tensor) – How to scale \(\beta\)
- Return type
tdg.parameters.FiniteVolume with the rescaled parameters.
Dimensionful Parameters
Finally, laboratory experiments have “real units”, so to speak. A common choice of units is electronvolts, micrometrs, and nanokelvin, {eV, µm, nK}.
We provide a consistent set of units, converting everything to eV using \(1=c=\hbar=k_B\).
- tdg.units.eV = tensor(1.)
1 electronvolt [per \(c^2=1\)]
- tdg.units.μm = tensor(5.0677)
1 = ℏc = 0.1973269804593025 eV µm
- tdg.units.micrometers = tensor(5.0677)
Alias for
tdg.units.µm
- tdg.units.nK = tensor(8.6173e-14)
1 = \(k_B\) = 8.617333262145177e-14 eV / nK
- tdg.units.Mass = {'6Li': tensor(5.6031e+09)}
A dictionary of masses of select neutral atoms.
With these units in hand we can construct
- class tdg.parameters.Dimensionful(M, T, mu, a, h=tensor([0., 0., 0.]))[source]
All of the parameters must be one consistent system of units. For example, we could do
from tdg.units import eV, µm, nK, Mass Dimensionful(Mass["6Li"], 250*nK, -500*nK, 0.25*µm ).FiniteVolume(2*µm)
- Parameters
M (torch.tensor) – Dimensionful mass.
T (torch.tensor) – Dimensionful temperature.
mu (torch.tensor) – Dimensionful chemical potential.
a (torch.tensor) – Dimensionful scattering length.
h (torch.tensor) – Dimensionful external field.
- Thermodynamic()[source]
A
tdg.parameters.Thermodynamicbuilt from the dimensionful parameters.
- FiniteVolume(L)[source]
A
tdg.parameters.FiniteVolumebuilt from the dimensionful parameters and the dimensionful L (in the same system of units).