def valid(r):
     r_mag = vector.vector_mag(r)
     if (not force_fullsphere) and r[-1] < 0.0:
         return False
     if r_mag > R_drop:
         return False
     theta = np.abs(np.arccos(r[-1] / r_mag))
     if theta_max < theta < (np.pi - theta_max):
         return False
     return True
Beispiel #2
0
def spheres_sep(ar, aR, br, bR):
    """Return the separation distance between two spheres.

    Parameters
    ----------
    ar, br: array-like, shape (n,) in n dimensions
        Coordinates of the centres of the spheres `a` and `b`.
    aR, bR: float
        Radiuses of the spheres `a` and `b`.

    Returns
    -------
    d: float
        Separation distance.
        A negative value means the spheres intersect each other.
    """
    return vector.vector_mag(ar - br) - (aR + bR)
use_latex = save_flag
use_pgf = True

ejm_rcparams.set_pretty_plots(use_latex, use_pgf)

t_steady = 50.0
dr = 0.7
n_samples = 1e2
alg = 'mean'

# Zero
d_0 = dataset.get_dset(paths.direct_Drc_0_dset_path)
Rps_0 = np.linspace(0.0, d_0.R, n_samples)
t_0, r1_0, r2_0 = d_0.get_direct()
r_0 = np.array([vector.vector_mag(r1_0), vector.vector_mag(r2_0)]).T
ps_0, ps_0_err = unzip([scatlyse(t_0, r_0, Rp, t_steady) for Rp in Rps_0])
ps_0 = np.array(ps_0)
ps_0_err = np.array(ps_0_err)
R_peak_0 = d_0.get_R_peak(alg=alg, dr=dr)[0]

# 10
d_10 = dataset.get_dset(paths.direct_Drc_10_dset_path)
Rps_10 = np.linspace(0.0, d_10.R, n_samples)
t_10, r1_10, r2_10 = d_10.get_direct()
r_10 = np.array([vector.vector_mag(r1_10), vector.vector_mag(r2_10)]).T
ps_10, ps_10_err = unzip([scatlyse(t_10, r_10, Rp, t_steady) for Rp in Rps_10])
ps_10 = np.array(ps_10)
ps_10_err = np.array(ps_10_err)
R_peak_10 = d_10.get_R_peak(alg=alg, dr=dr)[0]
 def get_var(self):
     r_vars = [np.var(vector.vector_mag(xyz) / self.R, dtype=np.float64)
               for xyz in self.xyzs if len(xyz)]
     r_var, r_var_err = mean_and_err(r_vars)
     return r_var, r_var_err
 def get_mean(self):
     r_means = [np.mean(vector.vector_mag(xyz) / self.R)
                for xyz in self.xyzs if len(xyz)]
     r_mean, r_mean_err = mean_and_err(r_means)
     return r_mean, r_mean_err
use_latex = save_flag
use_pgf = True

ejm_rcparams.set_pretty_plots(use_latex, use_pgf)

t_steady = 50.0
dr = 0.7
n_samples = 1e2
alg = 'mean'

# Zero
d_0 = dataset.get_dset(paths.direct_Drc_0_dset_path)
Rps_0 = np.linspace(0.0, d_0.R, n_samples)
t_0, r1_0, r2_0 = d_0.get_direct()
r_0 = np.array([vector.vector_mag(r1_0), vector.vector_mag(r2_0)]).T
ps_0, ps_0_err = unzip([scatlyse(t_0, r_0, Rp, t_steady) for Rp in Rps_0])
ps_0 = np.array(ps_0)
ps_0_err = np.array(ps_0_err)
R_peak_0 = d_0.get_R_peak(alg=alg, dr=dr)[0]

# 10
d_10 = dataset.get_dset(paths.direct_Drc_10_dset_path)
Rps_10 = np.linspace(0.0, d_10.R, n_samples)
t_10, r1_10, r2_10 = d_10.get_direct()
r_10 = np.array([vector.vector_mag(r1_10), vector.vector_mag(r2_10)]).T
ps_10, ps_10_err = unzip([scatlyse(t_10, r_10, Rp, t_steady) for Rp in Rps_10])
ps_10 = np.array(ps_10)
ps_10_err = np.array(ps_10_err)
R_peak_10 = d_10.get_R_peak(alg=alg, dr=dr)[0]
Beispiel #7
0
 def r_w_mag(self):
     return vector.vector_mag(self.r_w)
Beispiel #8
0
 def dr_mag(self):
     return vector.vector_mag(self.dr)