gradoptics.distributions.atom_cloud
- class gradoptics.distributions.atom_cloud.AtomCloud(n=1000000, f=2, position=[0.31, 0.0, 0.0], w0=0.0005, h_bar=1.0545999999999999e-34, m=1.44e-25, x_a=0.0, y_a=0.0, z_a=0.0, t_final_bs=3.0, t_extra=0.1, port_bvz=0.15, k_fringe=16666.666666666668, a_quad=1e-12, phi=0.1, phi2=1.5707963267948966, proposal_distribution=<gradoptics.distributions.gaussian_distribution.GaussianDistribution object>)
Bases:
gradoptics.distributions.base_distribution.BaseDistribution
Atom cloud with a sine-wave density modulation fringe pattern. Form and defaults from studies for MAGIS experiment.
- __init__(n=1000000, f=2, position=[0.31, 0.0, 0.0], w0=0.0005, h_bar=1.0545999999999999e-34, m=1.44e-25, x_a=0.0, y_a=0.0, z_a=0.0, t_final_bs=3.0, t_extra=0.1, port_bvz=0.15, k_fringe=16666.666666666668, a_quad=1e-12, phi=0.1, phi2=1.5707963267948966, proposal_distribution=<gradoptics.distributions.gaussian_distribution.GaussianDistribution object>)
- Parameters
n – Number of atoms (
int
)position – Position of the center of the atom cloud [m] (
list
)phi – Phase of the sine-wave density modulation fringe pattern (
float
)w0 – Beam width [m]. Roughly standard deviation of the atom cloud. (
float
)h_bar – Planck’s constant, [kg * m^2 / s] (
float
)m – Strontium atom mass [kg] (
float
)x_a – Atom cloud center, x [m] (
float
)y_a – Atom cloud center, y [m] (
float
)z_a – Atom cloud center, z [m] (
float
)t_final_bs – Time until final beam splitter [s] (
float
)k_fringe – Spatial frequency of fringe [1 / m] (
float
)a_quad – Magnitude of quadratic term (
float
)proposal_distribution – Proposal distribution used in rejection sampling for sampling from the unnormalized cloud distribution. Following units, mean, std in [m] (
BaseDistribution
)
- marginal_cloud_density_x(x)
Returns the marginal pdf function along the x axis, evaluated at
x
Warning
The pdf is unnormalized
- Parameters
x – Value where the pdf should be evaluated , in meters (
torch.tensor
)- Returns
The marginal pdf function evaluated at
x
(torch.tensor
)
- marginal_cloud_density_y(y)
Returns the marginal pdf function along the y axis, evaluated at
y
Warning
The pdf is unnormalized
- Parameters
y – Value where the pdf should be evaluated , in meters (
torch.tensor
)- Returns
The marginal pdf function evaluated at
y
(torch.tensor
)
- marginal_cloud_density_z(z)
Returns the marginal pdf function along the z axis, evaluated at
z
Warning
The pdf is unnormalized
- Parameters
z – Value where the pdf should be evaluated , in meters (
torch.tensor
)- Returns
The marginal pdf function evaluated at
z
(torch.tensor
)
- pdf(x)
Returns the pdf function evaluated at
x
Warning
The pdf is unnormalized
- Parameters
x – Value where the pdf should be evaluated (
torch.tensor
)- Returns
The pdf function evaluated at
x
(torch.tensor
)
- sample(nb_points, device='cpu')
Samples from the distribution
- Parameters
nb_points – Number of points to sample (
int
)device – The desired device of returned tensor (
str
). Default is'cpu'
- Returns
Sampled points (
torch.tensor
)
- plot(ax, **kwargs)
Plots the center of the atom cloud on the provided axes.
- Parameters
ax – 3d axes (
mpl_toolkits.mplot3d.axes3d.Axes3D
)