Ejemplo n.º 1
0
def test_lambdanu_to_Rz():

    #coordinate system:
    a = 3.
    g = 4.
    Delta = numpy.sqrt(g - a)
    ac = numpy.sqrt(a / g)

    #_____test float input (z=0)_____
    #coordinate transformation:
    l, n = 2., -4.
    R, z = bovy_coords.lambdanu_to_Rz(l, n, ac=ac, Delta=Delta)
    #true values:
    R_true = numpy.sqrt((l + a) * (n + a) / (a - g))
    z_true = numpy.sqrt((l + g) * (n + g) / (g - a))
    #test:
    assert numpy.fabs(
        R - R_true
    ) < 10.**-10., 'lambdanu_to_Rz conversion did not work as expected (R)'
    assert numpy.fabs(
        z - z_true
    ) < 10.**-10., 'lambdanu_to_Rz conversion did not work as expected (z)'

    #_____Also test for arrays_____
    #coordinate transformation:
    l = numpy.array([2., 10., 20., 0.])
    n = numpy.array([-4., -3., -3.5, -3.5])
    R, z = bovy_coords.lambdanu_to_Rz(l, n, ac=ac, Delta=Delta)
    #true values:
    R_true = numpy.sqrt((l + a) * (n + a) / (a - g))
    z_true = numpy.sqrt((l + g) * (n + g) / (g - a))
    #test:
    rel_diff = numpy.fabs((R - R_true) / R_true) < 10.**-8.
    abs_diff = (numpy.fabs(R - R_true) < 10.**-6.) * (numpy.fabs(R_true) < 10.
                                                      **-6.)
    assert numpy.all(
        rel_diff + abs_diff
    ), 'lambdanu_to_Rz conversion did not work as expected (R array)'

    rel_diff = numpy.fabs((z - z_true) / z_true) < 10.**-8.
    abs_diff = (numpy.fabs(z - z_true) < 10.**-6.) * (numpy.fabs(z_true) < 10.
                                                      **-6.)
    assert numpy.all(
        rel_diff + abs_diff
    ), 'lambdanu_to_Rz conversion did not work as expected (z array)'
    return None
Ejemplo n.º 2
0
def test_Rz_to_lambdanu_r2lt0():
    # Special case that leads to r2 just below zero
    #coordinate system:
    a = 3.
    g = 7.
    Delta = numpy.sqrt(g - a)
    ac = numpy.sqrt(a / g)

    #_____test float input (R=0)_____
    #true values:
    l, n = 2., -3. + 10.**-10.
    #coordinate transformation:
    lt, nt = bovy_coords.Rz_to_lambdanu(*bovy_coords.lambdanu_to_Rz(
        l, n, ac=ac, Delta=Delta),
                                        ac=ac,
                                        Delta=Delta)
    #test:
    assert numpy.fabs(
        lt -
        l) < 10.**-8., 'Rz_to_lambdanu conversion did not work as expected (l)'
    assert numpy.fabs(
        nt -
        n) < 10.**-8., 'Rz_to_lambdanu conversion did not work as expected (n)'

    #___Also test for arrays___
    l = numpy.array([2., 10., 20., 0.])
    n = numpy.array([-7., -3. + 10.**-10., -5., -5.])
    lt, nt = bovy_coords.Rz_to_lambdanu(*bovy_coords.lambdanu_to_Rz(
        l, n, ac=ac, Delta=Delta),
                                        ac=ac,
                                        Delta=Delta)
    assert numpy.all(
        numpy.fabs(lt - l) < 10.**-8.
    ), 'Rz_to_lambdanu conversion did not work as expected (l array)'
    assert numpy.all(
        numpy.fabs(nt - n) < 10.**-8.
    ), 'Rz_to_lambdanu conversion did not work as expected (n array)'
    return None
Ejemplo n.º 3
0
def test_Rz_to_lambdanu():
    #coordinate system:
    a = 3.
    g = 7.
    Delta = numpy.sqrt(g-a)
    ac = numpy.sqrt(a/g)

    #_____test float input (R=0)_____
    #true values:
    l, n = 2., -3.
    #coordinate transformation:
    lt,nt= bovy_coords.Rz_to_lambdanu(*bovy_coords.lambdanu_to_Rz(l,n,ac=ac,Delta=Delta),ac=ac,Delta=Delta)
    #test:
    assert numpy.fabs(lt-l) < 10.**-10., 'Rz_to_lambdanu conversion did not work as expected (l)'
    assert numpy.fabs(nt-n) < 10.**-10., 'Rz_to_lambdanu conversion did not work as expected (n)'

    #___Also test for arrays___
    l = numpy.array([2. ,10.,20. ,0.])
    n = numpy.array([-7.,-3.,-5.,-5.])
    lt,nt= bovy_coords.Rz_to_lambdanu(*bovy_coords.lambdanu_to_Rz(l,n,ac=ac,Delta=Delta),ac=ac,Delta=Delta)
    assert numpy.all(numpy.fabs(lt-l) < 10.**-10.), 'Rz_to_lambdanu conversion did not work as expected (l array)'
    assert numpy.all(numpy.fabs(nt-n) < 10.**-10.), 'Rz_to_lambdanu conversion did not work as expected (n array)'
    return None
Ejemplo n.º 4
0
def test_lambdanu_to_Rz():
    
    #coordinate system:
    a = 3.
    g = 4.
    Delta = numpy.sqrt(g-a)
    ac = numpy.sqrt(a/g)

    #_____test float input (z=0)_____
    #coordinate transformation:
    l, n = 2., -4.
    R,z= bovy_coords.lambdanu_to_Rz(l,n,ac=ac,Delta=Delta)
    #true values:
    R_true = numpy.sqrt((l+a)*(n+a)/(a-g))
    z_true = numpy.sqrt((l+g)*(n+g)/(g-a))
    #test:
    assert numpy.fabs(R-R_true) < 10.**-10., 'lambdanu_to_Rz conversion did not work as expected (R)'
    assert numpy.fabs(z-z_true) < 10.**-10., 'lambdanu_to_Rz conversion did not work as expected (z)'

    #_____Also test for arrays_____
    #coordinate transformation:
    l = numpy.array([2. ,10.,20. ,0.])
    n = numpy.array([-4.,-3.,-3.5,-3.5])
    R,z= bovy_coords.lambdanu_to_Rz(l,n,ac=ac,Delta=Delta)
    #true values:
    R_true = numpy.sqrt((l+a)*(n+a)/(a-g))
    z_true = numpy.sqrt((l+g)*(n+g)/(g-a))
    #test:
    rel_diff = numpy.fabs((R-R_true)/R_true) < 10.**-8. 
    abs_diff = (numpy.fabs(R-R_true) < 10.**-6.) * (numpy.fabs(R_true) < 10.**-6.)
    assert numpy.all(rel_diff+abs_diff), 'lambdanu_to_Rz conversion did not work as expected (R array)'

    rel_diff = numpy.fabs((z-z_true)/z_true) < 10.**-8. 
    abs_diff = (numpy.fabs(z-z_true) < 10.**-6.) * (numpy.fabs(z_true) < 10.**-6.)
    assert numpy.all(rel_diff+abs_diff), 'lambdanu_to_Rz conversion did not work as expected (z array)'
    return None